MIDI-BLE-Adapter
MIDI-BLE-Adapter copied to clipboard
Software for the nRF52832 Breakout and Midi Shield
BLE MIDI Converter
This repository is for code that converts BLE midi into DIN midi. It is discussed in the SparkFun MIDI BLE Tutorial
Contents
- standard-midi-ble -- The main application to create a BLE MIDI dongle.
- ble-to-din -- Just the BLE packet parser to serial MIDI out
- din-to-ble -- Just the serial MIDI in to BLE packet builder
- midi-lib-starter -- an empty shell with MIDI and BLE configured
- ble-starter -- an empty shell with just BLE configured
- test-programs
- ble-test -- simple rx of BLE packets, prints sizes
- midi-test -- simple TX of midi messages over DIN
- parserUnitTest -- Exercise of BLE MIDI packet decoder
- serial-test -- Simple serial test
- documentation -- Right now, only output of ble-test during Tsunami app transmission
Hardware requirements
- nRF52832 Breakout
- MIDI shield -- only populate MIDI jacks.
Connections:
nRF Pin |
MIDI Shield Pin |
---|---|
GND | GND |
3.3V |
5V |
26(RX) |
RX |
27(TX) |
TX |
11 | 7 (Red LED) |
12 |
6 (Green LED) |
Software
Requirements
- nRF52832 Arduino board package -- see nRF52832 Breakout Hookup Guide
- BLE library -- API doc
- FortySevenEffects Midi Library
Status
- BLE to Serial MIDI
- Decodes all forms of BLE MIDI data
- SysEx ignored
- BLE timestamps ignored
- Serial MIDI to BLE
- Converts all MIDI messages to Full type
- Applies timestamp
- SysEx ignored
Bugs / Future Work
- Serial port locks at boot sometimes, needs reset button press.
- When uploading a lot of tests, sometimes connection won't hold - connecting other devices sometimes resolves this, or try renaming the device in firmware.