NuttX is a real-time operating system (RTOS) with an emphasis on standards compliance and small footprint. Scalable from 8-bit to 32-bit microcontroller environments, the primary governing standards in NuttX are Posix and ANSI standards.


  • Standards Compliant.
  • Core Task Management.
  • Modular, micro-kernel.
  • Fully pre-emptible.
  • Naturally scalable.
  • Highly configurable.
  • Easily extensible to new processor architectures, SoC architecture, or board architectures. See Porting Guide.
  • FIFO and round-robin scheduling.
  • Realtime, deterministic, with support for priority inheritance.
  • POSIX/ANSI-like task controls, named message queues, counting semaphores, clocks/timers, signals, pthreads, environment variables, filesystem.
  • VxWorks-like task management and watchdog timers.
  • BSD socket interface.
  • Extensions to manage pre-emption.
  • Optional tasks with address environments (Processes).
  • Inheritable


Source code:

License: BSD

NuttX Demo Projects


PX4 is an independent, open-source, open-hardware project aiming at providing a high-end autopilot to the academic, hobby and industrial communities (BSD licensed) at low costs and high availability.

HOWTO: Installing NuttX on the STM32F4 Discovery board (using Debian Linux)

Installed the NuttX RTOS on a new STM32F4 Discovery board.

Running NuttX on a less than U$2.00 board

Running NuttX on a STM32 Minimum System Development Board.

CC3200 development on Linux with NuttX

This article shows how to compile and install NuttX real-time OS to CC3200 launchpad using Fedora (24) Linux.

NuttX Rating

Rate this RTOS ( 25 votes )

NuttX Platforms

  • ARM
  • ARM Cortex-A5
  • ARM Cortex-M3
  • ARM Cortex-M4
  • ARM7
  • ARM9
  • AVR
  • AVR32
  • 8051
  • PIC32
  • x86

NuttX Resources