All Projects → thi-ng → ws-ldn-3

thi-ng / ws-ldn-3

Licence: other
DIY Synth / ARM baremetal workshop (London, 5-6 December 2015)

Programming Languages

c
50402 projects - #5 most used programming language

Projects that are alternatives of or similar to ws-ldn-3

ws-ldn-12
ARM / STM32F7 DIY synth workshop
Stars: ✭ 62 (+210%)
Mutual labels:  arm, workshop, synth, baremetal
Ws Ldn 4
Interactive DIY Synth / ARM baremetal workshop (London, 23-24 January 2016)
Stars: ✭ 36 (+80%)
Mutual labels:  arm, workshop, synth
stm32f4-bare-metal
Bare metal STM32F4 examples for various modules
Stars: ✭ 79 (+295%)
Mutual labels:  arm, stm32f4-discovery
gtcdk8s
Courseware for a Docker + Kubernetes workshop
Stars: ✭ 15 (-25%)
Mutual labels:  workshop
ncnn-android-benchmark
ncnn android benchmark app
Stars: ✭ 78 (+290%)
Mutual labels:  arm
stm32 template
这是一个stm32f103 和 stm32f407单片机在Unix、Linux等系统下使用的模版,可以使用make编译、下载、调试。
Stars: ✭ 48 (+140%)
Mutual labels:  arm
drone-stm32-map
STM32 peripheral mappings for Drone, an Embedded Operating System.
Stars: ✭ 16 (-20%)
Mutual labels:  arm
EvoArm
An open-source 3D-printable robotic arm
Stars: ✭ 114 (+470%)
Mutual labels:  arm
apultra
Free open-source compressor for apLib with 5-7% better ratios
Stars: ✭ 84 (+320%)
Mutual labels:  arm
gocodelabru
Coding simple database for geospatial data using Go programming language workshop in Russian language
Stars: ✭ 64 (+220%)
Mutual labels:  workshop
terraform-onboarding
A Terraform workshop for junior IT infrastructure engineer & DevOps engineer & SRE.
Stars: ✭ 26 (+30%)
Mutual labels:  workshop
deollvm64
deobfuscator llvm arm64 script
Stars: ✭ 67 (+235%)
Mutual labels:  arm
ARMStrong
A fast and simple ARM Simulator made for education based upon Unicorn and Keystone engines
Stars: ✭ 99 (+395%)
Mutual labels:  arm
xrock
The low level tools for rockchip SOC with maskrom and loader mode support.
Stars: ✭ 48 (+140%)
Mutual labels:  baremetal
Capstone.NET
.NET Core and .NET Framework binding for the Capstone Disassembly Framework
Stars: ✭ 108 (+440%)
Mutual labels:  arm
ScribeBot
A highly scriptable automation system full of cool features. Automate everything with a little bit of Lua.
Stars: ✭ 72 (+260%)
Mutual labels:  workshop
cfn101-workshop
AWS CloudFormation Workshop
Stars: ✭ 114 (+470%)
Mutual labels:  workshop
rpi-tvheadend
TVheadend server for the ARM based Raspberry PI
Stars: ✭ 21 (+5%)
Mutual labels:  arm
guitar
🎸 Online guitar toy and tablature recorder/player
Stars: ✭ 80 (+300%)
Mutual labels:  synth
guide-to-becoming
แหล่งรวบรวมข้อมูลสำหรับคนที่อยากจะพัฒนาตัวเองในด้านต่างๆจากผู้เริ่มต้นสู่ระดับเทพ
Stars: ✭ 23 (+15%)
Mutual labels:  workshop

thi.ng/ws-ldn-3

./assets/ws-ldn-3-synth.jpg

Contents

DIY Synth workshop with STM32F401-DISCO (ARM Cortex-M4)

Overview

TODO

Status

Stable

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 assignments in /include/ex08/main.h.

Building the exercises

This repo contains a complete Eclipse CDT project and can be built with GNU ARM Eclipse plugin. Furthermore, the ARM GCC toolchain is required outside Eclipse.

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 .bin file in the profile’s subfolder of this project. E.g. ex08’s binary will be located in {$PROJECT_DIR}/ex08/diy_synth_ldn_2015.bin.

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

License

This project is open source and licensed under the Apache Software License 2.0.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].