Firmware Build and Flash¶
The firmware project is SOFTWARE/ESP32C3固件 and uses ESP-IDF. The current
local project was built with ESP-IDF 5.5; use a compatible installed ESP-IDF
environment.
cd SOFTWARE/ESP32C3固件
source "$HOME/esp/v5.5.2/esp-idf/export.sh" # adjust to your ESP-IDF installation
idf.py build
idf.py -p /dev/ttyACM0 flash
idf.py -p /dev/ttyACM0 monitor
Replace /dev/ttyACM0 with the enumerated serial device. On Linux, serial
permission failures usually require appropriate dialout membership and a new
login session.
Configuration¶
main/imu_config.h selects:
sensor type, currently ICM-20948;
visualizer quaternion output;
Wi-Fi transport;
ICM-20948 data-ready interrupt trigger;
magnetometer usage and VQF timing behavior.
Configure Wi-Fi through idf.py menuconfig; do not commit sdkconfig files
containing local credentials. The current UDP v2 packet includes
sensor_time_us, captured at the sampling/VQF update path. See
Protocol for packet and TCP clock-sync details.
Flashing Checklist¶
Build before connecting a battery-powered node.
Confirm the detected chip and flash size in the
esptool.pylog.After flashing, observe boot logs and verify that the device emits v2 (
type=0x03) packets.Use a separate node ID for each physical device.
Complete magnetometer and body calibration only after the node output is stable.