What's new in v0.8.0
HTTP management surface + JSON API
PR #1 (yellowcooln) lands a usable web management UI on top of the
existing OTA endpoint, plus a machine-readable JSON API. Wire
protocol unchanged (still v0.7) — drivers and pymc_core/pymc_Repeater
clients work against v0.8 firmware without changes.
- HTTP Basic Auth on every web/API/OTA path. Default
admin/password, changeable from the UI, persisted in NVS underhttp_pass. - Persistent configurable hostname (blank = MAC-derived fallback).
- DHCP / static IP UI with live lease values shown next to the form.
- pyMC token management UI (replaces the older "TCP password" label).
- Reboot button from the UI.
/statspage — uptime, radio config, RX/TX/error counters, RSSI/SNR/noise floor, die temperature, network mode.- JSON API endpoints for headless integration.
See README "Default web UI / OTA / API credentials" for the credential
matrix and how to change them.
New board (8th variant)
Seeed XIAO nRF52840 + Wio-SX1262 carrier (SKU 102010710) — nRF52840
paired with Seeed's Wio-SX1262 Meshtastic carrier.
- USB-CDC transport only (no Wi-Fi/Ethernet/HTTP — same constraints as T114)
- No onboard display
- DIO2-as-RF-switch + external LNA gate on D5 (RXEN)
- TCXO 1.8 V via DIO3, max 22 dBm chip TX (no PA)
- OTA: Adafruit nRF52 DFU (UF2 disk on double-click reset) or in-app
CMD_OTA_*over USB-CDC
fw_suffix: xiao_nrf52_wio (auto-detected by pymc_sector_array's OTA scanner).
Boards (8 binaries below)
| Board | Binary | Notes |
|---|---|---|
| Heltec WiFi LoRa 32 V3 | pymc_usb-v0.8.0-heltec_v3.bin |
ESP32-S3 + SX1262 |
| Ikoka Stick | pymc_usb-v0.8.0-ikoka_stick.bin |
ESP32-S3 + SX1262 |
| Seeed XIAO Wio-SX1262 | pymc_usb-v0.8.0-xiao_wio_sx1262.bin |
ESP32-S3 |
| RAK3112 WisMesh | pymc_usb-v0.8.0-rak3112_wismesh.bin |
ESP32-S3 + BLE + Wi-Fi |
| WaveShare ESP32-P4-Nano | pymc_usb-v0.8.0-esp32_p4_nano.bin |
ESP32-P4 + E22 (SX1262); Ethernet preferred over Wi-Fi |
| Lilygo T3-S3 | pymc_usb-v0.8.0-lilygo_t3s3.bin |
ESP32-S3 + SX1262 + OLED |
| Heltec T114 | pymc_usb-v0.8.0-heltec_t114.hex + -dfu.zip |
nRF52840 + SX1262 + TFT 135×240; no Wi-Fi/TCP |
| Seeed XIAO nRF52840 + Wio-SX1262 (new) | pymc_usb-v0.8.0-xiao_nrf52_wio.hex + -dfu.zip |
nRF52840 + SX1262; no Wi-Fi/TCP, no display |
Flashing
ESP32 boards (USB CDC):
esptool.py --port /dev/ttyACM0 write_flash 0x10000 pymc_usb-v0.8.0-<board>.bin
# or, with PlatformIO source checkout:
cd firmware && pio run -e <env> -t uploadnRF52 boards (T114, XIAO nRF52840 + Wio) — Adafruit bootloader:
double-tap reset to enter DFU, then either drag the .uf2 (if you
build one from the hex) or use adafruit-nrfutil:
adafruit-nrfutil dfu serial -pkg pymc_usb-v0.8.0-<board>-dfu.zip -p /dev/ttyACM0 -b 115200Default credentials (v0.8)
| Surface | User | Default password | Where to change |
|---|---|---|---|
| Web UI / OTA / JSON API | admin |
password |
UI ▸ Admin password (persisted in NVS) |
| pyMC token (TCP transport) | n/a | empty | UI ▸ pyMC token, or CMD_SET_WIFI |
Change both before exposing the modem outside a trusted LAN.
Upgrading from v0.7
- OTA recommended for ESP32 boards: web UI ▸ Update firmware. First
set an admin password — the defaultadmin/passwordwon't gate
anything if left as-is. - No driver changes needed — wire protocol unchanged.
- First-boot HTTP credentials:
admin/password(set
intentionally to be obvious; rotate before exposing to LAN).