Hand wiring a keyboard matrix can be a meticulous process, can result in fragile connections between keys, and shorts in the matrix. To help improve the process, I wanted to take another crack at a single-switch PCB that offers the following benefits:

Ability to connect the matrix using bare (non-insulated) wire. Creating hundreds of short jumper wires is a huge pain, and a PCB should be able to overcome this by eliminating the need for connection wires to overlap.

Ability to mount the PCBs to the switch plate for structural reinforcement. Key cap swaps and switch modifications carry the risk of pulling the entire key switch away from the plate, possibly breaking matrix connections in the process. Mounting the PCB should prevent this.

Support for through-hole components (LED resistor and n-key rollover diode), in case hand soldering SMD components is not your thing.

The above items do not come for free, however. Unlike the Enabler, the current design only supports Cherry MX switches (no Alps) (Alps support added! See updated renders below.), and the overall dimensions are larger than an MX switch.

I've ordered some prototypes from OSH Park and will test them out before looking into larger quantities. Here is the current original design (updated design posted later in the thread):

The design files are on github, and can be made available on OSH Park (I haven't shared the project yet because I'd like to validate the design first.). I'll be sure to keep this thread updated with progress after the prototypes come in.

Lastly, I wanted to thank Melvang and MOZ for their encouragement with this project and the original inspiration. Thanks, guys!

Yes, but this allows you to solder on diodes for the matrix and resistors and leds for back lighting to a pcb rather than having to solder them to the switch pins directly. It reduces the hand wiring to just interconnect. It truly simplifies the process.

Eszett wrote: ↑Maybe I don't quite get it, but I have to wire all of those single switch PCBs together, right? So this is the same amount work anyways, no matter if I use those single unit PCBs or not.

The main reason for this PCB is to make the task of hand wiring a matrix much, much easier. Stripping wire to connect all the key switches is tedious. This PCB is designed to let you use bare wire.

As a bonus, it can allow for more robust solder connections than direct wiring, and can also be mounted to the switch plate to prevent switches from being yanked out.

It's a step between direct wiring and having a full-blown custom PCB. The latter of course requiring PCB design expertise and adds complexity.

Yea, I quite like the idea. It will certainly make wiring weird matrices (e.g. if you want something like 104 keys and need to save on microcontroller pins, so wiring 10x11 instead of the natural 6x21).

I am interested to see how these turn out. Alps compatability is a big one for me. I have a TKL set worth of the Enabler PCBs, but there is already an abundance of Cherry PCBs out there and I don't really care much for Cherry. Alps Enablers would be really useful!

pyrelink wrote: ↑Alps compatability is a big one for me. I have a TKL set worth of the Enabler PCBs, but there is already an abundance of Cherry PCBs out there and I don't really care much for Cherry. Alps Enablers would be really useful!

