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…
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:
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:
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
The case fit back perfectly, though required some glue to hold in place and MIDI-OX finally came to life!
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.