Understanding USB MIDI Host

Greetings! I have just started using the Daisy Seed, going through exemples in order to understand the platform. I’m also new to C++ embedded, but it’s been going well.

Im trying to build a Synth, and was wondering how to make the Seed work as a MIDI USB Host. Basically, connect a MIDI Controller through USB and send MIDI Note on/off messages to it. I saw the feature was just added last year, but I don’t really understand how it works and have a few questions.

  1. Can the Micro USB port be used for such a feat? Im guessing not, as it would have to both communicate data and also power the MIDI Keyboard, which would probably be too much for the Seed. If it’s possible, please let me know (this would mean that I have to power the seed externally, since the micro USB would be used for the MIDI Keyboard).
    My guess bould be that I would need to connect the Keyboard to pins D29 & D30 for data, and also power it externally.

  2. What would I have to change in the USB_MIDI example in DaisyExamples in order for the Seed to act as a Host, and not a Device?

Thank you!

  1. No you cannot use the onboard. You’ll need to use an external type A or C USB connector.
  2. You can see an example for MIDI host here: libDaisy/examples/MIDI_USBH_Input at master · electro-smith/libDaisy · GitHub

Sorry, that’s not correct. The USB_MIDI.cpp program puts the Seed in USB Device mode.
But yes, you can then send MIDI from a USB host to the Seed.

You’re right, I didn’t understand the difference between device and host mode, thanks!

So would this configuration be possible, on a daisy Pod:

  1. The seed board USB is connected to a pc with midi send/
  2. The pod board USB is connected to a powered midi controller with midi send/receive

while the firmware is in host mode?

Or is the only solution to attach another powered usb port to support a controller?

Is your goal to send MIDI from PC to Daisy via Seed’s onboard USB port and also MIDI from a controller via Pod’s breakout board USB port?
If so, is it possible to instead have the controller send MIDI to PC instead and have it be part of the MIDI that’s being sent to Daisy?