Raspberry Pi Pico Dual MIDI Carrier – Part 2

This is the build guide for my Raspberry Pi Pico Dual MIDI Carrier to support my dual-MIDI interfaces for a Raspberry Pi Pico designed by @VE7FIM from Twitter.  Although designed largely for my own personal use with that specific dual-MIDI module, it could still also be used to link to several off-the-shelf MIDI modules if required.

IMG_6560

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

Bill of Materials

  • Raspberry Pi Pico Dual MIDI Carrier PCB (GitHub link below).
  • 1x SSD1306 128×32 OLED display – Note: Requires pins in the order: SDA-SCL-VCC-GND.
  • 3x 10nF ceramic capacitors.
  • 1x switched rotary encoder – see photos for footprint.
  • Optional: 2x 20-way pin header sockets.

Mounting Materials:

  • Up to 3x VE7FIM’s dual MIDI modules for the Pico.
  • 3x 8-way dupont jumper cables with header sockets.
  • Optional: 3x 8-way pin headers.
  • 8x 3mm, 12mm stand-off posts (M-F)
  • 3x 3mm nuts
  • 3x 3mm, 6mm screws

Note that I used two 20cm, 8-way dupont cables and cut them to the lengths required and soldered the wires directly to the carrier board rather than using pin-headers.

IMG_6554

Build Steps

Soldering is relatively straightforward, there being a small number of components.  This is my recommended order:

  • The capacitors.
  • 20-way Pico headers (if used) or the Raspberry Pi Pico directly.
  • SSD1306 – NB: Verify it works prior to soldering, and double check the pin ordering.
  • Pin headers (if used).
  • Rotary encoder.
  • Connecting cables.

Here is a photo of the finished build.

IMG_6555

Alternative build options:

  • The SSD1306 could be left “off board” and mounted on a panel at right angles to the carrier.
  • Instead of an on-board rotary encoder, there are connections for a KY040 rotary encoder module to be directly soldered onto the board.
  • The Pico could be soldered directly onto the carrier board rather than using headers.

Assembly Instructions

These instructions apply to the use of the carrier with the aforementioned dual MIDI interface modules from VE7FIM.

Connecting cables are required.  I cut the 20cm, 8-way Dupont-style cables into the following lengths (including the pin header sockets themselves):

  • 70mm
  • 80mm
  • 120mm

IMG_6556

Each MIDI module and the carrier are joined with three sets of two 12mm stand-offs joined together.

Note that it isn’t possible to get a nut on the top of the stand-off hole underneath the Pico.  In fact, if the Pico is soldered directly to the board with no headers, then this hole will not be used at all.

I connected up my boards so that “MIDI 1” is the bottom board, “MIDI 2” in the middle, and “MIDI 3” at the top just beneath the carrier, simply because that seemed to be the easiest way to route the wires.

Testing

I recommend performing the general tests described here: PCBs.

PCB Errata

There should have been space for two pullup resistors on the I2C line giving the option to add them, in case the module being connected doesn’t have any.  This would apply to both SDA and SCL.  General “Internet wisdom” suggests a 4K7 resistor between each line and 3V3.  If it is required then they can be hacked onto the I2C connector between SDA/SCL and the VCC pins.

If I redesigned the board, I might be tempted to “shift” the whole thing compared to the three holes to make it possible to fit a nut on to the hole under the Pico.

I still haven’t done anything with the LED connections yet either, so that is another future enhancement.

Find it on GitHub here.

Closing Thoughts

This is a much more useful add-on to my original proto-board carrier.  Now I have three MIDI interfaces available, I can work on some more sophisticated routing software.

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

One thought on “Raspberry Pi Pico Dual MIDI Carrier – Part 2

Leave a comment