This instructable shows how to build a shield to connect devices that send MIDI signals (e.g. a masterkeyboard) to an Arduino.
The basic schematic is derived from: http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1187962258/

Step 1: The schematic

Basically the schematic is just an optocoupler with some resistors to decouple the MIDI device from the Arduino.
Note that the DIN connector on the left side is seen from the back (solder pin-side).
According to the spec sheet for the <a href="http://www.vishay.com/docs/83725/4n25.pdf" rel="nofollow">4N28</a> chip, the diagram above is wrong. Starting from the top on the right hand side, you should have pin 6 as N/C, pin5 as out to Arduino (with a 270 ohm to +5v), and pin 4 on the bottom as ground. A better chip would be the <a href="http://www.vishay.com/docs/83605/6n138.pdf" rel="nofollow">6n138</a>, and follow this <a href="http://4.bp.blogspot.com/-0hrsk6ETAAQ/TyDZjNV1V-I/AAAAAAAAAI8/BQChPc_iGj0/s400/Arduino+Midi+In.jpg" rel="nofollow">schematic</a>.
hi, <br>sorry, but i don't see the difference. the schematic is exactly as you explained. the only difference is that i use a 3k3 instead of 270R to +5V, which should not make a difference in means of working/not working.
You are grounding the base of the photo transistor through a 100k resistor. why?
as sid in the instructable in step 1 this is not my schematic, i got it from somewhere else. but from my (limited) understading of electronics this should not make any difference if there are 100k or no resistor.
Apparently, from the comments of others, it does make a difference. They could not get your schematic to work unless that connection was clipped. I can't see a reason for it in the first place, according the the datasheet for the part.
Thanks for the schematic! I have a bit of trouble, too, until I ditched the 100k resistor. It's working like a charm.
Is there anybody who got this schematic working? In the Arduino Forum ( http://arduino.cc/forum/index.php/topic,22447.0.html ) somebody was telling that the midi connector is reversed is this true? The Sparkfun MidiShield has it reversed http://www.sparkfun.com/datasheets/DevTools/Arduino/MIDI_Shield-v13.pdf <br>But they are using a different optocopler. <br>Here some other guy is telling that the schematic is wrong - http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1187962258/60#71 <br> <br>In the end i want to use it with the Arduino MIDI Lib http://arduino.cc/playground/Main/MIDILibrary it would be helpful to have Schematic with an LED or Servo to check if it's working and the related sketch for it. <br> <br>Anybody out there who could help? <br> <br>Thanks! <br> <br>Johannes
hi,<br>sorry for the late reply - i was offline for a few days. all i can say is that this shield worked well, though i used a quite old arduino (arduino ng), but that should not pose a problem. the midi connector in the schematic of the forum is reversed, but the schematic in step 1 of this instructable is correct (read the remarkt on step 1 for details). also the schematic in general should not be wrong - the same one is shown on the midi - homepage at http://www.midi.org/techspecs/electrispec.php
If you are having a problem with this schematic then this might help. Don't connect anything to the pin with the 100k resistor on the drawing. This took me a week to figure out.
Would you know where to buy a MIDI&nbsp;connector? I've been having problems finding a source besides SparkFun.<br />
hm - i could recommend some place but don't know if they would be helpful since i'm based in austria/europe. mabe someone else has an idea?<br />
I made this circuit, debugged it, asked in forums, and it STILL does not work!!! What could be wrong? I am using the 4N28 as above<br />
uh... hard to say from a distance... maybe a few hints:<br />- is it really the circuit or is something wrong with the arduino (i had that problem, see above) or is the MIDI-signal not coming through properly?<br />- are there any solder bridges or something that looks strange?<br />- did you solder the DIN connector to the circuit in&nbsp; the right way<br />- try to change the optocoupler, i once had a broken one<br />... anyone more suggestions?<br /><br />
Ok I fixed it. It seems that it does not operate with the 100K resistor on pin 6 connected to ground. I removed the resistor, and left pin 6 connected to nnothing, and I am now registering serial data. Now I just have to verify the operation will be reliable...<br />
I'm going to try and use this with the <a rel="nofollow" href="http://www.youtube.com/watch?v=1LKmtJHSLF0">Auduino Synth</a>, maybe use a proto-shield instead of etching my own though..<br/>cheers!<br/>
this sounds great! would be cool if you could write an Instructable when you figured it out... i would definitely like to build one! best, carlos
I've got a couple of instructables in the works atm, but the midi auduino is on the cards!
Wait..Arduino's can play midi's?
well, at least it can recognise the MIDI signals. what you are doing with the signals then is up to you: assigning frequencies to it and sending it to an amp/speaker (=a simple synth) or driving relays (like i am going to do) are just two of a lot of possibilities :-)<br/>
Oh i get it now ;)
I recently posted about some <a rel="nofollow" href="http://www.uchobby.com/index.php/2008/12/28/new-breadboard-adaptor-pcbs/">Breadboard adapters</a> at uCHobby including a MIDI In and MIDI Out adapters. These could be used the Arduino and feature an enable that allow for safe use along with the boot loader. I will try to have a more detailed write up on the MIDI adapters soon.<br/>

About This Instructable


45 favorites


More by carkat: fail: a full tilting 3-wheeled cargo bike build a 2-wheel cargo bike how to build a cargo bike
Add instructable to: