ESP32 node — bom-node¶
The primary node firmware, built on ESP-IDF v5.4 for the ESP32. Source:
fw/bom-node/.
What it does¶
bom-node runs the acoustic detection node: it samples audio, runs detection, and
serves a small local web UI (the device-web app) that is built and embedded into the
firmware image at build time.
Build, flash, monitor¶
Inside the fw-devcontainer, from fw/bom-node:
task build # or task b — runs idf.py build, embeds the device-web UI
task flash # or task f — runs idf.py flash
task monitor # or task m — runs idf.py monitor -p /dev/ttyUSB1
If your board enumerated on a different serial port, call ESP-IDF directly:
See usbipd for getting the serial port into the container.
Configuration¶
Firmware configuration is the standard ESP-IDF setup:
fw/bom-node/CMakeLists.txt— project build config.fw/bom-node/sdkconfig— ESP-IDF / Kconfig settings (idf.py menuconfigto edit).
Embedded web UI¶
task build depends on device-web:build, which copies the local UI from
apps/device-web/public/ into fw/bom-node/generated/ so it gets flashed with the
firmware. See Device web.