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 package | Status | Runs on | Evidence |
|---|---|---|---|
nros-board-linux (Linux) | Verified on host (merge) | host executable | evidence page |
nros-board-zephyr (ZephyrNativeSim) | Verified on host (merge) | host executable | evidence page |
nros-board-mps3-an536-freertos | Builds | qemu:mps3-an536 (twin) | evidence page |
nros-board-mps2-an385-freertos (FreertosMps2) | Verified in emulator (daily) | qemu:mps2-an385 | evidence page |
nros-board-s32z270-freertos | Builds | s32z270 (target) | evidence page |
nros-board-nuttx-qemu (NuttxArm) | Verified in emulator (daily) | qemu:virt-armv7a | evidence page |
nros-board-threadx-linux (ThreadxLinux) | Verified on host (merge) | host executable | evidence page |
nros-board-freertos-posix (FreertosPosix) | Verified on host (daily) | host executable | evidence page |
nros-board-threadx-qemu-riscv64 (ThreadxRiscv64) | Verified in emulator (daily) | qemu:rv-virt | evidence page |
nros-board-mps2-an385 (QemuBaremetal) | Verified in emulator (daily) | qemu:mps2-an385 | evidence page |
nros-board-mps2-an385-zephyr (ZephyrQemuCortexM) | Verified in emulator (daily) | qemu:mps2-an385 | evidence page |
nros-board-nuttx-qemu (NuttxRiscv) | Verified in emulator (daily) | qemu:rv-virt | evidence page |
nros-board-zephyr (Fvp) | Boots, manual (2026-09-06); reads Builds from 2027-01-05 | fvp:FVP_BaseR_AEMv8R | evidence page |
s32k344-safety-island | Boots on hardware, manual (2026-10-26); reads Builds from 2027-02-24 | mr-canhubk344 | evidence page |
nros-board-nucleo-f767zi-zephyr (ZephyrNucleoF767zi) | Boots, manual (2026-11-01); reads Builds from 2027-03-02 | renode:nucleo_f767zi, nucleo-f767zi (target) | evidence page |
nros-board-rpi-pico-w-zephyr | Boots, manual (2026-11-01); reads Builds from 2027-03-02 | wokwi: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.
| Vendor | Board | MCU / SoC | Arch | RTOS to start from | How to approach it |
|---|---|---|---|---|---|
| STMicro | STM32F4-Discovery | STM32F407 | Cortex-M4F | bare | Worked example, an out-of-tree board package |
| STMicro | STM32H7-Nucleo | STM32H743 | Cortex-M7F | FreeRTOS / Zephyr | FreeRTOS or Zephyr starter, with an overlay on nros-board-freertos |
| STMicro | Pixhawk 4 (FMUv5) | STM32F765 | Cortex-M7F | NuttX (PX4) | The PX4 module template: PX4 Autopilot |
| STMicro | Pixhawk 6X / 6C | STM32H753 | Cortex-M7F | NuttX (PX4) | The PX4 module template: PX4 Autopilot |
| Nordic | nRF52840-DK | Cortex-M4F | Armv7E-M | Zephyr | Zephyr starter with -b nrf52840dk_nrf52840 |
| Nordic | nRF5340-DK | Cortex-M33 (dual) | Armv8-M | Zephyr | Zephyr starter with -b nrf5340dk_nrf5340_cpuapp |
| NXP | LPC55S69-EVK | Cortex-M33 | Armv8-M | Zephyr | Zephyr starter with -b lpcxpresso55s69_cpu0 |
| NXP | MIMXRT1170-EVK | Cortex-M7 + M4 | Armv7-M | FreeRTOS / Zephyr | FreeRTOS starter plus the vendor BSP |
| TI | LP-CC1352P7 | Cortex-M4F | Armv7E-M | FreeRTOS / TI-RTOS | FreeRTOS starter plus a TI driver overlay |
| RP2040 | Raspberry Pi Pico | Cortex-M0+ | Armv6-M | bare / FreeRTOS | The bare-metal Cortex-M path; see the Cortex-M0+ caveat below |
| QEMU | Cortex-A9 (Versatile) | Cortex-A9 | Armv7-A | Zephyr | Zephyr starter with -b qemu_cortex_a9 |
| NVIDIA | Jetson Orin SPE | Cortex-R5 | Armv7-R | FreeRTOS (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
- Board Support Levels — what each status word means.
- Embedded Starters — per-RTOS walkthrough.
- Platform Differences — per-platform capability deltas.