Skip to content

Firmware

Each phase that needs an app gets its own folder under firmware/. That folder is a frozen snapshot: later phases add a new directory instead of rewriting an old one.

firmware/
  01-hello/          # Phase 1 (+ kept for Phases 2–3)
  04-i2c-scan/       # Phase 4
  05-accel/          # Phase 5
  06-tft-fill/       # Phase 6
  07-intensity-ui/   # Phase 7

Phase 0 has no app (erased chip). Phases 2–3 keep flashing 01-hello unchanged.


On the board now

firmware/07-intensity-ui — Phase 7 STA/LTA event + PGA→MMI (Wald 1999) demo UI.

Previous: firmware/06-tft-fill · firmware/05-accel · firmware/04-i2c-scan · firmware/01-hello.

Setting Value
Port COM /dev/ttyACM0 (CH343)
MAC 28:84:85:8C:D0:40
Flash / PSRAM 16MB / 8MB

CDC off so Serial is on COM. Sources: 07-intensity-ui/src/main.cpp · 07-intensity-ui/platformio.ini


Build and flash

Same pattern for every phase: cd into the phase folder, build with env esp32-s3-n16r8, then upload to the COM port. Phase 1 as the worked example —

cd firmware/01-hello
pio run -e esp32-s3-n16r8
RAM:   [=         ]   8.1% (used 26700 bytes from 327680 bytes)
Flash: [=         ]   5.8% (used 380669 bytes from 6553600 bytes)
========================= [SUCCESS] Took 10.19 seconds =========================
pio run -e esp32-s3-n16r8 -t upload --upload-port /dev/ttyACM0
Connected to ESP32-S3 on /dev/ttyACM0:
…
Hash of data verified.
Hard resetting via RTS pin...
========================= [SUCCESS] Took 10.32 seconds =========================

Serial: Phase 1, section 1.3.


Stage map

Phase Folder On the chip
0 — empty (erased)
1 01-hello hello
2 01-hello same image, not edited
3 01-hello same image, not edited
4 04-i2c-scan I2C scan
5 05-accel accel stream
6 06-tft-fill TFT SPI fill
7 07-intensity-ui lab magnitude UI

Change log

  • Phase 0 — erase; no app
  • Phase 1 — added firmware/01-hello/
  • Phase 4 — added firmware/04-i2c-scan/
  • Phase 5 — added firmware/05-accel/
  • Phase 6 — added firmware/06-tft-fill/
  • Phase 7 — added firmware/07-intensity-ui/