Sunday, 18 February 2018

Minstrel ZX80 Clone Keyboard

This is an old post, preserved for reference.
The products and services mentioned within are no longer available.

I have added a new option to the Minstrel ZX80 Clone kits and builds, it's own keyboard.
This has been designed to match up with the Minstrel board, so it makes it almost a single board computer.
The Minstrel board itself remains ZX81 sized, the keyboard plugs into the keyboard connector on the bottom right.
These are mounted under the board. I am using 0.1" pin headers and sockets, and these will be supplied in the kits. You could use wire links, or even add cables and run the keyboard a short distance from the main PCB, a Minstrel-SK if you like.
There are a couple of unusual things with this PCB, both of which were done for aesthetic reasons. Firstly, there are no tracks on the top layer of the PCB.
The traces are all on the bottom. The keyboard is a matrix, the whole point of which is a set of rows cut across a set of columns with switches where they cross, you can see that here in the underside of a ZX81 keyboard membrane.
The obvious choice then is to draw the rows on one side and the columns on the other. Instead, I used a trick that used to be very common on matrix keyboards, but you don't see very often these days.
The tactile switches used have 4 pins, two sets of contacts wired in parallel, so in the above photo, the top two pins are actually the two ends of the same bit of metal. This means you can pass the signal through that wire link, and run another track underneath.
The green trace is on the PCB, the red is via the switches. You can see the blue column traces pass beneath the red lines.
This means you can lay the matrix out quite neatly on a single layer. This was done a lot in the 1980s when for large boards such as a keyboard, they could use a cheaper single sided PCB.
These days that is less of an issue, with the availability of cheap PCB production in small quantities, with boards coming in double sided with plated through holes, solder mask and silkscreen printing. The only slight problem I have is due to the volume of boards they produce like this, there is often a small code added to the silkscreen by the PCB manufacturer.
Sometimes they are kind enough to add these under a socket or an IC. But sometimes they end up in a really annoying place in full view on the assembled product.
I had an idea a while ago, but I had not had the right board to try it out on. My theory was they always put the code on the top of the board, so why not design it upside down? So I did.
This is actually the top of the keyboard PCB in the design files, and there they have stuck their code number. But when I get the board, I simply flip it upside down and have no annoying code number.
All I need to do now is design all my PCBs upside down. That can be quite challenging as it is mirrored, but in this case it was quite easy. This was my view in the PCB software.
However with anything more complicated, the mirroring would be confusing. I haven't looking into the format of the gerber files, but I presume it should be possible to write a bit of code to flip an existing board over. There's a coding challenge if anyone fancies it.
The new keyboard is available separately as a PCB or kit from my Tindie Store.
It is now an option on the main Minstrel ZX80 Clone kit Tindie Page, and also available as the Minstrel ZX80 Clone with Keyboard as a complete kit or assembled unit.

2022 Update: At the time of writing, there are still a few Minstrel 2 (ZX80) and Minstrel 3 (ZX81) kits available from  The Future Was 8 bit These have a version of this keyboard built in. They are the Final Edition kits, there are unlikely to be any more.