Architecture
Pure Rust no_std firmware for xtensa-esp32s2-none-elf (edition 2024),
built on esp-hal + embassy. The 128 KiB heap must live in .dram2_uninit
(the main DRAM segment overflows otherwise).
File structure OUTDATED
Section titled “File structure OUTDATED ”Directorysrc/
- main.rs — entry point
- config.rs — config model
- storage.rs — NVS storage
- logging.rs — log ring -> USB-CDC
- panic_report.rs — panic handler
Directoryboards/
- mod.rs — re-exports
- s2_mini.rs — pin definitions
Directoryhardware/
- led.rs — status LED task
- button.rs — button actions
- efuse.rs — MAC + AP SSID
- usb.rs — USB-CDC + auto-reset
- mod.rs
Directorynet/
- mod.rs — WiFi bring-up
- dhcp.rs — DHCPv4 server
- http.rs — HTTP server
- ws.rs — WebSocket server