Status: In progress / Experimental
Project 03
A breadboard-based project that plays MIDI melodies by converting MIDI data into C code for the device. The hardware currently includes two active buzzers, one passive buzzer, a rotary encoder, a 1.3-inch AMOLED display, two buttons, and two LEDs.
Confirmed components & tools:
- ESP32 Dual-Core (ESP-IDF v5.2.2)
- Python RLE MIDI-to-C Compiler
- 16-Track Flash Symphony
- 2x Active Buzzers (Kick/Hat)
- 1x Passive Buzzer (LEDC PWM)
- 1x Rotary Encoder (PCNT)
- 1.3" SPI OLED (30 FPS)
- 2x Buttons & 2x LEDs
What I am currently learning: RLE compression of fragmented MIDI events into C struct arrays, acoustic transposition (+2 octaves) for passive piezo resonance, and Dual-Core FreeRTOS IPC between Core 0 (30 FPS OLED UI) and Core 1 (microsecond audio engine).
Next step: Migrating the dual-breadboard prototype onto a soldered perfboard or custom KiCad PCB.