- DIY Synth workshop with STM32F401-DISCO (ARM Cortex-M4)
DIY Synth workshop with STM32F401-DISCO (ARM Cortex-M4)
Examples / exercises
ex01 - Hello Blinky
Simple LED blink example and GPIO (push button) handling, polling vs. EXTI interrupt
ex02 - Timers & interrupts
Introduction to timers, configuration and custom interrupt handlers. Useful for basic multi-tasking.
ex03 - Accelerometer & Gyroscope
ex04 - Audio playback & record
ex05 - USB audio playback & record
ex06 - Synth & sequencer basics
ex07 - Synth example #2
ex08 - MIDI synth
This example uses a 2-track sequencer, which can be controlled via a
connected MIDI controller. In the workshop we used the Korg Nanokey2
for this purpose and a configuration file for this device is included.
If you use a different controller, make sure you edit the controller
Building the exercises
Within the project, you can find several build configurations, one per
example/exercise. Build profiles can be switched by clicking on the
little triangle next to the hammer (build) icon in the main toolbar.
Once a profile has been built, you’ll find the resulting
in the profile’s subfolder of this project. E.g.
ex08’s binary will
be located in
Important: The build profile called “base” is only a template and is NOT buildable. However it is the default profile after importing the project into Eclipse. So if it starts building the project automatically and you get lots of errors, let it finish and then select one of the example profiles (“ex01”…) as described above.
For programming/flashing the STM32F401-DISCO board, we used the st-flash tool and invoke it like this:
cd ws-ldn-3 st-flash --reset write ex08/diy_synth_ldn_2015.bin 0x8000000
This project is open source and licensed under the Apache Software License 2.0.