Portable, expandable polyphonic synthesizer on the ESP32-8048S050C touchscreen board (ESP32-S3), using the AMY synth engine. PlatformIO project.
- AMY-based polyphonic audio, multiple selectable instruments (extendable: TB-303 / TR-808 / Moog-style, etc. behind a common Instrument interface)
- Clean tabbed touchscreen GUI: knobs, sliders, buttons; panels are modular
- USB-MIDI in over USB-C; every control is MIDI-mappable with a "learn" flow
- Patch save/load and step sequencer save/load to SD card
- 1-octave on-screen test keyboard for auditioning sounds
- Read
CLAUDE.md— the hard hardware constraints and architecture. - Follow
docs/GETTING_STARTED.md— PlatformIO/VS Code/Claude Code setup. - Build the skeleton, confirm PSRAM + boot, then build modules in order.
- SD card must NOT be accessed while audio runs → read all into RAM at boot.
- GPIO18 is shared (I2S_LRCLK / touch INT) → touch in polling mode.
- Single-threaded loop(); AMY runs synchronous. No FreeRTOS UI task.
- No Arduino String / STL containers in hot paths.
- arduino-esp32 core 3.0.x (pioarduino fork); OPI PSRAM must be enabled.