Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Supported Boards

Procurement-grade compatibility matrix, in two parts.

Board packages nano-ros ships come first. Those rows are generated from the board support registry, so each status there is derived from evidence (where the board runs, how often, and when it last did) and links to the board’s evidence page. Board Support Levels explains each status word.

Board packageStatusRuns onEvidence
nros-board-linux (Linux)Verified on host (merge)host executableevidence page
nros-board-zephyr (ZephyrNativeSim)Verified on host (merge)host executableevidence page
nros-board-mps3-an536-freertosBuildsqemu:mps3-an536 (twin)evidence page
nros-board-mps2-an385-freertos (FreertosMps2)Verified in emulator (daily)qemu:mps2-an385evidence page
nros-board-s32z270-freertosBuildss32z270 (target)evidence page
nros-board-nuttx-qemu (NuttxArm)Verified in emulator (daily)qemu:virt-armv7aevidence page
nros-board-threadx-linux (ThreadxLinux)Verified on host (merge)host executableevidence page
nros-board-freertos-posix (FreertosPosix)Verified on host (daily)host executableevidence page
nros-board-threadx-qemu-riscv64 (ThreadxRiscv64)Verified in emulator (daily)qemu:rv-virtevidence page
nros-board-mps2-an385 (QemuBaremetal)Verified in emulator (daily)qemu:mps2-an385evidence page
nros-board-mps2-an385-zephyr (ZephyrQemuCortexM)Verified in emulator (daily)qemu:mps2-an385evidence page
nros-board-nuttx-qemu (NuttxRiscv)Verified in emulator (daily)qemu:rv-virtevidence page
nros-board-zephyr (Fvp)Boots, manual (2026-09-06); reads Builds from 2027-01-05fvp:FVP_BaseR_AEMv8Revidence page
s32k344-safety-islandBoots on hardware, manual (2026-10-26); reads Builds from 2027-02-24mr-canhubk344evidence page
nros-board-nucleo-f767zi-zephyr (ZephyrNucleoF767zi)Boots, manual (2026-11-01); reads Builds from 2027-03-02renode:nucleo_f767zi, nucleo-f767zi (target)evidence page
nros-board-rpi-pico-w-zephyrBoots, manual (2026-11-01); reads Builds from 2027-03-02wokwi:pi-pico-w, rpi-pico-w (target)evidence page

Other boards and how you would approach them

The parts below have no board package in nano-ros, so the registry says nothing about them and this page claims no status for them. Each row names the path you would take to bring nano-ros up on it.

VendorBoardMCU / SoCArchRTOS to start fromHow to approach it
STMicroSTM32F4-DiscoverySTM32F407Cortex-M4FbareWorked example, an out-of-tree board package
STMicroSTM32H7-NucleoSTM32H743Cortex-M7FFreeRTOS / ZephyrFreeRTOS or Zephyr starter, with an overlay on nros-board-freertos
STMicroPixhawk 4 (FMUv5)STM32F765Cortex-M7FNuttX (PX4)The PX4 module template: PX4 Autopilot
STMicroPixhawk 6X / 6CSTM32H753Cortex-M7FNuttX (PX4)The PX4 module template: PX4 Autopilot
NordicnRF52840-DKCortex-M4FArmv7E-MZephyrZephyr starter with -b nrf52840dk_nrf52840
NordicnRF5340-DKCortex-M33 (dual)Armv8-MZephyrZephyr starter with -b nrf5340dk_nrf5340_cpuapp
NXPLPC55S69-EVKCortex-M33Armv8-MZephyrZephyr starter with -b lpcxpresso55s69_cpu0
NXPMIMXRT1170-EVKCortex-M7 + M4Armv7-MFreeRTOS / ZephyrFreeRTOS starter plus the vendor BSP
TILP-CC1352P7Cortex-M4FArmv7E-MFreeRTOS / TI-RTOSFreeRTOS starter plus a TI driver overlay
RP2040Raspberry Pi PicoCortex-M0+Armv6-Mbare / FreeRTOSThe bare-metal Cortex-M path; see the Cortex-M0+ caveat below
QEMUCortex-A9 (Versatile)Cortex-A9Armv7-AZephyrZephyr starter with -b qemu_cortex_a9
NVIDIAJetson Orin SPECortex-R5Armv7-RFreeRTOS (NVIDIA FSP)No board package, and no work on one is planned. The IVC driver (nvidia-ivc) and the zenoh-pico IVC link remain in nano-ros

The ESP32 boards (ESP-IDF component and esp-hal bare-metal) are retired: ESP32 — retired.

To add a board, as a package of your own or contributed to nano-ros, see Adding a Board to the Registry.

Caveats by chip family

  • Cortex-M0+ (RP2040, STM32F0, nRF51): only 4 NVIC priority levels. Per-callback OS-priority dispatch (a research scheduler shape originally proposed by Choi et al. as PiCAS, RTAS ’21) is disqualified on this class; nano-ros’s user-space EDF / FIFO scheduler is the only option. Pub/sub works fine.
  • Xtensa (ESP32, ESP32-S2, ESP32-S3): not supported. nano-ros has no Xtensa board, and the RISC-V ESP32 boards are retired (ESP32 — retired).
  • Cortex-A9 / A53: hosted-RTOS only (NuttX, Zephyr). Heap + libc required; bare-metal Cortex-A is not in the coverage matrix.
  • PX4 boards: NuttX is the underlying kernel; the PX4 module template is the canonical entry path — see PX4 Autopilot.

See also