NXDART: Distributed Automated Build and Runtime Test Environment for Apache NuttX RTOS

Here goes  my latest technical publication from the world of embedded systems and electronics, authored by Tomasz Cedro (1,2,5,6), Gregory Nutt (1), Lup Yuen Lee (1), Grzegorz Południewski (2,6), Szymon Wilk (2,4), and Wojciech Glinkowski (2,3), from the (1) Apache NuttX RTOS; (2) Polish Telemedicine and e-Health Society; (3) Warsaw Medical University, Poland; (4) Poznan University of Technology, Poland; (5) CeDeROM, Poland, (6) IQCREDO, Poland.

Paper was published in the International Journal of Electronics and Telecommunications Vol. 72 No. 3 (2026) and is available online in open-access at IJET [1] and NuttX [2] websites.

Abstract

This paper presents the concept and initial implementation of a distributed automated build and runtime test environment for NuttX, called NXDART. NuttX is Apache 2.0 licensed Free and Open-Source (FOSS) Real-Time Operating System (RTOS), created by Gregory Nutt and released to the public in 2007, with strong focus on portability, small footprint, scalability, and compatibility with POSIX, ANSI, and other stan dards commonly used by Unix and other RTOSes (e.g. VxWorks).

NuttX community consists of volunteering hobbyists, academia, and small/medium/large enterprise professionals from around the world. NuttX supports over 15 different 8..64-bit CPU architectures (RISC-V, ARM, ARM64, AVR, CEVA, HC, MIPS, Misoc, OpenRISC, Renesas, SPARC, TriCore, x86, AMD64, Xtensa, Z16, Z80, FPGA) on over 340 unique hardware boards with over 1600 example target firmware configurations. Project development intensity is measured in thousands of files changed every month with hundreds thousands of code lines modifications.

In order to assure self-compatibility and long term maintenance for supported platform all new source code contributions are always processed manually by independent reviewers and automated Continuous Integration (CI) software tools. Unfortunately, not all breaking changes can be detected that way. Code may build for various architectures and even run correctly on emulators but it may still not work as expected on real world hardware. Therefore, comprehensive runtime tests are required.

Hardware testing of hundreds of different devices in one place turned out impossible for our free and community driven project. To address this problem we have invented distributed hardware-in-the-loop (HIL) test environment that is easy to set up and maintain as it reuses hardware components already owned by hundreds of users around the world. This approach assures maximum coverage of possible boards and build environments, independence and uninterrupted redundant availability of build and runtime test automation, with feedback logs reporting directly to the project upstream, at virtually zero cost.

[1] https://ijet.pl/index.php/ijet/article/view/10.24425-ijet.2026.157953
[2] https://nuttx.apache.org/articles

i-Tec U3CHARGEHUB16 USB Hub Plate Holder

CeDeROM’s [1] wall mount for 16 port USB 3.0 HUB from i-Tec model name U3CHARGEHUB16 [2]. Created for NuttX RTOS [3] distributed build and runtime test farm in order to connect various electronic boards and devel-kits to a single build host. Electronic devices are mounted on a wall board where bread-boards are mounted so I also needed to mount the USB HUB somehow :-)

Design is symmetrical so it fits both sides of the device, can be printed in horizontal and vertical alignment (support recommended), can be easily cloned on the plate to have many prints on a single plate. Use horizontal alignment for increased strength (ABS profile provided). Use M3x20 screws :-)

FreeCAD design file and output models are available at CeDeROM-STUFF.git [4][5] and MakerWorld [6]. I hope you find it useful too, have fun! :-)

[1] https://www.cederom.io
[2] https://i-tec.pro/en-us/produkt/u3chargehub16-9
[3] https://nuttx.apache.org
[4] https://gitlab.com/cederom/cederom-stuff/-/tree/master/3D/models/electronics/usb-hub-itec-u3chargehub16
[5] https://github.com/cederom/CeDeROM-STUFF/tree/master/3D/models/electronics/usb-hub-itec-u3chargehub16
[6] https://makerworld.com/en/models/815133-i-tec-u3chargehub16-usb-hub-plate-holder