Back to browse
A 16-control subtractive synth for microcontrollers (39k ELF, web demo)

A 16-control subtractive synth for microcontrollers (39k ELF, web demo)

by isitcontent·Jul 20, 2026·2 points·0 comments

AI Analysis

●●●BangerWizardryCozyBig Brain

Fitting a capable subtractive synth into 39k ELF on an ESP32 is genuine constraint craft.

Strengths
  • Reducing 40-50 typical synth controls to 16 without losing sound design capability is brilliant.
  • Immediate mode TUI library in C brings modern UX patterns to resource-constrained embedded devices.
  • Single codebase compiles to both native ESP32 ELF and browser WASM with identical behavior.
Weaknesses
  • No MIDI support limits integration with existing music production workflows.
  • Lack of save functionality prevents users from preserving custom sound designs.
Category
Target Audience

Embedded developers and retro computing enthusiasts

Similar To

Teenage Engineering OP-1 · Pure Data · SuperCollider

Post Description

This toy retro synth installs and runs on esp32-s3 or p4 as an ELF file under BreezyBox firmware. It uses my work-in-progress immediate mode TUI library in C.

Web-based version via emscripten: https://mini000.itch.io/beeper

Source code: https://github.com/valdanylchuk/beeper

Demo video running on Tanmatsu (esp32-p4): https://www.youtube.com/watch?v=uCH9XYZ7QB0

The main challenge I was going for was actually to find a nice minimal set of controls for a subtractive synth. Usually there are 40-50 of them in "simple" synths; I ended up with 16.

In terms of TUI, I wanted to see if it would be practical at embedded C scale to use a modern approach similar to ratatui, Dear ImGui, or Nuklear. I am quite happy with it so far. Will keep using and extending it for more embedded apps.

I did not publish the library as a separate project yet; it is not mature enough. Feel free to reuse it via good old copying for now if you like it.

For those who remember my earlier post here about the BreezyBox ( https://news.ycombinator.com/item?id=46918429 ), a few updates from the last 6 months:

* added sshd for inbound connections * extended shell with variables, loops, conditions, tar, grep, diff * added sound component, including pico8-themed sequencer, and a few example apps * ported my self-hosting C compiler for RISC-V (rcc700) * shared a full example firmware project for Tanmatsu (p4), in addition to earlier Waveshare (s3)

Thanks for checking this out! I welcome any questions and feedback about the synth app, the TUI library, or the Breezybox firmware.

Similar Projects

Design●●Solid

Techno Kick

Glowing orbital synth interface with real-time audio parameters in the browser.

Eye CandyNiche Gem
stagas
313mo ago