Logo
Sign in

Apache NuttX is a real-time embedded operating system focused on standards compliance and a small footprint. It supports scalable development from 8-bit to 64-bit microcontrollers, offering rich POSIX interfaces, real-time scheduling, and modular configuration for deeply embedded systems.

Vendor

Vendor

The Apache Software Foundation

Company Website

Company Website

menuconfig-debug.png
NuttX_Logo.png
Product details

Apache NuttX

Apache NuttX is a real-time embedded operating system (RTOS) designed for deeply embedded environments. It emphasizes standards compliancescalability, and a small footprint, making it suitable for a wide range of microcontroller architectures from 8-bit to 64-bit. NuttX is governed primarily by POSIX and ANSI standards, with additional APIs from Unix and other RTOSs to enhance functionality.

Features

  • Strict POSIX Compliance: Ensures compatibility with standard OS interfaces.
  • Scalable Architecture: Supports 8-bit to 64-bit microcontrollers.
  • Modular Design: Highly configurable with many tiny source files and static libraries.
  • Real-Time Scheduling: Fully pre-emptible with fixed priority, round-robin, and sporadic scheduling.
  • Tickless Operation: Efficient power management and timing.
  • Memory Configurations: Flat embedded, protected MPU, and kernel MMU builds.
  • File System Support: Includes FAT, NFS, NXFFS, SMART, SPIFFS, LittleFS, ROMFS, TMPFS, and more.
  • Device Drivers: Extensive support for character/block devices, USB, CAN, I2C, SPI, ADC/DAC, PWM, and more.
  • Graphics Subsystem: Framebuffer, LCD, OLED, VNC server, NX graphics library, and NXWidgets.
  • Networking: IPv4/IPv6, TCP/IP, UDP, ICMP, DHCP, FTP, HTTP, Telnet, NTP, and more.
  • USB Host/Device Support: Includes mass storage, serial, HID, networking, DFU, and composite devices.
  • Audio Subsystem: CODECs, input/output drivers, and media players.
  • Cryptographic Subsystem: Secure data handling and communication.
  • Power Management: Integrated subsystem for energy-efficient operation.
  • Shell Environment: NuttShell (NSH) – a bash-like shell with rich features.

Capabilities

  • Multi-threaded Development: Rich POSIX interface for concurrent programming.
  • Embedded Linux-like Environment: Offers familiar development experience with reduced footprint.
  • Dynamic Module Loading: Supports ELF and NXFLAT formats.
  • Customizable Build System: CMake and Make support for flexible compilation.
  • Simulation and Debugging Tools: QEMU, GDB, gdbserver, and hardware debugging support.
  • Cross-Platform Support: Compatible with ARM, AVR, MIPS, RISC-V, x86, Xtensa, and more.
  • Secure Execution: Protected and kernel builds with system call interfaces.
  • Advanced Networking: Includes routing, DNS, socket layers, and embedded web servers.
  • Graphics and UI: Windowing system, font management, and GUI widgets.
  • Machine Learning and Industrial Applications: Libraries and utilities for specialized domains.

Benefits

  • Portability: Easy migration from other POSIX-compliant systems like Linux.
  • Efficiency: Optimized for low-resource environments without sacrificing functionality.
  • Flexibility: Modular and configurable to suit diverse hardware and application needs.
  • Community and Documentation: Active development, extensive documentation, and annual workshops.
  • Open Source Licensing: Apache License 2.0 ensures freedom and flexibility for commercial and academic use.
  • Developer-Friendly: Integrated toolchains and debugging support streamline development.