I've taken a crack at adding Alps support. It's a little iffy because OSH Park doesn't officially support oval drill holes ("slots"). We'll have to see how they come out. (Update: OSH Park says they look good and shouldn't be a problem.) I don't have any Alps key switches to test with, however. The spec was easy enough to follow, so hopefully there won't be any issues!

These are a good fit for between the PCB and plate. The Phantom plate in the pictures is just being used for testing, but ultimately I'm thinking to have a plate made with holes between the switches for mounting these PCBs, and the spacers will help ensure the switches stay put. I also ordered some brass stand-offs for the same purpose, but they haven't arrived yet from China.

Hmm not that I know of. There is a keyboard currently in development I believe that lets you plug in whole switches and LEDs without soldering. So maybe a single key PCB version of that would be a start and then use a system of jumper wires to connect the matrix?

It's probably best to produce a variant of the PCB specifically for MX lock switches, if you want LED support.

Enabling support for LEDs on both MX lock and non-lock using the same PCB would, I believe, require the addition of two solder bridge jumpers. There are issues with through-hole diode, because the lock LED uses one of the diode holes. So the jumpers would be used to put the PCB in "lock mode" or non-lock mode, and you would need to use an SMD diode for the lock mode to inhibit ghosting.

I didn't see good information on our wiki regarding Alps lock switches. In what way would they be different, pin-wise?

I managed to bend an LED around and get it to fit inside an MX lock. It took a bit of fiddling, but if you're basically using these to hand-wire a matrix, bending some LED legs probably isn't beyond your capabilities...

It seems like the base PCB is nearing completion. I'll probably do one more small order to verify the final design. Meanwhile, I've shared the design on OSH Park, and the latest kicad files are on github. I'm planning to make a variant PCB for switches that require stabilizers, and maybe the MX lock variant.

Here's the current design (v1.2.1), now with square pads for the LED matrix:

front-1.2.1.s.png (84.76 KiB) Viewed 13336 times

back-1.2.1.s.png (84.02 KiB) Viewed 13336 times

Not sure if anyone noticed, but the top-left wire was connected wrong in the above prototype pictures. Differently-shaped pads for each matrix should help prevent that mistake!

Also, the brass spacers arrived. Here are comparison shots between the brass and nylon:

spacer-brass.jpeg (101.83 KiB) Viewed 13336 times

spacer-nylon.jpeg (67.28 KiB) Viewed 13336 times

Assuming a plate thickness of 1.5 mm, there is a gap of about 3.5 mm between the PCB and plate. The brass stand-offs are 3 mm exactly, but with a washer come out to about 3.4 mm and are a good fit. The nylon spacers are around 3.3 mm. The brass are heavier, but they're threaded and therefore won't move around. The nylon spacers do not fit the M2 screws tightly, so there is a chance they could rattle a little bit. So you have your pros and cons.

t8c wrote: ↑The problem with Alps boards is that there are so many variants of stabilizers.

Apple uses one type on the standard keyboard and extended keyboard for. A circular hole is also required for the 6.5u space bar.

Aw man. I'm new to the Alps game. I am slowly planning to a 60% Alps board with AEKII keycaps, I've got original keycap inserts and wires, but not the plate inserts. How does this restrict the plate layout and plate inserts?

t8c wrote: ↑The problem with Alps boards is that there are so many variants of stabilizers.

Apple uses one type on the standard keyboard and extended keyboard for. A circular hole is also required for the 6.5u space bar.

Aw man. I'm new to the Alps game. I am slowly planning to a 60% Alps board with AEKII keycaps, I've got original keycap inserts and wires, but not the plate inserts. How does this restrict the plate layout and plate inserts?

Here are some pictures of the latest batch. I got bored designing an actual keyboard for these so have spent too much time tweaking the PCB design in KiCad.

There is a prototype version of the 2u board, though I need to find some Cherry PCB-mount stabilizers to test the fit. Also, I've widened the PCB-mount holes by 0.1 mm to accommodate Zealio switches. You can see OshPark is challenged by the angled slot for the Alps/Cherry shared hole. It fits a Cherry switch fine but I don't have an Alps on-hand to test it.

The OP has been updated with new renders showing some other minor improvements, such as arrow-shaped solder pads for the row/column pins and tighter solder masks around the graphics.

The perfboard is a cool idea. I don't have anything like it planned to plug these modules into, but I think it could be made to work. You could also solder pins to these PCBs and plug them into an underlying board with sockets, and possibly make a keyboard that supports reconfigurable switch layouts. There are lots of possibilities!

2u-back-angle.jpg (219.91 KiB) Viewed 12854 times

This is probably the final design (sorry for the bad lighting), unless anybody points out something that needs to change. It's mostly aesthetic improvements over the last prototype, including arrow-shaped pads to make the matrix connections really obvious and tighter masks around the copper graphics. The version number has been bumped to 1.5, latest project files pushed to github and design shared on OSH Park.

BillDee wrote: ↑
Maybe you could include holes for pins so that they can be aligned with .1" holes.

Then they could be used with perf boards. (and also proto boards?)

Yes, it can be done. The pins on the bottom half are already 0.1" spaced. The SR, SC and LC pins on the top will have to be rearranged slightly. A couple notes:

A perfboard with uniform 0.1" spacing would require keys to be offset by 0.8" (20.32 mm), which is slightly wider than the typical Cherry key spacing, about 0.75" or 19 mm.

The SR pins start to get close to the screw cutouts. I don't think it's too bad, but would probably motivate centering the cutouts between SR and LR pins, instead of keeping it aligned to the center of the switch where the force is directed.

Just to report that I've used your amoebas for a CM switch tester. They're really great for doing things like this, it simplified the work, and more importantly the mess of wires, enormously!Some more photos