Cheap USB MIDI cable: some self assembly may be required

USB-MIDI-Cable

I had recently bought a Rock Band 3 Wii keyboard which has come down in price to around £10 with an intention to connect it to a cheap Chinese USB to MIDI interface cable for around £3 pictured above to do some MIDI experiments on my computer. Videos online demonstrated that connecting the IN connector to the keyboard and USB cable to the PC was all that was needed to use it, but I just couldn’t get it working. The Rock Band keyboard detected a MIDI cable and switched to MIDI mode, PC properly detected USB MIDI device, but there were no messages in the MIDI-OX application. That’s when I decided to open up the plastic casing to find a few surprises…

usb-midi-disassembled

First thing I noticed, were the missing components on the board pictured in the red square. After further investigations, it turned out that the wiring was done completely different to the MIDI specifications. Here is a very rough schematic of how it’s done and how it should have been done:

usb-midi-schematic

The MIDI specification requires an opto-isolator to completely isolate MIDI connected circuits. The USB cable did not have these parts populated and used a common ground for signal transfers. Rock Band keyboard probably was not expecting this. No wonder it did not work!

So, I went to Maplin and purchased a low-current opto-coupler SFH618-2 for £1.39. A quick assembly on the breadboard and a bit of soldering for ground, 5V and data lines to get to this:

usb-midi-breadboard-experiment

And it worked! It was finally time to populate the missing components:

  • Got rid of the R11
  • Soldered opto-coupler in U1 and it was a perfect fit for the pinout. I only had to shorten the pins to mount it as close to the board as possible.
  • Soldered a 220 Ohm resistor in R5
  • Removed the red DIN connector wire completely from GND connection and trimmed it
  • Soldered the black DIN connector wire to IN- pad
  • Soldered the green DIN connector wire to IN+ pad

usb-midi-extra-components-added

The case fit back perfectly, though required some glue to hold in place and MIDI-OX finally came to life!

MIDI-OX

This USB MIDI cable might be a cheap and quick way to add USB enabled MIDI for Arduino, but I’m really wondering if it would have worked with any MIDI device at all due to incorrect wiring. You get what you pay for: some self assembly may be required.

If you enjoyed this post, please consider leaving a comment or subscribing to the RSS feed.

