Files
AutoFilm-ESP32/docs/megaplans/INTEGRATION-MEGAPLAN.md
gronod d70df219f8
ci / test (pull_request) Successful in 1m16s
ci / firmware (jc4827w543, sdkconfig.s3, esp32s3) (pull_request) Successful in 4m4s
ci / firmware (wroom, sdkconfig.wroom, esp32) (pull_request) Successful in 4m5s
ci / test (push) Successful in 1m13s
ci / firmware (wroom, sdkconfig.wroom, esp32) (push) Successful in 4m15s
ci / firmware (jc4827w543, sdkconfig.s3, esp32s3) (push) Successful in 4m19s
Mark I04 status DONE
2026-09-16 22:28:17 +01:00

2.3 KiB
Raw Permalink Blame History

INTEGRATION MEGAPLAN — AutoFilm-ESP32 S3 Hardware Integration

Audience: coding agent. One phase = one session. Do not start the next phase in the same session.

Summary

This megaplan drives the hardware integration for the ESP32-S3 (JC4827W543) board, activating the stepper motor, DS18B20 temperature sensor, and I2S speaker using conflict-free, header-available GPIOs. To ensure success, these changes have been broken down from a single monolithic phase into a sequence of safe, isolated phases.

Protocol (every session)

  1. Ensure you are on the appropriate integration branch off develop.
  2. Read only: AGENTS.md, this file (status table), the assigned phase file. Open other docs only if the phase READ: list says so.
  3. Execute IN only. Honour OUT and FORBIDDEN.
  4. Run VERIFY exactly. Do not push if any verify item fails.
  5. Commits: messages listed in the phase. Imperative. No secret tokens.
  6. Push to origin. PR target is develop, not main.
  7. Set phase STATUS: to DONE in the phase file and this table. One-line Notes if you diverged (API name only — do not silently change behaviour).

If blocked: stop, commit nothing broken, write BLOCKED: at top of the phase file with the exact error.

Frozen constraints (never reinterpret)

  • The motor EN/STEP/DIR, DS18B20, and I2S audio pins for the JC4827W543 are strictly defined in this plan and the pin audit doc.
  • Constraints that eliminate S3 pins:
    • QSPI display: 45, 47, 21, 48, 40, 39 + BL 1 — consumed
    • GT911: SDA 8, SCL 4, INT 3, RST 38 — consumed
    • Speaker I2S: 2 (LRCLK), 41 (DIN), 42 (BCLK) — consumed by onboard amp
    • TF slot: 10–13; USB: 19/20; UART0: 43/44; BOOT+LCD_TE: 0
    • Octal PSRAM: 33–37 off-limits
    • GPIO46 is INPUT-ONLY on ESP32-S3 — excluded from outputs entirely
  • UI never blocks on hardware operations (motor, OneWire, I2S).
  • Watchdog stays on. No vTaskDelete of long-lived workers.

Status

ID File Session goal STATUS
I01 integration/I01-board-configs.md Board pin allocations & accessors DONE
I02 integration/I02-temp-fix.md Temp HAL shared & starvation fix DONE
I03 integration/I03-motor-hal.md Motor HAL shared across boards DONE
I04 integration/I04-audio-i2s.md I2S audio implementation for S3 DONE