← micropython-hardware docs

Board inventory & Detect fixture report

An inventory of the boards on hand, compiled from the Firmware Detect fixture campaign (2026-07-18).

Data was gathered with esptool (authoritative for Espressif — chip, flash, security), mpremote / CircuitPython REPL (runtime freq, heap, build), and UF2 INFO_UF2.TXT / boot_out.txt for bootloader-only boards.

Note on flash/RAM columns: for ESP32 boards flash size and PSRAM are measured by esptool. For non-ESP boards, flash and SRAM are authoritative chip / board specs (RP2040 / SAMD / nRF52 / STM32 / i.MX RT datasheets and known board hardware); the free heap (~… free) is what the runtime reported at probe time. External QSPI flash is called out as +N MB QSPI (MCUs like RP2040 and i.MX RT have no internal program flash).


Summary

By firmware port

Port Count Fixtures
esp32 16 1–4, 6, 8–10, 12–15, 17, 20, 22, 28
rp2 4 7, 11, 16, 21
samd 5 18, 24, 26, 27, 30
nrf 2 19, 29
mimxrt 2 5, 23
stm32 1 25

By chip family

Family Count Notes
ESP32-S3 11 mix of no-PSRAM, embedded PSRAM, and Octal-SPIRAM
classic ESP32 (PICO-V3-02) 3 embedded flash + PSRAM
ESP32-P4 1 32 MB, 400 MHz, external C6 Wi-Fi
ESP32-S2 1 Adafruit FunHouse
RP2040 4 Pico, 2× Feather (incl. DVI), Waveshare Plus
SAMD21 3 QT Py M0, PyRuler, Trinket M0
SAMD51 2 Thing Plus (J20), PyGamer (J19)
nRF52840 2 XIAO Sense, Feather Express
NXP i.MX RT 2 Metro M7 (RT1011), Teensy 4.1 (RT1062)
STM32H7 1 NUCLEO-H743ZI2

Superlatives


Inventory

# Board / model Chip / MCU Port Flash SRAM / free heap Runtime seen Interface
1 ESP32-P4 dev board ESP32-P4 (v1.3) esp32 32 MB ~33 MB free (SPIRAM) MicroPython (C6_WIFI) UART bridge
2 Generic ESP32-S3 module ESP32-S3 (v0.1) esp32 8 MB ~214 KB (no PSRAM) MicroPython 1.24 native USB-JTAG
3 Generic ESP32-S3 (Octal) ESP32-S3 esp32 8 MB ~8.3 MB (Octal PSRAM) MicroPython 1.25-pre native USB-JTAG
4 Generic ESP32-S3 (SPIRAM, silent) ESP32-S3 esp32 8 MB ~8.3 MB (SPIRAM) MicroPython 1.21 native USB-JTAG
5 Adafruit Metro M7 i.MX RT1011DAE5A mimxrt 8 MB QSPI 128 KB / ~60 KB free MicroPython 1.22 Adafruit VID
6 ESP32-S3 module (Arduino) ESP32-S3 (v0.2) esp32 8 MB Embedded PSRAM 8 MB Arduino / bare native USB-JTAG
7 Adafruit Feather RP2040 RP2040 rp2 8 MB QSPI 264 KB / ~217 KB free MicroPython 1.20 Adafruit VID
8 Adafruit Qualia S3 RGB666 ESP32-S3 esp32 (unread) ~8.3 MB (SPIRAM) CircuitPython 9.0.5 Adafruit VID
9 ESP32-S3 module (CH343) ESP32-S3 (v0.2) esp32 8 MB Embedded PSRAM 8 MB bare WCH CH343
10 ESP32-S3 module (CH343) ESP32-S3 (v0.2) esp32 8 MB Embedded PSRAM 8 MB bare WCH CH343
11 Waveshare RP2040-Plus 4MB RP2040 rp2 4 MB QSPI 264 KB / ~178 KB free CircuitPython 9.0.5 RPi VID
12 Generic ESP32-S3 module ESP32-S3 esp32 8 MB ~170 KB (no PSRAM) MicroPython 1.21 native USB-JTAG
13 Adafruit FunHouse ESP32-S2 esp32 (unread) ~2.0 MB (PSRAM) CircuitPython 8.2 Adafruit VID
14 Generic ESP32-S3 module ESP32-S3 esp32 8 MB ~250 KB (no PSRAM) MicroPython 1.21 native USB-JTAG
15 Generic ESP32-S3 module ESP32-S3 esp32 8 MB (no PSRAM) MicroPython 1.21 native USB-JTAG
16 Raspberry Pi Pico RP2040 rp2 2 MB QSPI 264 KB / ~226 KB free MicroPython 1.23-pre RPi VID
17 ESP32-PICO-V3-02 board ESP32-PICO-V3-02 (v3.0) esp32 8 MB Embedded PSRAM bare WCH CH9102
18 Adafruit QT Py M0 SAMD21E18A samd 256 KB 32 KB UF2 bootloader Adafruit VID
19 Seeed XIAO nRF52840 Sense nRF52840 nrf 1 MB + 2 MB QSPI 256 KB / ~140 KB free CircuitPython 8.2 Seeed VID
20 ESP32-PICO-V3-02 board ESP32-PICO-V3-02 (v3.0) esp32 8 MB Embedded PSRAM bare WCH CH9102
21 Adafruit Feather RP2040 DVI RP2040 rp2 8 MB QSPI 264 KB / ~106 KB free CircuitPython 8.2 (252 MHz OC) Adafruit VID
22 Generic ESP32-S3 module ESP32-S3 esp32 8 MB ~248 KB (no PSRAM) MicroPython 1.21 native USB-JTAG
23 Teensy 4.1 i.MX RT1062DVJ6A mimxrt 8 MB QSPI 1 MB / ~927 KB free CircuitPython 8.2 → MP 1.29 Adafruit CDC / HalfKay
24 SparkFun Thing Plus SAMD51 SAMD51J20A samd 1 MB 256 KB / ~216 KB free CircuitPython 8.2 SparkFun VID
25 ST NUCLEO-H743ZI2 STM32H743ZI stm32 2 MB 1 MB / ~455 KB free MicroPython 1.23-pre → 1.29 ST-Link MSD
26 Adafruit PyRuler SAMD21E18 samd 256 KB 32 KB CircuitPython 8.2 Adafruit VID
27 Adafruit PyGamer SAMD51J19A samd 512 KB + 8 MB QSPI 192 KB / ~155 KB free CircuitPython 9.0.3 Adafruit VID
28 ESP32-PICO-V3-02 board ESP32-PICO-V3-02 (v3.0) esp32 8 MB Embedded PSRAM (~2 MB free) → MP 1.29 SPIRAM WCH CH9102
29 Adafruit Feather nRF52840 Express nRF52840 nrf 1 MB + 2 MB QSPI 256 KB / ~141 KB free CircuitPython 8.2 → MP 1.29 Adafruit VID
30 Adafruit Trinket M0 SAMD21E18 samd 256 KB 32 KB CircuitPython 8.2 Adafruit VID

Most interesting datum per board

ESP32

RP2040 (rp2)

SAMD (samd)

nRF52840 (nrf)

NXP i.MX RT (mimxrt)

STM32 (stm32)


Duplicates / repeat probes

Some models were probed more than once (distinct silicon, verified by unique_id/MAC), useful for hardening the matcher rather than counting as separate models:

Counting each model once gives roughly 24 distinct boards on hand.