Arduino MIDI Proto Shield

Whilst on the topic of MIDI modules with built-in expansion capabilities, I also wanted a prototyping shield for an Arduino Uno that has the MIDI circuitry pre-built, so this is the next project.

ArduinoMIDIProtoShield-3d

Update:

Tutorials used in this project:

If you are new to microcontrollers, see the Getting Started pages.

The Circuit

ArduinoMIDIProtoShield-sch

This is the very common 5V ready MIDI IN and OUT circuits, utilising a 6N138 for the IN.  I’ve linked up a second set of header pins, as I wanted the first rows of the prototyping area to be linked to the Arduino’s IO pins.

But I’ve also included jumpers that allow for the MIDI interface to be disconnected from RX/TX if required.

PCB Design (V1)

ArduinoMIDIProtoShield-pcb

The prototyping area was created by adding a single through-hole, setting the grid to 2.54mm and then cutting and pasting many more of them into the space.

There are three columns for 3V3, 5V and GND.  These were created by assigning those holes to the correct nets in KiCad and then joining them up. I did create a cut-out in the GND fill zone on the underside of the board around the GND column and then joined them up by hand, otherwise there was a bit of a weird cross-hatching pattern going on between the holes due to the automatic filling algorithm.  A single strip I thought was probably more sensible.

As none of these holes appear on the schematic, I get a lot of warnings about pcb and schematic miss-matching when I run the design rules checker.  There is probably a correct way to handle that, but I’m afraid I’ve just ignored them!

Also whilst the 3D view shows rows of pin headers, I’ve only used them here for the footprint really. I don’t anticipate populating them when in use.  I just wanted a way to link the Arduino standard headers to the prototyping area.

ArduinoMIDIProtoShield-ger

PCB Design (V2)

ArduinoMIDIProtoShield-2-3d

I wanted to order some more of these boards, so took the opportunity to add a dual-footprint socket. It can now (hopefully) be populated with either 5-pin DIN sockets or stereo TRS sockets.

The jumpers have also been moved to the edge of the board and will hopefully share a footprint with a small, pcb mounted DPDT switch if preferred. This has also freed up a little space near D13/D12 so I’ve added in a few prototyping holes there too.

ArduinoMIDIProtoShield-2-pcb

PCB Design (V3)

ArduinoMIDIProtoShield-3-3d

A third iteration of the board exists that is the same as the V2 design but with two extra rows of GPIO pins that extend outside of the Arduino Uno footprint.

ArduinoMIDIProtoShield-3-pcb

Closing Thoughts

As I started with the standard MIDI circuits, as used in my design for the Arduino Uno Dual Merge MIDI “Shield”, I’d copied over the mistake from that board – the footprint for the 6N138 was too wide (again).  Thankfully this time I spotted it when I printed out the design on paper!

This shield would have been so, so handy for some of my early projects, but I can still foresee plenty of uses, assuming it turns out ok, so I still think it is well worth doing.

Update: The V2 design should also allow for a stackable MIDI interface or circuit if required (see Arduino Stackable TRS MIDI Interface for a prototype using the V1 board) and the V3 design will provide more options for building “stackable” shields.

These boards have been manufactured using the Seeed Fusion PCB service, which I am happy to continue to recommend. They have been supported with discount vouchers that I’ve been sent by Seeed for my previous projects.

Kevin

3 thoughts on “Arduino MIDI Proto Shield

  1. I’m (viacriously) enjoying your work on PCB for MIDI. If you are looking for the next challenge:
    I’d like a PICO board that includes a color LCD or OLED graphic display, a rotary encoder with push sw, a couple of buttons and MIDI In AND Out jacks. Extra credit for including an SDcard socket.
    This would enable me to make a bunch of projects that I’m currently using a PyGamer for (but that lacks an encodere and MIDI jacks). Ideas for projects include: a more powerful MIDIgal/pal, a MIDI Recorder/Player/Looper, and probably other stuff.

    Like

    1. Ha! Ok! No promises, but I’ll have a think and see what might be the art of the possible…

      I have a pico midi with extra io pins on the way, so that might get part of the way there!

      🙂

      Like

      1. Actually, thinking about it a little more – the MiniDexed shields have almost all of that for the Raspberry Pi already… it perhaps wouldn’t be a huge stretch to switch it to a Pico! Although I’m not sure about an SD card… I think it is just SPI, but the footprint of an SD socket might not be easily hand-solderable….

        Like

Leave a comment