Files
ZephCore/docs/supported_boards.md

139 lines
5.9 KiB
Markdown

# Supported Boards
Board strings for use with `west build -b <board> zephcore`.
## nRF52840
```
rak4631
rak3401_1watt
wio_tracker_l1
t1000_e
meshtracker_x1
thinknode_m1
thinknode_m3
thinknode_m6
rak_wismesh_tag
ikoka_nano_30dbm
sensecap_solar
xiao_nrf52840
lilygo_techo
promicro_sx1262
promicro_lr2021
heltec_t114
heltec_t096
gat562_30s
muziworks_r1neo
lilygo_timpulse_plus
```
> **RAK WisMesh Pocket** (WisBlock pocket): use `-b rak4631` — same board string and firmware as **RAK4631**.
>
> **Heltec T114** screenless build: append `boards/nrf52840/heltec_t114/no_display.conf` to `EXTRA_CONF_FILE` for units without the TFT module.
>
> **SenseCAP MeshTracker X1** (`meshtracker_x1`): nRF52840 + LR2021, AG3335M dual-band L1+L5 GNSS, SPA06 barometer, DRV2605L vibration, YSN8900 RTC, 8 MB QSPI flash (`/ext`), RGB LED, buzzer. Untested on hardware — first ZephCore board to use a real LR2021. The RTC is treated as an RX8900 second-source; boot-time discovery validates that before trusting it.
>
> **Heltec Mesh Node T096** (`heltec_t096`): nRF52840 with SX1262 + KCT8103L PA/FEM, UC6580 GNSS, and ST7735S 160x80 TFT companion display. The external SPI flash footprint is documented in the board notes but left disabled until the device parameters are confirmed.
>
> **LilyGo T-Impulse Plus** (`lilygo_timpulse_plus`): nRF52840 wristband/tracker with SX1262 (GPIO antenna switch, not DIO2), SSD1315 64x32 OLED, u-blox MIA-M10Q GPS, 4 MB QSPI flash (`/ext`), touch button, haptic motor. Builds and ships in releases, but several parameters are inferred from vendor sources and not bench-verified (TCXO voltage, battery divider ratio, OLED offsets) — see the board README. Early hardware testing also showed occasional spontaneous reboots, untriaged.
>
> **ProMicro LR2021** (`promicro_lr2021`): nRF52840 SuperMini + Semtech LR2021, the first ZephCore board bring-up for that radio. Source-only — **not in `build.sh`, the release workflow, or the Mesh America catalog**, so no release carries a binary for it. The bring-up module was destroyed by an accidental 5V feed (LR2021 VBAT max ~3.7V); build it yourself if you want to continue testing on a fresh module.
## ESP32
```
xiao_esp32c3
xiao_esp32c6/esp32c6/hpcore
xiao_esp32s3/esp32s3/procpu
lilygo_tlora_c6/esp32c6/hpcore
lilygo_t3s3/esp32s3/procpu
station_g2/esp32s3/procpu
heltec_wifi_lora32_v3/esp32s3/procpu
heltec_wifi_lora32_v4/esp32s3/procpu
heltec_wifi_lora32_v43/esp32s3/procpu
heltec_wireless_tracker/esp32s3/procpu
heltec_wireless_tracker_v2/esp32s3/procpu
thinknode_m9/esp32s3/procpu
ttgo_tbeam/esp32/procpu
ttgo_lora32/esp32/procpu # source-only, no published firmware
```
> ESP32 boards require `west blobs fetch hal_espressif` before first build.
>
> Heltec V3 console/shell use `uart0` (UART serial) in ZephCore.
>
> **Heltec Wireless Tracker** (`heltec_wireless_tracker/esp32s3/procpu`): V1.1
> ESP32-S3-FN8 companion with SX1262, ST7735R 160x80 TFT, and UC6580 GPS.
>
> **Heltec Wireless Tracker V2** (`heltec_wireless_tracker_v2/esp32s3/procpu`):
> ESP32-S3FN8 companion with SX1262 + KCT8103L PA/FEM, ST7735R 160x80 TFT,
> UC6580 GNSS, battery ADC, and USB-C native serial/JTAG.
>
> **ThinkNode M9** (`thinknode_m9/esp32s3/procpu`): ESP32-S3 (16MB flash, 8MB
> PSRAM) handheld with LR1110, ST7789 320x240 TFT, CC1167Q GPS, PCF8563 RTC,
> and buzzer. Not yet validated on hardware — see the board README for the
> bring-up list. The onboard STC8H I2C keyboard, IMU/magnetometer, and SD slot
> are not ported. The LR1110 radio-firmware updater supports this board
> (`west build -b thinknode_m9/esp32s3/procpu zephcore/tools/lr1110_updater`).
>
> **LilyGo T-Beam** (`ttgo_tbeam/esp32/procpu`): classic ESP32 (PICO-D4) with
> SX1262, AXP2101 PMU, and GNSS. Use this for the **v1.2 SX1262** variant — the
> upstream Zephyr DTS models the SX1276 radio, which ZephCore overrides to
> SX1262 in `board.overlay`. Console/CLI are on `uart0` (onboard USB-UART).
>
> **TTGO LoRa32** (`ttgo_lora32/esp32/procpu`): classic ESP32 (PICO-D4) with
> **SX1276**. Console/CLI on `uart0`.
>
> **Source-only — no published firmware, and not a supported configuration.**
> It is deliberately absent from `build.sh`, the release workflow and the Mesh
> America catalog, so no release ever carries a binary for it. It is kept in the
> tree as the one exercise of the SX127x loramac-node radio path, which is old,
> lacks RX duty cycle and RX gain boost, and gets none of the work the native
> SX126x/LR11xx/LR20xx drivers do. Build it yourself if you want it; expect to
> maintain it yourself too.
>
> If you do build the companion, note it is DRAM-bound (~97% of `dram0_0_seg`)
> and capped at **50 contacts / 32 queued offline messages** — lower than any
> other companion board. The repeater has no such limit. At the 150/128 this
> board's config used to declare, it did not link at all. See `board.conf` for
> the measured budget before raising either number.
## STM32WL
```
lora_e5_mini
```
> **Seeed LoRa-E5 mini** (`lora_e5_mini`): STM32WLE5JC with the integrated
> SX1262-class sub-GHz radio. No BLE and no USB device — the companion
> protocol and the CLI both run over USART1 (bridged to USB-C by the onboard
> USB-UART chip). Flash over SWD/ST-Link with `west flash`.
## MG24 (Silicon Labs)
```
xiao_mg24
```
> Requires `west blobs fetch hal_silabs` and pyocd.
## nRF54L
```
xiao_nrf54l15/nrf54l15/cpuapp
me25ls02/nrf54l15/cpuapp
```
> Requires `--no-sysbuild` flag: `west build -b xiao_nrf54l15/nrf54l15/cpuapp zephcore --no-sysbuild`
>
> The nRF54L15 has no USB peripheral, so there is no UF2 or DFU path on either board — flash
> `zephyr.hex` over SWD. `me25ls02` is the MinewSemi ME25LS02 module on its MX25LE02 carrier;
> its USB-C port is a CH340x UART bridge carrying the console, not a programming port.
> Untested on hardware.
## Native Linux
Not `west build -b` boards — `EXTRA_CONF_FILE` presets on top of `native_sim`
for SBCs (Femtofox / Luckfox Pico Mini, Raspberry Pi + RAK6421 HAT). See
[LINUX_NATIVE.md](LINUX_NATIVE.md) for build commands and wiring.