Skip to content

Board support

spec v0.5.0

Exactly what hardware we have and how far each board is brought up across the three firmware stacks. The detailed per-board pinouts and bring-up notes live in reference/boards/; this is the at-a-glance status record.

Derived view, hand-maintained. As of 2026-06-29. Update when a board is acquired, verified, or changes role. Possession/role policy is in hardware.md and ADR-16; firmware-by-message coverage is in status-matrix.md.

Legend: ✅ verified on hardware · 🟡 partial / builds-only · ⬜ not done · — n/a for this board’s role

“Tier” = what a board is for. A board only targets one production stack (nRF52840 → Zephyr field; ESP32-S3 → ESP-IDF hub); the Arduino harness is for PHY bring-up of any board (ADR-14).

BoardMCU + radioOn handRoleArduino harnessZephyr fieldESP-IDF hub
Heltec Mesh Node T114 v1nRF52840 + SX1262trap only (ADR-16)✅ TX✅ JOIN+STATUS+CMD
Heltec Mesh Node T114 v2nRF52840 + SX1262trap / router✅ TX✅ (same build as v1)
Seeed XIAO nRF52840 + Wio-SX1262nRF52840 + SX1262trap / router✅ TX✅ JOIN+STATUS+CMD
Heltec WiFi LoRa 32 V3.1ESP32-S3 + SX1262hub✅ RX✅ full hub FW
Seeed XIAO ESP32-S3 + Wio-SX1262ESP32-S3 + SX1262✅ ×2hub✅ RX🟡 builds; hub FW pins target V3.1
SenseCAP Indicator D1LESP32-S3 + SX1262 + RP2040 + LCDhub (Phase 2 target)⬜ (radio behind PCA9535)
Heltec WiFi LoRa 32 V4ESP32-S3 + SX1262spare hub / router stand-in🟡 (V3.1 FW likely runs; untested)
LilyGO T-Beam SupremeESP32-S3 + SX1262 + GPSfuture outdoor/cellular hub⬜ (Phase 7+)
LilyGO T-EchonRF52840 + SX1262 + e-paper⬜ not yetTECH node candidate— (Phase 4)
RAK Solar NodenRF52840 + SX1262research onlyreference design

Heltec Mesh Node T114 (v1 + v2) — nRF52840 trap

Section titled “Heltec Mesh Node T114 (v1 + v2) — nRF52840 trap”
  • Status: fully working Zephyr field board. Bench-verified through the whole protocol (JOIN → ANNOUNCE → STATUS/STATUS_ACK → COMMAND/COMMAND_ACK).
  • v1 is endpoint-only (ADR-16): a power-ramp bug browns out TX on payloads >47 B, unsafe for the router role (routers relay larger frames).
  • UF2 load address 0x26000 (S140 6.1.1 bootloader) — not 0x27000. Wrong address = silent reset loop. Node ID 0x1.
  • Pinout: reference/boards/heltec_mesh_node_t114.md.

Seeed XIAO nRF52840 + Wio-SX1262 — nRF52840 trap (primary dev board)

Section titled “Seeed XIAO nRF52840 + Wio-SX1262 — nRF52840 trap (primary dev board)”
  • Status: fully working Zephyr field board. JOIN handshake bench-verified 2026-06-29. Now the primary nRF dev platform.
  • UF2 load address 0x27000 (standard S140 7.x). Node ID 0x2.
  • Gotcha (fixed): SX1262 RESET/BUSY were swapped in the board def and hung the driver at boot — see status.md 2026-06-29. RESET=D2=P0.28, BUSY=D3=P0.29.
  • No battery/power headers — great cheap dev board, but the headless T114 is preferred for battery/solar work.
  • Pinout: reference/boards/xiao_nrf52840_wio_sx1262.md.

Heltec WiFi LoRa 32 V3.1 — ESP32-S3 hub (primary hub)

Section titled “Heltec WiFi LoRa 32 V3.1 — ESP32-S3 hub (primary hub)”
  • Status: fully working ESP-IDF hub. Receives all uplinks, replies STATUS_ACK / JOIN_ACK, pushes the COMMAND demo, logs ANNOUNCE. Node 0xA0.
  • Direct-GPIO SX1262; CP2102 UART console (/dev/ttyUSB*, not ttyACM).
  • Pinout: reference/boards/heltec_wifi_lora_32_v3.md.

Seeed XIAO ESP32-S3 + Wio-SX1262 (×2) — ESP32-S3 hub candidate

Section titled “Seeed XIAO ESP32-S3 + Wio-SX1262 (×2) — ESP32-S3 hub candidate”
  • Status: Arduino-RX verified; hub firmware NOT yet running on it. The hub firmware hardcodes the Heltec V3.1 SX1262 pins, so making the XIAO S3 a real hub needs the board-portable pin work (tracked follow-up).
  • Two units: one bare, one cased (USB-power only → bench RX / test board).
  • Pinout: reference/boards/xiao_esp32s3_wio_sx1262.md.

SenseCAP Indicator D1L — ESP32-S3 hub (Phase 2 target)

Section titled “SenseCAP Indicator D1L — ESP32-S3 hub (Phase 2 target)”
  • Status: not started. The SX1262 is behind a PCA9535 I²C IO expander, incompatible with stock RadioLib and the current hub HAL — needs Seeed’s BSP path. This is why Phase 1 RX moved to the V3.1.
  • Planning: docs/firmware/sensecap-indicator-hub.md.
  • On hand, unused. Shares the V3.x SX1262 pin map, so the V3.1 hub firmware should run with little/no change — untested. Useful as a second hub for triangulation or a router stand-in.
  • LilyGO T-Beam Supreme (on hand): outdoor / cellular hub candidate, Phase 7+. Not needed yet.
  • LilyGO T-Echo (not acquired): TECH-node candidate (e-paper + buttons), Phase 4.
  • RAK Solar Node (reference only): production-design reference if we move to a custom PCB.
ItemStatusBlocks
PPK2 / Joulescope power analyser⬜ not on handdeep-sleep current baseline (Phase 1 tail)
SWD / J-Link probe⬜ not on handlow-level nRF debug (we bisect via LED/over-air instead)
LiFePO4 cells + solar panels⬜ not yetreal power/charge bench (Phase 2+)