Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PocketPolySynth

Portable, expandable polyphonic synthesizer on the ESP32-8048S050C touchscreen board (ESP32-S3), using the AMY synth engine. PlatformIO project.

Features (target)

  • 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

Start here

  1. Read CLAUDE.md — the hard hardware constraints and architecture.
  2. Follow docs/GETTING_STARTED.md — PlatformIO/VS Code/Claude Code setup.
  3. Build the skeleton, confirm PSRAM + boot, then build modules in order.

Key constraints (see CLAUDE.md for the full list)

  • 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.

About

WIP - not stable

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages