MiniDexed Raspberry Pi V1 IO Board – Part 2

This is the build guide for my MiniDexed Raspberry Pi V1 IO Board.

IMG_6994

Warning! I strongly recommend using old or second hand equipment for your experiments.  I am not responsible for any damage to expensive instruments!

These are the key tutorials for the main concepts used in this project:

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

Bill of Materials

IMG_6993

  • MiniDexed Raspberry Pi V1 IO Board PCB (GitHub link below)
  • 1x H11L1 optoisolator
  • Resistors: 1×10Ω, 1×33Ω, 1×220Ω, 1×470Ω
  • 1x 1N914 or 1N4148 signal diode.
  • 5x 10nF ceramic capacitors
  • 3x 100nF ceramic capacitors
  • 1x GY-PCM5102 DAC module
  • 1x 128×32 OLED ssd1306 display (pin order: GND-VCC-SCL-SDA)
  • 1x PCB mount rotary encoder (see PCB and photos for footprint)
  • Optional: 2x tactile switches
  • Optional: 2x 2-way pin headers
  • 1x 26-way (2×13) extended GPIO header
  • 1x 8-way (2×4) extended header
  • Optional: 6-way DIP socket (recommended)
  • Either: 2x 180 DIN sockets or 2x 3.5mm TRS sockets (see PCB and photos for footprints)

IMG_6981

Build Steps

Taking a typical “low to high” soldering approach, this is the suggested order of assembly:

  • All resistors and diode.
  • DIP socket (if used).
  • Disc capacitors.
  • Tactile switches or 2-way pin headers (if used).
  • SSD1306 OLED display.
  • GY-PCM5102 module.
  • Rotary encoder.
  • 26-way GPIO header.
  • 8-way GPIO P5 header.
  • DIN sockets or TRS sockets.
  • Finally the H11L1 can be installed in the DIP socket and the PCB mounted onto a Raspberry Pi.

Here are some build photos showing various stages of the build process.

I made the mistake of installing the DIN sockets before the GPIO header, which then made getting a soldering iron into the GPIO header, and then the P5 header very tricky!

In order to ensure the rotary encoder doesn’t get shorted out on the ethernet socket on the Pi, I recommend using extended GPIO headers with an extra spacer as shown below.

IMG_6987

This can be soldered in place and then an actual Raspberry Pi V1 can be used to get the height and alignment of the P5 header connector correct.  This, of course, requires that the Pi V1 has the P5 header already populated with pin headers.

The IO board can be mounted on the Pi using 2.5M spacers, nuts and bolts.

IMG_6990

Testing

I recommend performing the general tests described here: PCBs.  In particular it is worth checking for shorts and working GND and power prior to installing the H11L1 and prior to connecting to a Raspberry Pi.

The board is designed to be used with MiniDexed which can be obtained from here: https://github.com/probonopd/MiniDexed

Details of getting started with MiniDexed can be found here: “Bare Metal” Raspberry Pi MiniDexed DX7
The key elements of the configuration (minidexed.ini) for this PCB are as follows:

SoundDevice=i2s

LCDEnabled=1
SSD1306LCDI2CAddress=0x3C
SSD1306LCDWidth=128
SSD1306LCDHeight=32
SSD1306LCDRotate=0
SSD1306LCDMirror=0
LCDColumns=20
LCDRows=2

ButtonPinPrev=0
ButtonActionPrev=
ButtonPinNext=0
ButtonActionNext=
ButtonPinBack=22
ButtonActionBack=click
ButtonPinSelect=11
ButtonActionSelect=click
ButtonPinHome=27
ButtonActionHome=click
ButtonPinShortcut=11

EncoderEnabled=1
EncoderPinClock=9
EncoderPinData=10

Notes:

  • For my encoded I had to swap the default clock/data GPIO allocations from clock=10; data=9 to the above.
  • On very early Raspberry Pi V1 boards pin 13 was GPIO21 not GPIO27.  But I think these were perhaps the ones without a P5 header so that probably doesn’t apply here.
  • I’ve use the common default I2C address for the OLED display.  Some might use 0x3D.
  • There is only a single tone generator supported when used on a RPi V1, so only “TG1” will be shown (if at all) on the menus shown on the display.
  • If using TRS sockets, then the pins are wired according to the “Type A” pinout, which is the MIDI standard.

If nothing works, attach a HDMI display and see if there are any errors or warnings in the on-screen log.

PCB Errata

There are the following issues with this PCB:

  • None known at present.

Enhancements:

  • None at present.

Find it on GitHub here.

Closing Thoughts

This “completes the set” for me and MiniDexed for now and I do so like being able to keep finding uses for a V1 Raspberry Pi!

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

Leave a comment