Saturday, April 24, 2021

MIDI USB Host to and from MIDI 5 Pin

Something that I have always wanted and needed is some way of using USB MIDI devices with 5 Pin DIN MIDI devices and vice-versa without going through a computer (or buying a third-party device). 

Teensy 3.6 can act as a USB host for USB MIDI devices, while also being able to send and receive serial data via 5 pin DIN ports. In this case, the Teensy acts as a USB host for a USB MIDI device. Any data that is received from the USB MIDI device is sent out via the 5 pin DIN connector MIDI out port. Any data that is received from the 5 pin DIN connector MIDI in port is sent to the USB MIDI device. 

This will be useful in many instances, for example sending or receiving data from M8 Headless, and then routing to USB devices such as modular USB MIDI to CV converters. 

The hardware is the Serial MIDI input and output found on this page, with the addition of a USB host cable that plugs into the USB host header pins on the Teensy 3.6. 



The code is based on a 6x16 USB MIDI example from the Teensyduino T36_host library. 




View and download here: https://github.com/little-scale/arduino-sketches/blob/master/MIDIUSBHost_to_MIDI5PIN.ino




3 comments:

Anonymous said...

Thank you for this post! Have you tried this with a USB hub? I can't seem to get it to recognize hubs, though I've only tried 2. Just curious if it's working for anyone else. I have installed the T36_Host library. I tried searching around forums discussing this library, but I can't find much information. Thanks!

Sebastian Tomczak said...

Yep I've had it working with a USB hub, however I've only tried it with one or two!

Anonymous said...

Can the m8 use the usb host port?