NKIDO for ESP32

Cedar running on ESP32-A1S Audio Kit — high-performance audio synthesis for embedded hardware.

v0.1 Status: MVP — core synthesis working, examples in progress

Hardware

Requires ESP32-A1S Audio Kit 2.2 or compatible:

  • ESP32-DevKitC or ESP32-WROVER
  • ES8388 audio codec
  • 2x 3W class-D amplifiers
  • Microphone input

Note: ~146 KB stripped binary, reduced memory limits apply.

Build & Flash

Using ESP-IDF with ESP-ADF:

# Clone the port
git clone https://github.com/mlaass/cedar-esp32.git
cd cedar-esp32

# Build
idf.py build

# Flash
idf.py -p /dev/ttyUSB0 flash monitor

Bytecode Loader

Load compiled bytecode over UART:

# Compile with akkado-cli
./akkado-cli compile input.akk -o bytecode.bin

# Send to ESP32
python loader.py /dev/ttyUSB0 bytecode.bin

Hardware Controls

KEY1–KEY6 map to control triggers:

KEY1 Play/Pause
KEY2 Next pattern
KEY3 Random pattern
KEY4 Volume -
KEY5 Volume +
KEY6 Reset

Example Patches

Small patches that fit ESP32 memory constraints:

  • Simple sine drone
  • Filter sweep
  • 8-step sequence