Arduino MIDI-in shield

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:

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).

Arduino MIDI-in shield

Step 2: Board layout, parts list, etc.

Part list:Resistors (1 piece each): 220 Ohms, 100 kOhms, 3.3 kOhms
Diode: 1N4148
Optocoupler: 4N28
5 PIN DIN connector (MIDI connector)
2 pinheads 1×8
1 pinhead 1×4
1 pinhead 1×6

Schematic Arduino MIDI-in shieldIt will also work with other Optocouplers (e.g. a 4N35, I used a 4N29)

Attached are the necessary files for etching the board and the eagle-files if you want to make modifications.

board.pdf(595×842) 34 KB
parts.pdf(595×842) 36 KB

Step 3: Production

Just a few hints for making the shield:

A very good how-to (that actually worked form me unlike many others) for etching the board can be found here:

If you are a noob like me and want to modify the board in eagle then try these instructables:

Soldering the pinheads upwards down on the board so you can directly put it on the arduino is a real pain in the ass. I rasped a head of my soldering iron so that it became small enough to do that job. let me know if you have a better solution.

For this board I used a DIN connector that can be soldered directly to it. If you want to use another one be sure to connect the pins with the numbers on the board to the according pins on the connector. In the pic here the pins are seen from the back (where you solder).

[box color=”#985D00″ bg=”#FFF8CB” font=”verdana” fontsize=”14 ” radius=”20 ” border=”#985D12″ float=”right” head=”Major Components in Project” headbg=”#FFEB70″ headcolor=”#985D00″]Arduino

Diode: 1N4148


For more detail: Arduino MIDI-in shield

About The Author

Scroll to Top
Read previous post:

[ArduinoNmore] took an interesting approach to designing a counter intended to accurately display how many meters of filament a 3D printer...