A scalable real-time operating system (RTOS) for resource-constrained microcontrollers and IoT devices across many CPU architectures.
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
Read the Getting Started guide
- 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
Open-source cross-platform USB Host and Device stack for embedded systems, designed for memory and thread safety across 50+ MCU families.
An open source real-time operating system (RTOS) for IoT and embedded devices, from microcontrollers up to richer application processors.
A GitHub Action and Python CLI that tracks flash and RAM footprint of embedded firmware from ELF files and comments memory diffs on pull requests.
A lean Python 3 implementation that runs on microcontrollers and other resource-constrained devices, with hardware access modules.
Official development framework from Espressif for building firmware on ESP32 and other Espressif SoCs, on Windows, Linux and macOS.