STM32 digital synthesiser
We've all had too much fun spamming different sounds on the keyboards in music class at school. For the Embedded Systems module, I wrote real-time firmware for a digital synthesiser, running on an STM32.
Working with low-level hardware features of the MCU, up to handling FreeRTOS processes, this project taught many core concepts of embedded systems. Using the DMA to transfer audio samples from a buffer in RAM, interrupt frequency was reduced. Careful task priority, based on task interval, ensured real-time control of the audio and reading of the inputs.
Knowledge gained:
- Embedded systems design
- MCU internal hardware
- Critical instant anaylsis of real-time systems
- Safe handling of shared data in multi-threaded systems
Check out some of the sounds it can make by perusing this video!
Go back home.