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
- 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) |
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.