The Apache Software Foundation announced Apache NuttX 12.0 for embedded microcontroller applications
Wilmington, United States – The Apache Software Foundation (ASF), an all-volunteer developers, stewards, and incubators of more than 350 open source projects and initiatives, has announced Apache NuttX 12.0, the release of the real-time operating system (RTOS) for embedded microcontroller applications. NuttX is used in appliances, wearables, satellites, drones, connectivity, rapid prototyping, industrial IoT, and much more, with support for numerous microcontroller architectures from 8-bit to 64-bit.
“NuttX is available on many microcontrollers and the community is engaging and helpful, which makes the RTOS a good choice for education and business,” says Alin Jerpelea, vice president of Apache NuttX.
The first release following its recent graduation to ASF top-level project, Apache NuttX 12.0 adds support for twelve new boards. Among these is the PINE64 PinePhone. “PinePhone is the ARM 64 platform for NuttX and a major milestone accomplishment,” says TL Lim, founder of PINE64. “We are excited to see NuttX as an education tool for learning the internals of smartphones.”
The twelve newly supported boards are:
- Espressif ESP32-LyraT – an audio and smart speaker application board
- Espressif LilyGO T-Beam – a LoRa and GPS application board
- Espressif ESP32-C3-DevKit-RUST-1 – a 6DoF IMU, temperature, and humidity sensing board
- Espressif ESP32-S2-Kaluga-1 – a board for human-computer interaction prototyping
- ESP32-SPARROW-KIT – a customised variant of ESP32-WROVERKIT for university coursework
- GigaDevice GD32F450ZK-EVAL board – a connectivity and general purpose I/O (GPIO) board
- Nordic nRF5340 audio development kit – a Bluetooth LE audio application board
- Flipper zero – a hardware exploration and development kit
- Raspberry Pi Pico W – an IoT platform with single-band 2.4GHz wireless 802.11n
- PINE64 PinePhone – an open source smartphone with 64-bit ARM Cortex-A53
- TI Tiva EK-TM4C129EXL crypto connected LaunchPad – a connectivity and GPIO board
- Zhuhai Orbita S698pm Dkit – an aerospace and industrial board with Sparc and SpaceWire
NuttX overview
- Small footprint. Usable in all but the tightest micro-controller environments, the focus is on tiny-to-small, deeply embedded systems.
- Portable and highly scalable. Runs on hundreds of 8-bit, 16-bit, 32-bit, and 64-bit microcontrollers (MCUs) and systems on chip (SoCs) including ARM, ARM64, AVR, CEVA, HC, MIPS, Misoc, OpenRISC, Renesas, RISC-V, SPARC, x86, x86-64, Xtensa, Z16, and Z80. Supports 266 boards and can be easily ported to new ones.
- Standards adoption. The primary governing standards are POSIX and ANSI standards. Additional standard APIs from Unix and other common RTOSes are adopted for functionality not available under these standards. Thanks to standard OS interfaces, software developed for other operating systems (such as Linux) should port easily to NuttX.
- Highly configurable. Employs the Kconfig system used with prominent projects such as the Linux kernel, Buildroot, Das U-Boot, and BusyBox.
- Real-time. Fully preemptible; fixed priority, round-robin, and “sporadic” scheduling. Supports zero-latency interrupts on selected architectures.
- Multiple toolchains. Compatible with GCC, Clang, SDCC, ZiLOG ZDS-II (c89), and IAR. Apache NuttX can be developed on Linux, FreeBSD, Windows (MSYS, Cygwin, WSL, or native), macOS, and Solaris.
- Totally open. Non-restrictive Apache license.
“Apache NuttX is more than code, it’s a community,” says Nathan Hartman, project manager and committer, Apache NuttX. “As an open source and global community-driven effort, we thrive on participation from enthusiastic users, from hobbyists to large corporations worldwide, and we welcome their involvement in the future of NuttX.”
Comment on this article below or via Twitter @IoTGN