Bygonebytes


A new Patchboard for the Maplin 5600 Synthesiser


I received an email from another Maplin 5600 synthesiser enthusiast wondering if it was possible to make a software version of the patchboard. This is something I considered at the beginning of my project (please read my page on the Maplin 5600) but dismissed it for a couple of reasons, 1) it would require a ridiculous amount of bi-lateral switches (900), and 2) I didn't think I had the programming skills.

I then learned about a single package 16x16 matrix switch which has all the controls, switches and latches on board. Now having just completed my RPi Pico 2 upgrade to my office clocks and had gained a bit of experience in building and creating serial data streams which this IC uses, I thought it might be possible for me to do something with it.

I downloaded the datasheet and did a rough calculation of cost for the final article. First looking up the price for an IC, the AD75019JPZ, from known good suppliers such as Farnell UK they are about £50 each then there is a Raspberry Pi, the cheapest is probably the PI3A+ at £24 then there is a screen, £40 - £60 and finally the rest of the PCB and components, £20. A total of roughly £300.

I also looked at Aliexpress to see if the AD75019JPZ was any cheaper which they were at around £10 each. This is a great saving and if they work and are reliable will bring the cost down to about £140 which is much more realistic.

I placed an order for just two devices and set about designing a prototype PCB. The PCB had to have at least two matrix IC's so I can test casscading, the I/O and control signals brought out to edge connectors. I also considered how it could be powered. The Maplin Synth has +/-14V and 5V available and the Matrix IC requires +/-12V and 5V so I added a couple regulators to reduce the 14V to 12V..we'll see how that works..

Before I started on the PCB I worked out the configuration of matrix IC's to make up the required 30x30 matrix (it'll actually be a 32x32 matrix) so I scribbled down what I thought might work and transferred that to EasyEDA.



I also had to consider how to build it, surface mount or through hole components. Surface mount might prevent some people from building their own but through hole could make it a larger circuit board. At the moment the board size works out to be 100x100mm but it will likely require a lot more space if I have to add buffering op-amps to the switch I/O. I will need to look through the Maplin circuits to see if this is required and if it does I'll need to use sixteen quad op-amps (I'll need to research to see if I can get more op-amps per package). Through hole versions may be better so they can be easily replaced as there may be at risk of some unwanted voltages being injected.

Anyway a prototype PCB has been ordered and should be with me in a couple of weeks.



The software

There are two parts to the software, the data transmission and the graphical interface. As I said above I programmed a RPi Pico to send serial data to some Train Describer display modules that I use as clocks. That data stream is very similar to what is required for the Matrix IC, Data and a Clock. The Matrix IC requires the data to be sent and latched at a minimum clock rate of 20KHz as the shift registers are dynamic and the data would fade if it was any slower. The RPi Pico GPIO using Micro Python could barely reach 30KHz, I suspect the RPi3A would be much faster but I thought I'd look for a more reliable way to send the matrix data. So I asked AI! (first time for everything) and it pointed me in the direction of the SPI interface and the spidev library. This should get the data transfer rate up to 1Mhz, equivalent to approximately 1ms to send the entire 1024 bits. 1024 bits as I will casscade all four Matrix IC's, each requiring 256 bits.

The graphical interface - I have built a few of these in the past, my sequencer (Python 2.7) and my Midi keyboard (Python 3)..Which one I'll base it on I haven't decided yet.

It would be nice to be able to have a screen that fits and replaces the original patchboard (120mmx120mm) but that may be tricky to find, it also needs to have a resolution that can display a 32x32 button grid clearly on the screen without scrolling and you can touch without interferring with adjacent patches. I think I'll need to do some experimentation to see how everything could fit.

Other ideas are the possibilty of saving and loading patches but that's for further into the future.

A lot of work to do..