Apache NuttX vs Contiki-NG
Apache NuttX
nuttx.apache.orgContiki-NG
contiki-ng.orgSide by side
| Figure | Apache NuttX | Contiki-NG |
|---|---|---|
| Price from | Free | Free |
| Free plan | Yes | Yes |
| Free trial | — | — |
| Open source | Yes | — |
| Windows | Yes | Yes |
| macOS | Yes | Yes |
| Linux | Yes | Yes |
| API | Yes | — |
| Self-hosted | Yes | Yes |
| Plans published | 1 | 1 |
| Spec score · IoT Operating Systems | 9.0 (#1) | 8.1 (#4) |
| License | NuttX is distributed under the Apache License 2.0. | Unless otherwise specified, source code is distributed under the 3-clause BSD license. |
| Networking | Networking includes IPv4, IPv6, TCP/IP, UDP, ICMP, routing, sockets, DNS, 802.11, Bluetooth LE and 6LoWPAN facilities. | Its resource-efficient IPv6 stack includes TCP, UDP, DNS, RPL, CoAP, LWM2M, and WebSockets, with IEEE 802.15.4 and TSCH support beneath IPv6. |
| What it does | Apache NuttX is a free, open-source real-time operating system for deeply embedded devices. | Contiki-NG is an operating system for resource-constrained devices in the Internet of Things. |
Plans
In their own words
Apache NuttX
Apache NuttX is a real-time operating system for embedded systems, designed for a small footprint and standards-oriented development. It scales across 8-bit to 64-bit microcontroller environments and supports more than 15 CPU architectures, including ARM, RISC-V, x86, and Xtensa. The project lists support for more than 300 hardware boards and over 1,500 configuration templates for prototyping and production. NuttX uses POSIX and ANSI as its main standards, with POSIX serving as a development guideline rather than a licensed trademark claim. Optional filesystem support includes VFAT, ROMFS, littlefs, and NFS version 3 over UDP, and networking includes a BSD-compatible socket interface. It is free and open-source software, with separate release artifacts for the OS and integrated Apps. The configurable build system targets physical boards and devices as well as documented simulator targets. Its pseudo root filesystem can work without physical storage; mounting a true filesystem requires the relevant drivers and filesystem support. The project lists a main mailing list and Discord as community channels and is maintained by volunteers.
Contiki-NG
Contiki-NG is a free, open-source operating system for resource-constrained Internet of Things devices, designed for low-power communication and standard protocols. Its code footprint is on the order of 100 kB, and memory use can be configured as low as 10 kB. The IPv6 stack includes TCP, UDP, DNS, RPL, CoAP, LWM2M, and WebSockets, with IEEE 802.15.4 and TSCH support below IPv6. Documented modules include IPv6 multicast, OMA LWM2M, secure CoAP, 6TiSCH, and SNMP. Security documentation describes DTLS with Mbed TLS, pre-shared keys or certificates, and EDHOC key exchange. Link-layer security is supported for IEEE 802.15.4 TSCH; CSMA link-layer security is described as planned. Documented hardware includes TI, Nordic, Silicon Labs, OpenMote, Tmote Sky/TelosB, and Zolertia boards. Development resources include Cooja native motes, a Renode tutorial, Docker, and native Linux and macOS toolchain setup. It is available for Linux, macOS, Windows, and self-hosted environments, and source code is distributed under the 3-clause BSD license unless otherwise specified.