USBMIDI-Adapter
Turns an Arduino into a USB to 5-pin DIN MIDI adapter.
- Boards: 🛈
- AVR USB, Due, Nano 33 IoT, Nano 33 BLE, Pi Pico, ESP32-S3, Teensy 3.x
Connections
- TXD: connected to a MIDI 5-pin DIN output connector (with series resistor, possibly through a buffer)
- RXD: connected to a MIDI 5-pin DIN input connector (with an optocoupler)
See https://midi.org/specifications/midi-transports-specifications/5-pin-din-electrical-specs for the schematic, optocoupler models and resistor values.
Behavior
- The Arduino will show up as a USB MIDI device.
- Any MIDI messages sent to the Arduino over USB are sent out to the 5-pin DIN output connector.
- Any MIDI messages sent to the Arduino through the 5-pin DIN input connector are sent over USB.
- See also
- MIDI over USB
-
MIDI Tutorial
Written by PieterP, 2024-01-21
https://github.com/tttapa/Control-Surface
void setup() {
midi_ser | pipes | midi_usb;
}
void loop() {
}
The main header file that includes all Control-Surface header files.
static void updateAll()
Update all enabled instances of this class.
static void beginAll()
Begin all enabled instances of this class.
A class for MIDI interfaces sending and receiving MIDI messages over a Hardware Serial port.
A class for MIDI interfaces sending MIDI messages over a USB MIDI connection.
std::pair< MIDI_Pipe, MIDI_Pipe > BidirectionalMIDI_Pipe
A bidirectional pipe consists of two unidirectional pipes.