USB-BLE MIDI-Adapter – Kabellose Verbindung für Musiker
Komponenten und Materialien (drei Varianten)
Variante 1: Arduino 101 + Hobbytronics USB MIDI Host Breakout
- Arduino 101 (integriertes BLE)
- Hobbytronics USB MIDI Host Breakout
Verbindung: 5V, GND, TX (Breakout) → RX (Pin 0) am Arduino 101.
Variante 2: Arduino Mega ADK + SparkFun nRF52832 Breakout
- Arduino Mega ADK (USB Host)
- SparkFun nRF52832 Breakout (BLE)
- Bidirektionaler Logic Level Converter (5V ↔ 3,3V)
Kommunikation per I2C (SDA/SCL). Level Shifter für 3,3V/5V nötig. In variants.h des nRF52 SDA/SCL neu definieren.
Variante 3: Arduino Uno + USB Host Shield + LightBlue Bean+
- Arduino Uno + USB Host Shield (oder Mega ADK allein)
- LightBlue Bean+ (BLE, auf 5V Betrieb umschalten)
I2C-Verbindung: Bean+ (Master) fordert MIDI-Daten vom Uno (Slave) an.
Software
- Arduino IDE
- Entsprechende Sketches (siehe Code-Sektion)
Projektbeschreibung
Ziel
USB-MIDI-Instrumente (Keyboard, Controller) kabellos per Bluetooth Low Energy (BLE) mit iOS-Geräten verbinden (GarageBand, DrumJam, GeoShred etc.). Normalerweise wird ein Camera Connection Kit benötigt – dieser Adapter ersetzt es.
Funktionsweise (alle Varianten)
- Arduino mit USB-Host liest MIDI-Nachrichten vom Instrument.
- Daten werden per Serial (Var. 1) oder I2C (Var. 2 & 3) an das BLE-Modul weitergeleitet.
- BLE-Modul sendet MIDI über seinen MIDI-Service an das iOS-Gerät.
- Richtung: Nur USB → BLE (kein Rückweg).
Details zu den Varianten
Variante 1 (einfachste Hardware)
Sketch: CurieUsbMidiBridge.ino auf Arduino 101. Nur Note On/Off implementiert (Control Change, Aftertouch, Pitch Bend auskommentiert). iOS-App verbindet sich mit „CurieBLE“. Für Apps ohne natives BLE-MIDI: midimittr als Brücke nutzen.
Variante 2 (nRF52832)
Sketches: nRF52MidiWireMaster.ino (nRF52) + UsbMidiWireSlave.ino (Mega ADK). nRF52 ist I2C-Master. BLE-Name: „nRFMIDI“. Auch hier nur Note On/Off.
Variante 3 (Bean+)
Sketches: BeanMidiWireMaster.ino (Bean+) + UsbMidiWireSlave.ino (Uno + Host Shield). Bean+ auf 5V stellen. BLE-Name: „Bean+“. Control Change & Aftertouch auskommentiert.
Quellcode
Alle Sketches auf GitHub: joebowbeer (Repos: CurieUsbMidiBridge, nRF52MidiWireMaster, BeanMidiWireMaster, UsbMidiWireSlave).
Herstellungsprozess
- Günstiges drahtloses Sensornetzwerk für Zuhause selbst bauen
- Kabellose Datenübertragung per Magnetfeld: Arduino & Infineon 3D-Sensor (TLE493D)
- Bluetooth-gesteuerter Arduino-Spybot bauen – Überwachungsroboter mit IP-Kamera
- FlickMote: Gestensteuerung per Ultraschall & IR für Smart Home (Arduino 101)
- DIY Arduino TV-B-Gone: Universelle TV-Aus-Fernbedienung
- Einen eigenen LED-Master-Clock mit Alarm bauen – aus 12 Metern Entfernung ablesbar
- Unopad: Nahtloser Arduino MIDI-Controller für Ableton Live
- Arduino Touch Breakout-Spiel: Klassisches Arcade auf 2,4″ TFT LCD
- MIDI-Keyboard zum smarten Klavierlehrer umbauen – Arduino, LEDs & MuseScore
- Find Me: Smarter Gegenstands-Finder mit Arduino und Bluetooth