Repolode
apache

apache/nuttx

A POSIX-compliant real-time operating system (RTOS) for embedded devices, scaling from 8-bit to 64-bit microcontrollers.

Stars
4,104
Forks
1,752
Open issues
763
Last commit
5 hours ago

What is it?

Apache NuttX is a real-time operating system built for embedded and microcontroller hardware. Its primary design goals are standards compliance and a small footprint, with POSIX and ANSI C as the governing standards. Where those standards do not cover a needed function, or where a feature is unsuitable for deeply embedded systems (such as fork()), it adopts APIs from Unix and other common RTOSs such as VxWorks.

The project targets a wide range of hardware, from 8-bit to 64-bit microcontrollers. Developers who lack a physical board can build and run NuttX on a terminal through its built-in simulator, which is also the suggested way for new contributors to verify their development setup.

The project provides a Getting Started guide, documentation covering supported platforms, and contribution guidelines covering Git workflow and coding standards. It is licensed under Apache 2.0 or a compatible license.

Key features

  • 01POSIX and ANSI standards compliance with selected Unix and VxWorks APIs
  • 02Scalable from 8-bit to 64-bit microcontrollers
  • 03Small footprint suited to deeply embedded systems
  • 04Built-in simulator for running without physical hardware
  • 05Wide range of supported boards and platforms

Use cases

  • Building real-time firmware for microcontroller-based devices
  • Porting POSIX-style application code to embedded hardware
  • Testing and developing NuttX features on a host machine using the simulator

Quick start

  1. 1

    Read the Getting Started guide

  2. 2

    Build the NuttX simulator locally to run it on a terminal without a board

Things to know

  • Targets embedded microcontrollers, so most practical use requires specific hardware boards.

In collections

Topics

FAQ

What is nuttx?
A POSIX-compliant real-time operating system (RTOS) for embedded devices, scaling from 8-bit to 64-bit microcontrollers. Apache NuttX is a real-time operating system built for embedded and microcontroller hardware. Its primary design goals are standards compliance and a small footprint, with POSIX and ANSI C as the governing standards. Where those standards do not cover a needed function, or where a feature is unsuitable for deeply embedded systems (such as fork()), it adopts APIs from Unix and other common RTOSs such as VxWorks.
Is nuttx free to use? What license does it have?
nuttx is open source under the Apache-2.0 license. Check the license terms before using it in commercial products.
Is nuttx still maintained?
Actively maintained. The last commit to nuttx was on Nov 7, 2026.
What can I use nuttx for?
Building real-time firmware for microcontroller-based devices Porting POSIX-style application code to embedded hardware Testing and developing NuttX features on a host machine using the simulator
How do I install nuttx?
Read the Getting Started guide Build the NuttX simulator locally to run it on a terminal without a board
Where can I get nuttx?
The source code and installation instructions are on GitHub: https://github.com/apache/nuttx

Summary generated by AI from the project's README. GitHub stats refresh daily.

Related projects