Instructables
Picture of Simple MIDI in cable
How to make a SUPER simple MIDI cable to send data to your joystick / MIDI port.

I had a M-Audio USB uno, which worked great on my ghetto keyboard, but on my newer setup, it would constantly dump garbage notes. Rather than go spend yet another wad of hard earned money, I realized that I probably had most of the parts at my house already.
 
Remove these adsRemove these ads by Signing Up

Step 1: Do your homework

After googling around for a bit, I came across a few basic schematics. This one was the schematic I was planning on following, but I had to deviate slightly.

http://web.singnet.com.sg/~lau0cy/pc_midi.gif

My local Fry's Electronics didn't carry a 6N138, but they had the NTE equivalent which I found was a NTE3093. I had resistors at home, but I found I was out of 220 ohm, so I went with 270 ohm, which appear to work just as well.

I didn't care about sending MIDI signals out of my PC, so I left that part out of my design. I wanted all the parts to fit within a DB15 casing.

References:
http://web.singnet.com.sg/~lau0cy/sb.htm
http://www.nteinc.com/specs/3000to3099/pdf/nte3093.pdf
http://nte01.nteinc.com/nte/NTExRefSemiProd.nsf/$$Search?OpenForm

Step 2: Make it REALLY small

After verifying that the schematic did in fact work, it was time to start stacking the parts on top of each other. With only 4 components, this was going to be easy. Building projects using this method can be a great space saver, but will make it HELL trying to repair or debug something, so be sure that everything is working as it should first.

To make this go a little easier, I broke off the 3 extra pins from the IC.
If you don't have the specific optocoupler (I didn't), you can replace the coupler with just about any you can find. I pulled my coupler (SFH617A) out of an old computer powersupply and added a small random transistor because my chip doesn't have a transistor like the 6M138 does between pins 5,6, and 7. It works great.
BTW all the parts you need should be in a computer power supply if you feel like removing parts from the PCB. The coupler will usually be a 4-pin dip.
IMAG0376.jpgIMAG0994.jpg
Could ya make a USB version?
Bray (author)  WhiteTigerTails6 years ago
Making a USB to MIDI controller would require much more circuitry. The reason this circuit is so simple is because most sound cards and motherboards which have a Joystick port already have MIDI IN and MIDI OUT on pins 15 and 12 respectively.

Actually, I think you could probably wire the instrument directly to these pins, however putting the optocoupler and friends into the design protects both the MIDI device and the PC from destroying each other.

More information about the Joystick/Game port pinout, look here.
I think it would be easier if you make this after going to Radio Shack to get a joystick-to-USB adapter.
Joystick to USB adapters won't work with this. They only provide a USB HID for joystic inputs, no USB endpoint for MIDI in/out. Also note that the MIDI ports are not wired to joystick pins, they are wired to pins which were supposed to be unused in the original PC joystick spec.
Now I understand. Thanks for clarifying the whole joystick-to-USB concept for me.
Also, I can't guarantee that this will work on every MIDI keyboard, but on my Casio CTK-496 keyboard, I have found that one could layer two different presets using a DIN-5 patch cable. It's a little complicated, since you have to change patches as well as the MIDI channel.
Derin6 years ago
wish i had the joystik port
Ibanezfoo6 years ago
This is cool! I used to use those old XT keyboard extenders for MIDI cables and they worked perfect.
An XT keyboard uses a din connector, just like MIDI. Essentially, the cables are the same.
ellisgl6 years ago
Only if I had thought of this instead of burning up din-5 and db-15 sockets back in the lat 80's when I was trying to make one when I was much younger.
LinuxH4x0r6 years ago
Wow! I didn't realize it was that simple. Nice job
Woah, nice job! Looks neatly done, great Instructable, the pictures are just incredible, nice work!