March 20, 2025
Description
Replace the original membrane keyboard with the far more functional mechanical keyboard by iNimbleSloth and my addition of a replacement case and keycaps. The case and keycaps attempt to capture the overall feel of the original ZX81, while accommodating the larger keyboard and be easy to 3D print. Both STL and STEP files are included for modification if needed.
Keyboard PCB
iNimbleSloth's design is available on GitHub and PCBs can be easily ordered from the PCBWay+ Community.Â
This project is sponsored by PCBWay, a provider of PCB manufacturing, PCBA services, and CNC machining. They offer a range of customization options suitable for both small-scale projects and more intricate designs. Their services are known for competitive pricing and comprehensive, high-quality support. Prototype orders begin at 5 pieces, starting at $5. For additional details, visit their website at www.pcbway.com.
The ordering process from PCBWay was very easy, even for someone not familiar with designing PCB layouts or schematics. After just a few clicks and a short design verification the boards where ready for production. Five boards arrived surprisingly quickly (less than a week) and well packaged. The quality is fantastic and I must say, I'm a fan of the black solder mask, but you could choose another color ;)
Modifications
I am mainly focusing on the case in this project. Details on performing a composite video, 5V power and others are not covered as there are many options available and your goals may vary.
Hardware
This is a just a brief list of some of the key parts I used. The most important detail is to use close to 2.5mm screws for the keyboard and 2mm screws everywhere else.
Keyboard PCB: Â Â Â Â iNimbleSloth zx81-mechboard
Key switches: Â Â Â Â Â (50) Cherry MX or Gateron style
Keyboard screws: Â (6) BT2.5x8 SHCS self tapping screws (shorter 4mm would also do)
Mainboard screws: (2) Repurpose original
Case screw: Â Â Â Â Â Â (1) Repurpose original
Rubber feet: Â Â Â Â Â Â (4) 12x3mm
Header pins: Â Â Â Â Â Â Right angle single row 40-pin 2.54mm male header
Wiring: Â Â Â Â Â Â Â Â Â Â Dupont male-male, 8 conductor and 5 conductor
Assembly
Solder all of the mechanical switches to the keyboard PCB. There are many options for connecting the keyboard to the ZX81. I chose to used right angle headers and Dupont cables, but one could also directly solder wires between the two. After printing, the keycaps simple press onto each switch.
Install keyboard into the case top using the six 2.5x8 self tapping screws:
Press the port cover onto the EAR, MIC and DC ports. This should be a rather tight fit but this part can be trimmed or scaled up a bit if required. If adding USB C, be sure to print the correct port cover and USB C mount. The mount is designed to fit pigtails similar to this one on Amazon and attaches to the mainboard using two M2x5 self tapping screws.
Next install the ZX81 mainboard at the locations show below using two of the original screws:
Connect the keyboard to the mainboard if not done already.
Now align the front edges of the top and bottom case halves. The top should hook onto the bottom part as shown below:
Rotate the two halves together and press the back together.
Secure the bottom and top using an original long case screw:
Attach small rubber feet to the bottom to allow for airflow and clearance for the channel switch, if retained.
Notes
I primarily designed the cause around the Timex Sinclair 1000 with composite and USB C mods in addition to the mechanical keyboard. While a top and bottom case version is provided for the ZX81 with the TV out port close to the EAR 3.5mm port, it has not been verified yet. A stock ZX81 / Timex Sinclair 1000 can be used in this case, but there are some important considerations to be aware of:
A full set of keycaps are available with the top markings for multicolor 3D printing. Not all of the key functions would fit, but I plan to look further into incorporating them somehow in the future.Â
Enjoy!
License:
Creative Commons — Attribution — Noncommercial — Share Alike