The ZX81+38 is a clone of the Sinclair ZX81 home computer that replaces the ULA found in the original with standard logic ICs. That means, it can be built with all parts still readily available today. It was created by Mahjongg, introduced on a forum dedicated to Sinclair computers, and document on the web with construction files available on Github.
I learned of this project a while ago, when I received the PCB as a gift from a friend who had ordered more than he needed. So, even though I never owned or even used a ZX81 to that day, I wasn’t left with much of a choice and had to build one myself. After all, one cannot just not assemble such a nice PCB!
As it turned out, I had most of the required components in stock already and had to source only a few additional ones like the resistor networks or a couple of logic ICs. And of course, the RCA- and audio connectors: no matter how many of those I keep around, the next project will always require a different footprint.
While I waited for those components to arrive, I passed my time thinking about what kind of keyboard I wanted to connect to the board when it would be finished. I know that replacements for the original membrane keyboards are still available from the UK and I wouldn’t hesitate to get one of those for an original ZX81. But for this project, I felt that something DIY would be more appropriate. Also, I would have needed to find matching sockets to connect the membrane to. Last but not least and as sad as it is: all the post-Brexit taxes, fees and the customs hassle often make it easier to order from China than from Great Britain.
Anyway, it was easy enough to find decent images of the original keyboard online, but I was still missing the exact dimensions. So I asked for help on Forum64 and received it very quickly, just as usual. My idea was to use cheap 6x6mm tactile switches and to create a custom PCB for the keyboard like Mahjongg had done before, but to improve the optics and ergonomics a little by adding a 3D-printed grid and a laminated cover.
Next, with all required parts having arrived, I assembled the PCB for the ZX81+38 — and then could not get it to function. Nothing but a black screen. After a short search, I noticed that the board did not properly generate the clock signal for some reason.
The crystal and its circuit should have produced a stable signal at 13MHz. But instead, I measured an unstable square wave around 40kHz. I replaced the crystal and tried different Schmitt trigger ICs without any success. Next, I even replicated the clock generator circuit on a breadboard where it worked just fine.
Finally, I noticed that I had taken the values of the two capacitors for the clock generation circuit from an earlier version of the project’s BOM and used 15pF for C1 and C2. The latest version however suggests a value of 4.7pF for those two, instead. With the two caps replaced, I finally got the correct clock signal on the board and the unspectacular but expected screen display!
Back to the keyboard part of the project. My PCBs had arrived in the meantime and I had only small reason to be frustrated because of the footprint for one of the pin headers that I had managed to place the wrong way around.
Oh well, nothing that couldn’t be worked-around for now by twisting a few Dupont cables.
With the keyboard generally working, it was time for the last phase of this replica project: a complete and new case for the ZX81+38 computer. It took a couple of iterations and half a spool of filament until I was satisfied with the result.
This looks and feels like a real home computer from the 80’s now. You’ll find more photos in the image gallery below.
Next, I would like to load and run some “real” software. I’ve read somewhere that this should be possible by connecting a modern laptop computer to the cassette input. Also, I will clean up my project files a little so that I can share them in case anyone else wants to build this beauty. In short, I might do a follow-up post on this one but it might take a while — keep an eye out.
I have now sorted and published all design files needed to build this replica:
- The PCB for the keyboard can be ordered directly on PCBWay (see below).
- The KiCAD project files are available on Github.
- The STL files for the case and the external keyboard can be found on Prusa Printers and on Thingiverse.
- Of course you will still need to build the ZX81+38 PCB itself.
It has been brought to my attention that the keyboard connector layout was revised in revision 1.9 of the ZX81+38 motherboard. So I have made corresponding changes to the keyboard layout and inverted parts of the connector on the keyboard PCB (again). The updated layout is now available as Rev.3 on PCBWay.
The previous layout is also still available and is better suited for revision 1.6 of the motherboard.