Boards

From catalog/boards.json. 18 boards, 8 validated on hardware with an ExecuTorch on Zephyr bring-up repository. Others are expected to work but have not been run on hardware. Photos and console captures are below the table.

BoardZephyr targetSoC and CPURAMFlashPSRAMFlash methodSensorsValidated
Arduino UNO Q
Arduino
arduino_uno_q/stm32u585xxSTM32U585 + Qualcomm QRB2210
cortex-m33, 160 MHz
786 KiB2 MiBnoneopenocd-adb
adb forward tcp:3333 and arduino-debug on the Linux side, then gdb load.
led-matrix-13x8, qwiic-i2c, adc2026-10-11
Arducam Pico4ML-BLE
Arducam
rpi_picoRP2040
cortex-m0plus, 133 MHz
264 KiB2 MiBnoneuf2
Hold BOOTSEL while plugging in, or open the CDC port at 1200 baud, then copy zephyr.uf2 to RPI-RP2.
camera-hm01b0, display-st7735, imu-icm42602, pdm-mic2026-10-11
Seeed XIAO ESP32S3 Sense
Seeed Studio
xiao_esp32s3/esp32s3/procpu/senseESP32-S3
xtensa-lx7, 240 MHz
512 KiB8 MiB8 MiBesptoolcamera-ov2640, pdm-mic, microsd2026-10-09
M5Stack ATOM Echo
M5Stack
m5stack_atom_lite/esp32/procpuESP32-PICO-D4
xtensa-lx6, 240 MHz
520 KiB4 MiBnoneesptoolpdm-mic-spm1423, speaker-ns4168, rgb-led, button2026-10-12
ESP32-DevKitC
Espressif
esp32_devkitc/esp32/procpuESP32
xtensa-lx6, 240 MHz
520 KiB4 MiBnoneesptoolnone listed2026-10-12
BBC micro:bit v2
Micro:bit Educational Foundation
bbc_microbit_v2nRF52833
cortex-m4f, 64 MHz
128 KiB512 KiBnonedaplink
Copy zephyr.hex to the MICROBIT drive.
led-matrix-5x5, accelerometer, mic, buttons2026-10-11
Nordic Thingy:91
Nordic Semiconductor
thingy91/nrf9160nRF9160
cortex-m33, 64 MHz
256 KiB1 MiBnonemcuboot-smp-v1
Hold SW3 while switching on, then upload zephyr.signed.bin over SMP v1 on the first CDC port.
accelerometer, environment-bme680, lte-m2026-10-11
Arduino Nicla Vision
Arduino
arduino_nicla_vision/stm32h747xx/m7STM32H747
cortex-m7, 480 MHz
1 MiB2 MiBnonedfu
Double-tap reset for the DFU bootloader.
camera-gc2145, tof, imu, pdm-micnot yet
Arduino Opta
Arduino
arduino_opta/stm32h747xx/m7STM32H747
cortex-m7, 480 MHz
1 MiB2 MiBnonedfuanalog-inputs, relaysnot yet
Nordic nRF7002 DK
Nordic Semiconductor
nrf7002dk/nrf5340/cpuappnRF5340
cortex-m33, 128 MHz
512 KiB1 MiBnonejlinkwifi-nrf7002not yet
NXP FRDM-MCXN947
NXP
frdm_mcxn947/mcxn947/cpu0MCX N947
cortex-m33, 150 MHz, eiq-neutron
512 KiB2 MiBnonelinkservercamera-headernot yet
TI LAUNCHXL-CC1352P1
Texas Instruments
cc1352p1_launchxlCC1352P1
cortex-m4f, 48 MHz
80 KiB352 KiBnoneopenocd
XDS110; the stock OpenOCD needs the cJTAG to JTAG switch to work, UniFlash otherwise.
none listednot yet
Espressif ESP32-S3-EYE
Espressif
esp32s3_eye/esp32s3/procpuESP32-S3
xtensa-lx7, 240 MHz
512 KiB8 MiB8 MiBesptoolcamera-ov2640, lcd-st7789, mic, accelerometernot yet
Espressif ESP32-C3-DevKitM
Espressif
esp32c3_devkitmESP32-C3
riscv-rv32imc, 160 MHz
400 KiB4 MiBnoneesptoolnone listednot yet
M5StickC Plus
M5Stack
m5stickc_plus/esp32/procpuESP32-PICO-D4
xtensa-lx6, 240 MHz
520 KiB4 MiBnoneesptoollcd-st7789v2, imu-mpu6886, pdm-mic-spm1423, ir-led, buttonsnot yet
Sipeed Tang Nano 20K (LiteX VexRiscv)
Sipeed
tang_nano_20kGowin GW2AR-18C FPGA with a LiteX VexRiscv soft core and 8 MB SDRAM
riscv-rv32, 48 MHz
7680 KiB8 MiBnonefpga-litex
Build the SoC in eoinjordan/executorch-zephyr-tang-nano-20k (gateware/), then run scripts/boot.py: it loads the bitstream into the FPGA and boots zephyr.bin from the LiteX BIOS over the UART.
display-rgb-480x272, buttons, leds2026-11-10
Arm Corstone-300 FVP
Arm
mps3/corstone300/fvpCortex-M55 + Ethos-U55
cortex-m55, ethos-u55-128
4 MiB4 MiBnonefvp
west build -t run
none listednot yet
Native simulator
Zephyr
native_simhost
host
64 MiB64 MiBnonerun
Linux host or the Zephyr CI container; west build -t run
none listednot yet

