Ameba NuttX Solutions

Ameba NuttX Solution
Ameba NuttX Solutions

NuttX Real-Time Operating System

NuttX is an open-source, scalable real-time operating system (RTOS) designed for microcontrollers and other resource-constrained environments. Governed by the Apache Software Foundation and licensed under the Apache License 2.0, NuttX provides a standards-compliant, POSIX-like operating environment that enables code portability and simplifies application development.

Realtek Ameba series chips and development boards are officially supported in the NuttX mainline. Developers can leverage the rich NuttX ecosystem — including drivers, file systems, networking stacks, and shell utilities — to build robust IoT applications on Ameba hardware with maximum portability and minimal porting effort.

Standards-Compliant POSIX Interface

NuttX implements a broad subset of POSIX and ANSI standards. Applications written to standard POSIX APIs can be compiled and run on NuttX with little or no modification, making it easy to port existing embedded software and share code across platforms.

Highly Scalable & Configurable

NuttX uses a Kconfig-based configuration system similar to Linux. Its highly modular architecture lets you include only the subsystems and drivers you need, resulting in lean firmware footprints suitable for microcontrollers with limited Flash and RAM.

Apache Software Foundation Governance

Hosted by the Apache Software Foundation, NuttX benefits from structured open-source governance, long-term community support, and transparent development processes. Realtek actively contributes board support packages (BSPs) upstream to the NuttX mainline repository.

Rich Peripheral & Networking Support

NuttX provides a comprehensive set of device drivers and networking capabilities, including GPIO, UART, SPI, I2C, ADC, PWM, USB, and TCP/IP networking stacks. Combined with Ameba's built-in Wi-Fi and Bluetooth connectivity, developers can build fully connected IoT products efficiently.

Architecture & Integration

Through a standardized layered architecture, NuttX decouples upper-layer applications from the underlying hardware. The Ameba team continues to deepen its investment in the NuttX project and has merged complete board support packages (BSPs) for RTL8721Dx, RTL8720F, and RTL8721F into the Apache NuttX mainline repository, covering peripheral drivers such as GPIO, UART, I2C, SPI, PWM, ADC, RTC, Watchdog, and Timer, with end-to-end Wi-Fi connectivity verified on hardware. We will steadily advance the adaptation roadmap to ultimately achieve full NuttX coverage across the entire Ameba product line.

Beyond the low-level peripherals, the Ameba platform fully integrates higher-level system capabilities: a littlefs persistent file system on the on-board SPI NOR Flash (MTD), a TCP/IP networking stack with Wi-Fi connectivity, and the NSH interactive shell — enabling developers to build robust IoT applications out of the box. In addition, thanks to the rich NuttX mainline ecosystem, mature components such as the LVGL graphics library and the mbedTLS security library can be readily ported and integrated, providing a solid foundation for continuous feature expansion so developers can focus on their core business logic.

Ameba NuttX Software Architecture

Feature Support

Peripheral / Subsystem RTL8721Dx RTL8720F RTL8721F
General Purpose I/O (GPIO) ✅ ✅ ✅
UART ✅ ✅ ✅
I2C ✅ ✅ ✅
SPI ✅ ✅ ✅
PWM ✅ ✅ ✅
ADC ✅ ✅ ✅
Real-Time Clock (RTC) ✅ ✅ ✅
Watchdog ✅ ✅ ✅
Timer ✅ ✅ ✅
Wi-Fi ✅ ✅ ✅
TCP/IP Networking Stack ✅ ✅ ✅
Flash Storage (SPI NOR / MTD) ✅ ✅ ✅
File System (littlefs) ✅ ✅ ✅
NSH Interactive Shell ✅ ✅ ✅
Audio (I2S) WIP WIP WIP
USB WIP N/A WIP
Bluetooth WIP WIP WIP
SD Card WIP N/A WIP
Hardware Crypto WIP WIP WIP
Ethernet N/A N/A WIP

Legend:

  • ✅: Merged into the Apache NuttX mainline repository and verified on hardware
  • WIP: In development or planned; not yet officially supported
  • N/A: Not applicable to this platform

Development Resources

IconResource NameView
NuttX GitHub Repository (Apache) View
NuttX Official Documentation View
RTL8720F NuttX Board Documentation View
RTL8721Dx NuttX Board Documentation View
RTL8721F NuttX Board Documentation View
Contact Us View