Skip to content

Latest commit

 

History

History
44 lines (35 loc) · 2.4 KB

README.md

File metadata and controls

44 lines (35 loc) · 2.4 KB

USBMIDI Program Changer

This project implements a class-compliant USB MIDI device that sends MIDI Progream Change to the host device, e.g. PC when a button is pressed. The button may be illuminated to indicate the last selected program. The low cost STM32F103C microcontroller.

Proposed features:

Feature Status
USB MIDI interface Implemented
Class complient MIDI interface Implemented
Push button to send Program Change Implemented
Indicate last selected program TODO
Support multiple MIDI channels TODO
Configure button action TODO
Banks of buttons TODO

Development is performed within the simple to use Arduino development environment with Roger Clark’s Arduino STM32 libraries. Installation is described here.

A LeafLabs MapleLeaf STM32 development board makes things easy to install but I use a Bluepill (or similar) development board which does not have the bootloader installed so must manually add a boot loader to ease development. This involves using an application to push firmware (or bootloader) to the STM32 whilst it is in DFU mode via a serial port. I am currently on a Windows laptop so used Flash Loader Demo which is available direct from ST (requiring free account) or other places on web host it.

Using this examples bootloader the Arduino configuration is:

To upload firmware the STM32F103C must be in its bootloader stage. This occurs just after reset / powerup.