Photos and console captures

Console captures are from my boards, with the numbers they printed. Photos of the Pico4ML-BLE are mine; the others are from Wikimedia Commons under the licence given with each one.

Arduino UNO Q arduino_uno_q/stm32u585xx

AnomalyNet on the STM32U585 (Cortex-M33), 5544 bytes of model in flash. The self-test matches PyTorch to 3.3e-06 and one inference takes 1621 us; verdicts go to the Linux side as JSON lines. eoinjordan/executorch-zephyr-arduino-uno-q

JSON verdicts from the UNO Q scrolling during a simulated heater spike
JSON verdicts during a simulated heater spike: p_anomaly goes to 1.000 and back.
Console of the Arduino UNO Q: ExecuTorch self-test pass and JSON lines with infer_us 1621
LPUART1 read over adb on the Linux side, 2026-10-11.

Arducam Pico4ML-BLE rpi_pico

TinyDigitNet on the RP2040 (Cortex-M0+ at 133 MHz, no FPU), reading hand-written digits with the HM01B0 camera. The self-test predicts 7 at 100 %, matches PyTorch to 3.3e-06 and takes 767987 us. eoinjordan/executorch-zephyr-arducam-pico4ML-BLE

Pico4ML-BLE held over a notebook page of hand-written digits, its screen showing the camera crop and the digit
A frame from my video of the board reading digits from a notebook page.
Pointing the camera at digits; the screen shows the 28x28 crop, the digit and the confidence.
Console of the Pico4ML-BLE: self-test predicted 7, SELF-TEST PASS, camera ready, first JSON line
USB console up to the first camera frame.

ESP32-DevKitC esp32_devkitc/esp32/procpu

TinyDigitNet on the ESP32 (Xtensa LX6), run on the esp32_devkitc target on an M5Stack ATOM Echo. It matches PyTorch to 2.86e-06 and takes 243475 us on average over 10 runs. eoinjordan/executorch-zephyr-esp32-devkitc

Console of the ESP32 run: ten logits, predicted 7, SELF-TEST PASS, 243475 us average
COM3, 2026-10-12.

BBC micro:bit v2 bbc_microbit_v2

AnomalyNet on the nRF52833 (Cortex-M4F at 64 MHz). It matches PyTorch to 1.91e-06 and takes 4314 us on average over 10 runs; the build uses 178 KB of 512 KB flash and 67 KB of 128 KB RAM. eoinjordan/executorch-zephyr-microbit-v2

A BBC micro:bit v2 board
A BBC micro:bit v2. Photo: SimonWaldherr, CC BY 4.0, via Wikimedia Commons.
Console of the micro:bit v2: predicted 1, SELF-TEST PASS, 4314 us average, JSON heartbeat lines
DAPLink serial on COM14, 2026-10-11.

Nordic Thingy:91 thingy91/nrf9160

AnomalyNet on the nRF9160 (Cortex-M33 at 64 MHz). It matches PyTorch to 1.91e-06 and takes 3969 us on average over 10 runs. eoinjordan/executorch-zephyr-thingy91

Console of the Thingy:91: predicted 1, SELF-TEST PASS, 3969 us average, JSON heartbeat lines
Bridge CDC port COM16, 2026-10-11.

Sipeed Tang Nano 20K litex_vexriscv

A LiteX SoC with a VexRiscv RISC-V core at 48 MHz in the Gowin GW2AR-18C FPGA, with 8 MiB of SDRAM. Zephyr 4.4 boots from the LiteX BIOS over serial and ExecuTorch runs TinyDigitNet in soft float: SELF-TEST PASS, 3.34e-06 from PyTorch, 2956766 us on average over 10 runs. Not in catalog/boards.json yet.

--============= Liftoff! ===============--

*** Booting Zephyr OS build 684c9e8f32e4 ***

ExecuTorch on tang_nano_20k/litex_vexriscv (Zephyr 4.4.0)
model: 62888 bytes, method pool 131072 B, temp pool 16384 B
I [executorch:main.cpp:118 init()] planned buffer 0: 52928 bytes
I [executorch:main.cpp:148 init()] method 'forward' loaded; pool used 59584 / 131072 bytes
  logit[0] =   -1.2525
  logit[1] =   -2.3244
  logit[2] =    4.0803
  logit[3] =    2.5802
  logit[4] =   -5.6759
  logit[5] =   -5.8199
  logit[6] =   -7.9416
  logit[7] =   10.5990  <-- argmax
  logit[8] =   -2.2308
  logit[9] =   -0.1515
self-test: predicted 7, expected 7, max |device - pytorch| = 3.34e-06, 2956822 us
SELF-TEST PASS
inference: 2956766 us average over 10 runs at 48 MHz
Serial console, 2026-11-10. Full boot log.

Arduino Nicla Vision arduino_nicla_vision/stm32h747xx/m7

Not yet run on hardware. eoinjordan/executorch-zephyr-arduino-nicla-vision

An Arduino Nicla Vision board
An Arduino Nicla Vision. Photo: Thomas Amberg, CC BY-SA 2.0, via Wikimedia Commons.