This repository contains a USB Midi Pedal board based on a STM32F407G-DISC1 with 10 buttons, 8 potentiometers and 2 expression pedals
It is USB MIDI class-compliant, so you can add MIDI port without drivers(Windows, iOS, Android, etc...)
The USB-MIDI Class Driver is based on mimuz-tuch project (c) D.F.Mac. @TripArts Music.
I got great inspiration from 2 open source projects:
- 10 buttons (9 general purpose + Page2)
- 8 potentiometers (7 general purpose + Mode)
- 2 expression pedals
- USB MIDI class-compliant
- Page2/Looper Btn
- When activated (Led on) use second page for other buttons
- No CC is sent when pressed
- Mode potentiometer (#8, the last one)
- Left => Normal mode: Btn sends 127 when activated (Led On) and 0 on deactivation
- Right => Bypass mode: Btn sends 0 when activated (Led On) and 127 on deactivation
- Half => Disable potentiometers CC
- No CC is sent when rotated
- Button CC values (excluded Looper/Page2 Btn)
- {51, 52, 53, 54, 55, 56, 57, 58, 59}
- {61, 62, 63, 64, 65, 66, 67, 68, 69}
- Buttons 65 to 69 (Second page, front buttons) are stateless and only send value=127, this is better for some looping commands
- Potentiometers CC values (excluded Mode Pot)
- {18, 19, 20, 21, 22, 23, 24};
- Expression pedal CC values
- {16, 17};
See Presentation
Basically you should work some wood:
And connect about 30 wires:
Install STM32CubeIDE, import Project files. When building the binary file will be created in /stm32/Debug/ or /stm32/Release/
Vendor ID(VID) and Product ID(PID) in <usbd_desc.c> should be unique pair for each USB devices. Default VID 0x1209 and PID 0xDACA is experimental IDs from http://pid.codes . When distributing or selling, you must get your own IDs, and change to your own IDs in order to avoid conflicting to other USB devices.
- USB MIDI Class Driver by D.F.Mac. @TripArts Music
- STM32Cube by STMicroelectronics
- USB buffer libs by Keshikan (http://www.keshikan.net/)
(c) 2021 Daniele Caltabiano ( Website )
- USB MIDI Class Driver: CC BY 4.0
- STM32 CubeF4: BSD-3-Clause based.
- USB buffer libs: GPLv3
- Other Codes, Hardware, Schematic: MIT
See also LICENSE.md
- (2021/05/21)
- Added documentation in pdf format, improved readme and fixed code structure.
- (2021/05/19)
- Initial Release.