CD Rack Format Zynthian

Having build up one of my Zynthian IO Board PCBs my final aim is to get it behind a panel in my CD Rack synthesizer.  This is how I built a panel for it.

IMG_6597

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.

Parts list

  • Raspberry Pi V3 or V4
  • Raspberry Pi power supply
  • Micro SD card with known, working Zynthian configuration (details here)
  • Built Zynthian IO Board
  • Waveshare 4″ HDMI touch screen
  • 4x KY040 rotary encoders
  • 3x panel mount stereo TRS jacks or 5-pin MIDI sockets as required
  • 1x panel mount stereo TRS socket for audio
  • 1x 3.5mm stereo jack plug
  • Optional: 1x SPST switch for power (with LED and suitable resistor – I used 1KΩ)
  • Various jumper and connecting wires
  • Optional: USB external to panel mount USB socket

You’ll also need a suitable panel of course.  I’ve used an 160x250mm (approx) aluminium panel to fit into my CD Rack synth.

The Circuit

Zynthian-CDR

The above schematic shows the major connections for the panel.  There are four KY040 rotary encoder modules, three TRS MIDI sockets and a stereo audio TRS socket.

In addition to the above, a HDM cable is required to connect the Pi to the Waveshare display, and a USB power connection for the Pi.  For a Pi 4 this will need to be HDMI to micro HDMI and USB C of course.

I’ve allowed for a power switch to be inserted into the USB power link if required, but for now that has been left out. I’ll also add a small LED and resistor across the “live” connection once installed too.

I will also at some point add a panel mounted USB socket to extend out one of the Pi’s USB ports to the front panel too.

Other points to note from the build:

  • The Pi and Waveshare are held to the panel using the stand-off mounting screws.  There is no other support.
  • The KY040 encoder modules can be found with threaded and unthreaded encoder sheaths.  To mount on the panel, they need to be threaded and come with an associated nut to use.
  • The MIDI TRS sockets will need to be wired correctly, so a multimeter should be used to check which connection is the tip (connected to “pin 4”) and which is the ring (“pin 5”).
  • The MIDI IN doesn’t require a GND connection, but it isn’t connected on the PCB if it is simpler to just make up three identical, three-way wires for the MIDI TRS sockets.
  • It is easier to mount the encoder wires to the IO board without the Raspberry Pi connected, but it isn’t possible to screw through the IO board to the Pi once the IO board is mounted on the panel.  I just left my Pi unscrewed and held in place by the GPIO connector. It has stand-offs to get the right spacing, but it means I can remove the Pi if I want to use it for something else.
  • The size of the holes will depend on the encoders and sockets used.
  • Panel mounted 5-pin DIN sockets can be used instead of TRS MIDI if required.
  • It is recommended that shield, dual-signal (stereo) cable is used for the audio connection.
  • If you see the Pi boot up on the display but don’t see the Zynthian UI and you’re using a Pi 4, then see if you need to use the other HDMI port on the Pi.  I plugged mine into the wrong HDMI port and wasted three hours trying to work out why the UI wasn’t starting up properly… when it was starting up fine, but just on the “invisible” HDMI Port…

Here are some photos from my build (so far).

IMG_6589IMG_6590IMG_6591IMG_6593IMG_6594IMG_6595IMG_6596

Update – Power and MIDI Links

I’ve used a ‘switchable USB C’ connector from ThePiHut (see here) and popped open the switch to desolder the cables and use that as my power connector.  The LED is also wired in via a resistor (I used a 1KΩ resistor) to indicate when the power is on.  Note that the LED side of the switch is connected to the Pi and the non-LED side goes to the USB-C socket.

Also, when I first built it I didn’t have the 3-way dupont-style header sockets for the MIDI cables.  But as they’ve now arrived, I’ve added them too as can (sort of) be seen in the central photo above.

Closing Thoughts

This isn’t finished.  I still want to break out one of the Pi’s USB ports to the panel at some point and there are no labels.

But the encoders, display, touchscreen, MIDI IN and audio OUT have all been verified to work so far so it is actually now quite usable and being able to mount it into my CD Rack synth means I might finally be able to spend a bit of time getting to know some of the synth engines within Zynthian a little better.

Kevin

Leave a comment