106 thoughts on “Cheap USB MIDI cable: some self assembly may be required”

  1. There are a lot of model of this cheap usb 2 midi converter, I bought nearly every models and try, only one model can work, finally I decide to make my own converter using the ch345chip, no more missing component, should work fine.

  2. Hi! Did you try it with Apple devices? I tried to connect it to iPad via lightning cable, but I got a message that says ” inte false is not supported “

  3. I was pulling my hair out, opened my device like yours and found like yours no opto coupler fitted, fitted like you on breadboard all working. i used a 6N137 because that’s all i had in stock.

    1. Hi, VERY USEFULL tech solution!
      Also my cheap USB2MIDI cable (from China) has the same problem.
      But also here I have only the opto-isolator 6N137 that has got 8 pins.
      Can anybody help me understand if the following connections are correct?
      Looking to the image in the post:
      Upper Left –> pin2 [6N137] pin7 –> Upper Right
      Lower Left –> pin3 [6N137] pin6 –> Lower Right
      In fact the optoisolator 6N137 has 8 pin (4 per side).
      Please help me…

  4. Hi, awesome article.
    I have pretty much the same device, but I notice that mine is missing another component. I think it might be a capacitor, the component is usualy found on the back side of the circuit board and is marked C3. Can anyone please possibly tell me what cap I’m supposed to use there? Thanks in advance.

      1. Thanks a lot for checking… I figured it out on my own after a while of testing. The device is working as it should now, but it still can’t do the things I bought it for. I’ll buy one of those fancy “Uno” midi to usb cables some day when I have cash, appearently it will work…
        Thanks anyway for the help.

  5. Thank you! Have just ordered the Maplin component and will have a bash at this. Thank you very much for posting both the maplin link and the photos – very useful. I seem to spend my life soldering tiny things these days!!

  6. To add to my last comment, yes, you need to bridge R11. If you don’t you get all sorts of note-off messages which are on different octaves and sometimes different notes / channels. I think one person mentioned this. Anyway, if you have this issue, just bridge R11 as well as doing the other stuff.

      1. If you’ll make the bridge you’ll bypass the opto and you will send incorrect current direction, so no, you don’t need the bridge.

        P.S. I haven’t solved, sadly
        Bye

  7. Hi,

    I recently bought two of these adapter cables, both labelled differently, but using the same PCB with no opto-isolator fitted.

    Before I go to the trouble of ‘upgrading’ them, can anyone tell me why the none of the USB ports on my new HP desktop don’t fall back gracefully to work on these and many other USB 2 devices which I own?

    Even the two ports which are labelled USB2 suffer the same problem.

    1. Use a passive usb hub on those ports. I own a cheap (Chinese – sigh) USB ASP adapter that does not work on any port of my laptop as long as I do not connect it via a cheap (Chinese – grin) usb hub.

  8. Bloody Chineese piece of … argh…

    It seems that it does not only violate MIDI specification (absent opto-isolation), but corrupts SysEx messages sent via the converted as well. So you can’t upload patch dump into your synth from your PC, for example.

    Going to connect my oscilloscope and check what happens to SysEx messages right now.

  9. Hello, thank you for the very informative post. I recently purchased a cable identical to yours. The circuit was exactly like yours in the first picture. The only differance is, mine has both a midi in and a midi out cable. When I first connected it the device I connected to my PC (A Pod 2.0 in case that matters), could send data to my PC but it would not receive anything.

    I tried your solution above but desoldering R11, even though I connected everyhting else as shown, broke the out connection as well. The In connector is soldered to the IN- and GND connections, while the OUT is soldered to D+ and D- connections. Note that I need to connect the OUT cable to the IN connection of my device etc.

    Any suggestions on if and how I could make this work would be great.

    1. Angel K, your description of your case is so hard to understand…

      The pair of wires going to MIDI IN jack must be rewired: one wire to IN–, another to IN+. Nothing should be connected to GND, connecting to GND can damage your music equipment in worst case.

      R11 must be desoldered, U1, R5 and D1 have to be installed.

      I have just fixed mine.
      Before fix: https://pp.vk.me/c638616/v638616760/c41c/_cSLkU5kUR0.jpg
      After fix: https://pp.vk.me/c638616/v638616760/c430/f6y5k2YxkiI.jpg

      1. Hi,
        for me the fix did not working.
        The only difference is in opto PC817 (Maybe this component is not fit for this purpose?) and I haven’t used diode D1.
        Any suggestions?
        Regards
        Siro

  10. My pc can send data to the keyboard but the reverse does not occur, as if my pc was a “master” keyboard linked to “slave” keyboard (actual keyboard). My midi cable is also missing C1, C2, opto and R5

  11. Mine is same problem: PC to keyboard is okay, but keyboard to PC is not functioning.
    i checked the opton-isolators used in previous posts. What I have done is :
    1. 817 optonisolator
    2. 220 ohm resistor
    3. remove 0 ohm resistor
    4. A2 unknown smd diode (and tried 1N4148 diode, same result)
    5. relocate the red wire (keyboard out) from GND to IN+(marked on the PCB board)
    If anyone knows which I ‘ve done is wrong, please kindly give a post.

    1. Hi, I know exactly what’s your problem: 817 is too slow. It cannot handle the Midi frequency ( 31250 rate ).

      You have to choose something like 357t, 6N137/6N138 or SFH618A-2

      Regards

      1. I use PC817 as well, still not working (the fix managed to get data sent to MIDI-OX, but the data is still wrong). Can’t find any info in the datasheet about how much bps it can handle, how did you know that it was 817 that’s causing the problem?

        My errors with 817 (MIDI-OX output):
        When I press any key, it did say note on, but it’s always C -1 note (normally it should be A 4, G 2, etc… right?) also for every note on, there’s always 4 to 6 note off. All of this happened with only 1 key press (I haven’t even lifted my finger from the keyboard, note off shouldn’t even appear in the first place)

        Anyone?

        1. Siro massive thanks! I changed the optocoupler to PC123, and it works fine!

          for anybody in need of an explanation (kinda), you can google PC817 and PC123 datasheet. There is a graph with resistor value in x-axis and RESPONSE TIME in y-axis. You can see that PC123 has less response time (faster) than PC817 with the same resistor value. Somehow it makes PC123 able to communicate in MIDI data rate (not sure if I’m using the right words, also can anybody do the math?), while PC817 can’t (has errors I described in my previous comment).

          why not 357t? My local electronic shop only has PC123. Also, if you compare response time from both datasheet, it’s kinda similar. I can guarantee you if PC123 works, 357t will. Just remember, DON’T use PC817

  12. This adapter doesn’t work with all devices.
    I have two pieces, one equipped with a SFH618A-2 and one with a 357T.
    Both are working fine with a new Thomann DP25 but receiving only crap with a old Roland E20.
    I also have a third one i bought some years ago which looks identical but has a whole other pcb:
    http://imgur.com/jtRCVkv
    This one works fine with all tested devices.

  13. OMG! You saved me. I have been *plagued* by the fact that one of my MIDI devices just wouldn’t work with my cheap generic USB MIDI cable – all my other ones work fine… and further… *from* my computer works fine to the device in question, but the *output* from this one device doesn’t. I saw your post and cracked it open… Identical!! Now I just need to get the right components.

    THANK YOU!!

Leave a Reply

Your email address will not be published. Required fields are marked *