Remix.run Logo
Show HN: A 16-control subtractive synth for microcontrollers (39k ELF, web demo)(mini000.itch.io)
6 points by isitcontent 19 hours ago

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.