Firmware¶
Firmware lives under fw/. There are two node platforms:
| Project | MCU / framework | Status |
|---|---|---|
bom-node |
ESP32 / ESP-IDF v5.4 | Primary node firmware |
bom-stm32node |
STM32H563ZIT6 / STM32CubeMX | Alternative node (GNSS, LoRa, IMU, PDM mics) |
Building¶
All firmware is built inside the fw-devcontainer, which ships both the ESP-IDF
toolchain and an ARM bare-metal toolchain (arm-none-eabi-gcc, CMake/Ninja, OpenOCD,
st-flash) — see Open the devcontainer.
-
ESP32 (
bom-node) — driven by Taskfile +idf.py. Fromfw/bom-node: -
STM32 (
bom-stm32node) — CubeMX project built with CMake + Ninja, flashed via OpenOCD / st-flash. See Build & flash.
Flashing requires the USB device shared into the container — see Share USB with usbipd.