Ever since I saw the low-profile Kailh switches, I couldn't stop thinking about how thin a keyboard would be possible with them, and how it would feel. Now that I found out you can actually buy those switches in small quantities, I decided to try and design a keyboard with them.
The first 50 switches have arrived, and I can finally compare them with my footprint and also see how they fit in the PCB. They are actually good 1.7mm lower than the "regular" kailh chocolate switches:
(Note that on this photo the switch slipped one step lower than it should be — it doesn't sink into the PCB that far, only as far as the part from witch the legs protrude.)
The footprints and the spacing both look correct, so I will be ordering the PCB in the coming days (I'm waiting for the new plate for #PewPew M4 to arrive, so that I can see if I will need a new PCB for it as well, then I can order them together and save on shipping.)
I decided to go with the stabilizers I currently have, and maybe cut them up a bit—we will see how that works. Having finally measured the key caps, and figured out where the stabilizers should go and whether the caps won't be too close together, all that is left to do is to actually design the PCB. Here it is:
As you can see, it's a tight fit. I will probably end up gluing the stabilizers to the board anyways (after cutting off the parts that go under the board and that normally hold them in place). I had to drop the USB port, and I will instead use a USB cable—there simply wasn't enough room for it at the top of the board, between the switches and the stabilizers. The 48-pin SAMD21 microcontroller is perfect—just the right number of pins for a 5×15 matrix, with an extra pin left for the NumLock LED (also re-used as a status LED).
I will let this design sit there for a while, as I'm sure I will find some errors in it. I might even get rid of all those right angles if I'm bored, but I decided to not care much for them.
The key caps have arrived, so I finally can do the measurements for the placement of stabilizers, figure out where the USB socket and the MCU should go, and maybe finalize the PCB. Turns out the 1.5u keys don't have stabilizers, so that leaves me with just the 5.5u space, 2.5u shift, and 2u enter and backspace keys. I can also test spacing between the keys, to make sure the caps don't collide.
(Sorry for the hair, it's the shedding season.)
I was actually quite surprised that there are many alternate key sizes for some of the keys — specifically the enter, shift, alt and fn keys. That gives me a little bit more flexibility.
The layout I have chosen has a number of 2u, 2.5u keys, and even the 5.5u space. Such keys require additional mechanical stabilization to not feel wobbly when you hit them off-center. That usually achieved with keyboard stabilizers. I have some stabilizers left over from my previous keyboard projects, and I was hoping to use those, but today I actually took them out of the drawer and looked at them next to the chocolate switches that I have, and now I have my doubts:
The outer case of the stabilizer is actually as high as the whole key in the not-pressed state. That is not going to work very well. So what could be done?
Perhaps I would be able to cut the stabilizer a little bit, to make it lower, and to make it fit in there. But I doubt it would be enough.
Of course Kailh has a solution for you: custom low-profile stabilizers that they sell at their store:
Looks great, but wait a minute. Don't they go into the PCB from the bottom, with a lot of space needed there for the moving parts? I don't think this is going to work with the PCB lying flat on the desk, as I was planning to do it.
And I can't really design the PCB before I know what kind of stabilizers I'm going to use, because I have to include the holes for the stabilizers in the design. I will need to do think about this some more, perhaps I will make a one-key PCB first as a test.
When considering the keyboard layout, one has to think about what keycaps are available on the market. Those low-profile switches use non-standard keycaps, so I'm a bit limited. A quick search of Aliexpress reveled that I have a huge choice of 1u caps, but as soon as I need any special keys, I'm limited to those ugly yellow flat caps, and even then I only have 1u, 1.5u, 2u and a spacebar of unspecified size:
This is a bit of a problem, because I wanted a relatively classic layout for this (having a more exotic split-keyboard layout project running already at #5plit Keyboard Clone). So I kept looking, and I found this:
It's a full 104-key cap set, with labels and everything, and at a reasonable price, so what not to like? Unfortunately if you look a bit closer, you will notice some strange things about this keyboard.
In particular, the "QWERTY" row of the keys. See anything weird?
Well, if you look at a standard keyboard, you will notice that this row is shifted from the previous row by 1/4 of the key width. Here it is shifted by 1/2. I initially thought that they did it because they didn't have 1.25u keys, but if you look closely, you will see that both Ctrl keys are 1.25u, so no. So why? It's a mystery. They also switched the ; and ' keys, by the way...
In any case, I don't want a *full* 104 layout, so I have some wiggle room here swapping keys around. Let's see if I can get something classical-looking but compact with those caps:
I dropped the numpad and the function keys row, since I've got used to a tenkeyless keyboard anyways, and the function keys are easily enough done with a function key. The arrow keys got squished into that humongous shift key, and the escape key bumped tilde over the tab to sit next to caps lock. The backslash will be replaced with a 1u key, to make room for shifting that row to its proper position. Unfortunately that creates some gaps, but I think I can live with that.
This time I want it to be just a PCB with the low-profile Kailh cholocate switches held just by the soldering. Those switches are sunken into the PCB, so I will need to have cutouts, the footprint looks like this:
The top two holes are only for mechanical attachment, the bottom two are the actual switch. Since I plan to design the part in Fritzing, and Fritzing parts can't have cutouts as a part of them, I will just put this on the silkscreen, then export that to SVG, and create a board outline with all the cutouts as a custom board shape:
A SAMD21 microcontroller and a USB socket will be squeezed somewhere between the keys. I also have stabilizers for the long keys ordered, but I will handle those when they arrive, so I can actually test them. I will probably need to mak custom push-rods for them, from paper clips.