I've created a circuit on my breadboard including multiple shift registers and a teensy 2.0++.

My program takes inputs from the shift regs and converts them into MIDI messages. Using my teensy in MIDI mode, my project works just fine.

I'm now moving all this to a permanent solution using an ATMEGA328P. I used my teensy as a programer and then as serial-to-USB-bridge. The project works well this way too, and the midi messages are received and interpreted correctly by my DAW.

When all the stuff is moved to the casing and screwed together, I want to use MIDI-over-USB instead of using regular MIDI connectors.

So my question is this: How do I extend my circuit to be compatible with USB HID and send the serial data via USB-MIDI?

Ideally I'd like to have an architecture with exchangeable I/O Boards:

  • My main controller outputs the MIDI commands via a 31250 baud serial bus. This signal could then be sent to:
    • A USB-board that sends the MIDI via USB
    • A standard MIDI-board
    • Or even an ethernet-board to add network support.

Would that be worth the effort?
How could that be done?

  • \$\begingroup\$ @Robherc KV5ROB How is asking for what chip, or category/type of chip, to use for a particular purpose "shopping"? That the OP doesn't know this seems a reasonable thing to not know if you're a neophyte. \$\endgroup\$ Feb 21, 2016 at 7:54
  • \$\begingroup\$ @RobhercKV5ROB Techydude is right. I don't want any shopping advice and I also know where I get the parts from single units to thousands. I just need to know what I need to buy and what to be aware of. \$\endgroup\$ Feb 21, 2016 at 8:55
  • \$\begingroup\$ Why did you choose the ATmega328P? \$\endgroup\$
    – CL.
    Feb 21, 2016 at 9:00
  • \$\begingroup\$ I have just a little experience with micro controller development (even though I'm an experienced software developer) and for me it was just logical to choose a chip that can that I do know well. Would you recommend something different? \$\endgroup\$ Feb 21, 2016 at 9:38
  • 1
    \$\begingroup\$ @Julian Thank you for updating your question to comply with EE.SE standards. My downvote & corrective comments have been removed. (And welcome to Stack Exchange, btw). ;-) \$\endgroup\$ Feb 22, 2016 at 5:00

1 Answer 1


The cleanest way to build a USB MIDI device would be to use a microcontroller that supports USB natively, and implement the USB MIDI protocol directly.

Otherwise, the easiest way to get USB MIDI support is to take apart some cheap USB MIDI interface and duct-tape it to your circuit.

  • \$\begingroup\$ Which begs the question of the OP, why not stick with the Teensy, which is also in DIP format, and is already doing the job? (Maybe i'm not quite understanding what you're trying to do) \$\endgroup\$ Feb 21, 2016 at 8:58
  • \$\begingroup\$ I just want to build a permanent solution which gets built into an existing instrument. I don't want a USB-programmable device in the end. It should be fully enclosed. \$\endgroup\$ Feb 21, 2016 at 9:40
  • \$\begingroup\$ @CL. this sounds promising though. I searched but didn't find reliable reference on what (maybe smaller) microcontrollers support USB and the Arduino platform as well... I could implement USB MIDI without big trouble. \$\endgroup\$ Feb 22, 2016 at 0:00
  • \$\begingroup\$ @Julian There are many MCUs with USB and Arduino(-compatible) libraries, but USB itself is often not part of those libraries, and that would be the hardest part. \$\endgroup\$
    – CL.
    Feb 22, 2016 at 7:43

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.