It has been almost two years since I boldly announced that I would make new keyboards (link) for my C64 Reloaded boards (link). I have now realized that making new keyboards is by far the biggest Commodore 64 project that I have ever gotten myself into… I completely underestimated the amount of time that I had to put into the project before the first working prototype was made.
The keyboard is a drop-in replacement for the original keyboard and it should therefore work on all Commodore 64’s, including the C64 Reloaded (link) and the upcoming Ultimate 64 (link). The keyboard consists of a PCB, plastic spacers, a 20 pin ribbon cable, custom made keyboard stabilizers, Costar stabs, 3D printed keycap adapters, some resistors, a few capacitors, two IC’s, a heap of microswitches and a black acrylic board for mounting everything. So quite a few components went into the project along with a looong list of parts and ideas that were eventually discarded before final decisions were made. This is how the first protoype was created!
Drawing the Keyboard Prototype PCB
I started out by measuring the physical locations of the keys to ensure that everything would line up nicely and fit in both types of Commodore 64 cases (breadboxes and the newer C64C cases). Then I scanned the original C64 keyboard PCB and colorized each of the copper traces to see what was connected to what.
Next up was making the PCB and align all the components perfectly. For this task I used Sprint Layout (link) as it allows a JPEG image to be placed underneath the circuit, hereby making it easier to align everything correctly. Two 20 pin headers were placed at two different locations on the board. The older long boards have the connection on the left side while all short boards and the C64 Reloaded/Ultimate 64 have the connection further to the right. This way a short 15-20 cm ribbon cable can be used for connecting the keyboard to the C64 motherboard.
This is how the keyboard layout looks like as well as the copper traces and the first PCB prototype drawing.
I wanted to use Cherry mx red microswitches as these resemble the feel of the original c64 keyboard. In this context, Cherry mx switches come in two variations; plate mounted and PCB mounted. The former calls for a frame that the keys snap into and the PCB is then attached underneath the frame. This is what a guy on Deskthority has done previously when he made a replacement USB keyboard to fit inside a C64 breadbox, the MeC64 (link). However, maintenance, modifications and/or repairs of this approach is quite difficult because all switches have to be un-soldered in order to fix whatever needs fixing. My goal is to make everything as accessible and repairable as possible. Thus, I opted for the PCB mounted solution even though it may be a little less sturdy than the plate mounted version.
The Keyboard Prototype PCB
The PCB prototype was ordered from a company in China that makes prototypes in small quantities. Six days after placing the order, I recieved the printed circuit boards. They looked really good and a lot better than what I expected! As evident from the images, the two 20 pin headers have been marked with the motherboard revisions that they will fit the best – we want to keep things nice and tidy, right?
In order for the original keycaps to fit the Cherry mx switches, 3D printed key adapters have to be used. I got mine from Shapeways a long time ago but they have since removed them from their shop due to issues with the prints. It is still possible to get the drawing from here (link) and print them somewhere else if I should need some more in the future. It should be noted that I have only tested the key adapters with the type of C64 keycap imaged below and the Cherry mx swithces!
The 3D adapters have to fit perfectly in order to get the same height of the keys. I think it turned out pretty good!
The Shift Lock Solution
The original Shift Lock key uses a latching/locking type switch. Unfortunately, Cherry discontinued making a locking switch so I had to come up with another solution. I therefore made a small circuit which adds a push on push off functionality. This way a standard non-latching Cherry mx switch can be used to turn on the Shift Lock and when pressed again, turn it off. In order to get a visual indication of the state of the switch (on or off) a 3 mm LED is placed underneath the keycap and lights up whenever the switch is activated. The circuit is made from a few components including a NE555 timer, a 4066 analog switch, some resistors and two capacitors. The circuit draws about 90 mW when the Shift Lock is activated so this should not put too much strain on the old C64 power supplies.
Before transferring the circuit onto the keyboard PCB, the push on push off circuit was tested with a simple breadboard connected to a C64. On the final keyboard PCB, the circuit is powered using the 5V line going to the keyboard. This 5V line is not used on the original Commodore 64 keyboards, so it came in handy for powering the Shift Lock circuit on my keyboard.
The push on push off circuit is placed in the lower right corner of the PCB. A 3mm LED can easily be fitted into the Cherry switches and even in daylight, the LED has plenty of light to be seen clearly. And if it is too bright or dim, its simply a matter of exchanging one resitor on the PCB.
If I manage to get a Cherry mx locking type switch, I can simply replace the microswitch without a big hassle. All I have to do is replace the momentary switch with the locking type and move the pin headers next to the circuit to accommodate the locking switch.
I used SMD components only, so that the assembly could be done retrospectively if needed. To keep it oldschool, I may want to use the keyboard with a Cherry locking switch on my older machines and therefore do not need the circuit with the LED…
The Keyboard Frame
I have racked my brains to come up with the best solution for attaching the keyboard PCB to a frame that would be stiff enough for the final installation. A bend metal plate will be very stiff, but would call for special tools that I do not have direct access to. Furthermore, laser cutting in metal gives rise to issues with the size of the holes (according to the local laser cutter guy). The laser cutter simply cannot cut 3-5 mm holes for the spacers and the rectangular holes for the Costar stabs would also be problematic. I therefore decided to use 2mm black acrylic as this does not have the same issues as metal has when laser cutting it. This material also allows engraving stuff on top of it to make a nice professional finish – it’s all about the looks, right?
I also had to come up with a solution for stabilizing the spacebar and the return bar. The spacebar is 9 units long so the stabilizers (the piano wire thingy underneath it that makes it more stable) have to be custom made. I am currently waiting for a special tool, a Du-Bro E/Z bender dub480, that will make the job pretty straightforward.
Furthermore, the stabilizers are going to be attached to Costar stabs. I therefore made some small rectangular mounts that will be placed on the upper side of the keyboard frame and attached with some plastic spacers. To this end, almost 20 holes have been made to the PCB and the acrylic keyboard frame to securely attach the PCB and the acryllic frame to each other. This makes the entire keyboard very stiff.
Below are some images of the laser cutter that was used to make the keyboard frame as well as the plates for the Spacebar and the Return keys. And some images of the assembled Commodore 64 prototype keyboard. I think the black acryllic material looks pretty sweet and will visually look nice underneath the black keyboard PCB .
There is not much to report other than the C64 keyboard prototype works. It really works! All the copper traces have been connected correctly, the Shift Lock circuit works with the LED and swapping it with a locking type switch also works.
So what is left to do before the new Commodore 64 Cherry keyboard is finally done? Well, I have updated the PCB with some minor improvements and is currently waiting for the next batch being produced in China. The rectangular Spacebar and Return mounts have to be re-made using an acrylic plate of 1.5mm in thickness in order to make the Costar stabs snap into the material correctly. I also have to find some black plastic spacers in the right size before I can assemble everything. However, these last parts are not really technically difficult, so I do not expect any major issues before I can round up the project.
Here are some more pictures of the keyboard. I used some spare spacers in white nylon to adjust the height of the keyboard. These will be swapped with some nice black ones in the final edition.
Stay tuned for an update of the final C64 Cherry keyboard which I hope to have ready in a jiffy 😉
UPDATE: The final version of the Mechanical Keyboard for the Commodore 64, the MechBoard64, can be found here (link)
© breadbox64.com 2018