2host - a DIY USBMIDI host-to-host adapter


(pronounced “Toast”) - a DIY usbmidi host-to-host adapter.

2host uses 2 TeensyLC’s to create a bridge between two USBMIDI Host devices.

Some examples of usbmidi hosts which could be connected together:

  • norns
  • organelle
  • orca
  • ansible (not working - debugging in progress)
  • ipad (with Camera Connection kit)
  • ableton or other DAW on your computer
  • raspberry pi (pisound, etc.)
  • etc.

This is pretty much a DIY version of the Sevillasoft MIDI USB-USB device.


PCBs available now.

Github here: https://github.com/okyeron/2Host

Updates will be posted here as things come along.

Note - its the little green thing at the bottom of the frame in these videos



So far as enclosure goes, I quite like the quality of the shapeways’ printed version of the offworld-1 case @bpcmusic designed Offworld-1: USB power utility if you are looking for some inspiration.

1 Like

Wish I had a 3D printer. :slight_smile: Maybe I can get @bpcmusic to hack something up for me in his copious free time :laughing:

I’ll probably space out the teensies side to side and add a couple mounting holes in the middle of the board. Then it’d be easier to attach something laser-cut or 3D printed.


Thought about this as I used 2x E-MU Xmidi1x1’s to connect norns to ansible today. So much extra cabling! Can’t wait for 2host :sweat_smile:


Built the first of the new board design just now. Gotta go laser a little case maybe tomorrow.

But but but… for the moment, 2host won’t work with Ansible, yet. (due to Ansible/libavr32 barfing on the HID interface Teensy has along with midi) :frowning:

I’ve got an Ansible issue filed and need to try hacking on a fix again, but I don’t know C well enough to solve this on my own.


Did some hacking on Ansible/libavr32 and got 2host midi working with norns+ansible. Yay!


Update - I have some pcbs for this available now and 1 with SMD already soldered. PM for details.


Are the optocouplers just used to keep host A and host B galvanically isolated w/ Teensys powered separately by their respective hosts? I’m wondering if this PCB would be perfect for my hypothetical Grid -> Teensy as HID keyboard -> Teletype setup.

Yes. (although I’m not sure I understand what “galvanically” means here so I googled the answer :slight_smile: )

(Apparently theres a way to do the MIDI RX>TX TX->RX thing between the two boards without the octocouplers, but you need to flip the signal polarity or use a flux-capacitor or something :stuck_out_tongue: - it’s just easier with the Octocouplers )

Although for your hypothetical - I believe you would need USB host on the Teensy to talk to the grid. I actually have a different bit of hardware for that scenario. If you were going to do some hacking I might be able to get you a prototype pcb for that.


This looks really interesting and like it might solve my problem of wanting to control the Gakken NSX-39 “Pocket Miku” using a small USB midi controller sans computer :slight_smile:

1 Like

Pocket Miku!

So the only concern here is power. You would need to get power to the NSX-39 and the Teensy on that side of the 2host. Not sure if the 3 AAA batteries would do the trick to power the Teensy (since that’s only 4.5v max)

So… you could maybe spilt 5v power into the USB cable, or (easier) tap a couple wires into the Teensy power pins.

Current 2host software does not send Sysex, so I’d be curious to see a midi implementation chart for the NSX-39

1 Like

Oh ya know - my previous post is all wrong. 2host won’t work with usbmidi “devices” - which is what a midi controller and the pocket miku are.

You need a small host device. A Raspberry Pi would be a good solution (although, yeah it’s a computer)

Some info here. Charts and technical info here in Japanese. Source for some WebMIDI apps here, including the one that lets you textually program what syllables to play! Sorry that this is totally off-topic, is the time ripe for a Pocket Miku thread? I’m just thrilled (and wholly unsurprised) that other people here have one.

Hehe… I didn’t know about this box and now I kinda want one. :slight_smile:

MIDI foo here: http://yamaha-webmusic.github.io/nsx1-apps/specs/ANMW820A-001-10-j.pdf

1 Like

Is there any plan to do another run of these?

@okyeron I would also be interested if you plan on doing another run.

1 Like

I have pcbs - but builds are pretty much done to order thing at this point. Zap me a DM.


Hi Okyeron - I have just built my 2host and have it connected successfully to my fates build which it recognizes through the midi devices in the system settings - so far so good. When I run awake or any other script that can output a midi sequence, I see both teensyLCs light up which looks like they are communicating ok, however I am not able to see the 2host device on the other side when connecting to an Ipad. Should 2host show up as an input channel on the iPad in AUM or other synth’s midi input/out put settings?
I’ve tried to switch the input connections on both sides and get the same results. I also tried to connect to midi wrench to see if I could see it and no dice there.
Do you have any other tips in troubleshooting the connection between 2hosts and various host devices? thanks!


So with my ipad, I need to use the old camera connector kit (and a 30pin to lightning adapter) to get midi to work.

What are you using to connect 2host to the ipad? Does that same connection work for a regular midi device (like a keyboard or something)?

For other troubleshooting - try plugging the other side of 2host into your computer and see if you get midi there. That will at least confirm 2host is working as planned.

I believe the device should show up as a midi device called “twohost”

I am currently using the lightning /usb camera connection kit that is only self powered, I still need to try the cable that is has the charging connection which may work - I’ll update on that one if it changes anything and confirm on the PC side to ensure it is working as expected.