My take on the classic drum & bass instrument

be4873f mcu: delete some dead code

~kdsch pushed to ~kdsch/sampler git

a day ago

ec706e7 mcu: increase output gain

~kdsch pushed to ~kdsch/sampler git

2 days ago


A digital device that records or merges together samples of recordings.

sampler - Wiktionary

sampler is my own personal music sampler application. It currently targets POSIX and the STM32F4-DISCOVERY microcontroller development board. The development board may change, as a sampler application benefits from having at least a few megabytes of RAM, and the current board has only 192 kB!


Experiment with techniques to tend the state of microcontroller (and C) application development, such as

  • Ease programmer flow (concentration)
    • Catch more bugs with strict compiler flags
    • Code comfier with ISO C11
    • Clarify intent with plenty of assert() calls
    • Build fast with Meson
    • Hasten feedback with entr for a smooth edit-compile-test cycle: git ls-tree --name-only -r HEAD | entr -c ./scrips/build-cross flashes the microcontroller when checked-in files change.
  • Ease feature and unit testing by putting as much code as possible in an extremely portable library that can be compiled for POSIX. The project can be run and tested on your laptop. You don't need an emulator or a development board.

  • Ease dependency integration through modern tooling such as Meson. I ported libopencm3 to Meson for this purpose. Meson also allows integrating projects built with CMake, such as FreeRTOS (which is not currently a dependency).

#Why microcontrollers?

They're inexpensive, simple, and fun to hack on. Powerful enough to create useful applications, but limited enough to need care in resource usage. Let's bring software freedom to this traditional stronghold of property.

I'm not getting paid for this. Leave Embedded Linux for the dayjob.