In the past I’ve posted about some of my DIY mechanical keyboard builds, including the first I attempted, the Commodore 64 homage. Around about the same time as that build, I had been seeing these ludicrously tiny keyboards online which were 40% the size of a standard setup… with just 30 keys total. Naturally, curiosity got the better of me, and I decided to have a bash at building one.
The specific design I went for is known as the ‘Gherkin’, apparently because originally they were small and green. I wanted to stay close to this idea, and opted for a yellow colour scheme… Yellow PCB, yellow glow, yellow case… the works. There may or may not have been a splash of green in there. I wasn’t quite sure yet.
I needed the following bits and pieces:
- Diodes and resistors
- A case
- LEDs (for under the keys as well as to light up the case)
- A microcontroller
- IC Socket
I couldn’t face soldering in all of the diodes and resistors by hand, so I got a PCB with them already in place from /u/MrMontgomery on Reddit. He also sent over the LEDs, and the microcontroller that I would need.
For the case, I got a handmade yellow acrylic case from someone called /u/qlavier in Belgium. They make some beautiful things on their website, qlavier.com. I wanted an all acrylic case so the LEDs would really shine.
The keycaps were standard DSA profiled that I got dirt cheap on eBay from Hong Kong. Sticking with the Gherkin theme, I decided to do an alternating green and yellow pattern.
The switches, of course, deserve a special mention, due to how important they are when building a custom mechanical keyboard. In the last build I went with Cherry MX Whites (Milky), which are pretty ‘clicky’, but not as loud as most others of that type. For this build, I had in mind that the Gherkin might end up as a travel keyboard due to its size… and I wanted the switches to be quiet, but also have a really good tactile feel to them. On top of that, I wanted them to support under-key LEDs, and to have a clear top to diffuse the light as much as possible. So eh, not too specific.
In the end I went with Kailh Pro Purple switches, which tick all of the boxes. They have a 50g actuation force, and aren’t quite as tactile as I might usually like, but they still feel pretty good. Plus, for some reason, in my head the purple colour seems to fit with the Gherkin theme. Don’t ask me why.
When I began the build, the guides available online were scant at best, and it was bit more complicated than the others I had taken on before. With advice from the folks at /r/mechanicalkeyboards I managed to figure things out in the end. However, ultimately it all became a nightmare, and I have shelved the project for now. Some specifics…
First of all, you need to install the LEDs in place. This (perhaps obviously) is because they sit underneath the switches. The problem I immediately ran into was that I couldn’t find a schematic for the Gherkin PCB, and was unsure of what way the LEDs should go. MrMontgomery helped me out, in that the long leg of the LEDs goes into the hole with the round pad… and the shorter leg goes into the hole with the square shaped pad.
These were pretty straightforward. Put the switches through the acrylic top panel, through the holes in the PCB, and then solder them in place. At this point I really wished I had paid more attention to getting the LEDs straight, as they didn’t all immediately fit in the hole in the switches casing. I had to carefully bend them a bit, but they worked in the end.
This was another annoying bit. In order to flash the software onto the microcontroller, you have to create a connection between two of its pins to reset it into the required DFU mode. That’s fairly simple in theory… you can just solder two bits of wire to the necessary pins and then touch the ends together. In practice though, it’s a bit more of a pain. The reset function is something I found myself using a lot with my other custom keyboards, while you customise the layouts to something that works for you. This meant that I would have to find a way to easily trip the reset. In the end, I settled on a mini, yellow push button switch that just kinda flopped about. I toyed with the idea of an arcade button, but that would have been ridiculous, and wouldn’t have fitted in the case anywhere – at least not neatly. Of course, nothing runs smoothly… and the reset button didn’t work at all. For a while I had to resort to just manually shorting the pins, which was less than ideal.
Because of the design of the Gherkin, you need to install the Microcontroller after the switches have been soldered in. That causes some problems if you have a plate mounted case… or if you have any problems with the soldering that need fixed later. Why? Well, if you’ve soldered in the microcontroller directly to the PCB, you can’t get underneath it to de-solder the switches easily. For that reason, I was advised to use a (low profile) IC socket which the microcontroller just clicks into, so if needs came to it, I could just pop it out.
With that in mind, I bought a 24 pin IC socket, trimmed it down to size (12 pins) and installed that. Unfortunately I immediately ran into some issues, as it appears the IC socket had gotten damaged somehow (probably when I trimmed it down) and the Pro Micro controller wouldn’t slot in properly. This turned into a bit of a saga, as it took me a bit of troubleshooting to realise that this was the problem.
De-soldering the socket was a nightmare for the reasons above, so in the end I clipped it off and soldered the controller directly onto the board, at which point I managed to get everything working, aside from a few keys. After rummaging around online, I found this incredibly helpful image which helped identify which pin was the problem:
Unfortunately, by this point my Pro Micro had been so abused by soldering and de-soldering that it couldn’t be trusted. I had to remove it, and try another. In true grand idiot style, I then ended up going through a few different Pro Micros as I soldered the header pins in wrongly… lost the microcontroller in a house move, and various other mishaps.
To top things off, I tried to remove a few of the switches to clean up the top side of the board a bit, and ended up breaking them. I put a new microcontroller on, and got things mostly working… (after realising I had forgotten to put the switches back on first… eugh).
Ultimately though, I was defeated. A couple of the switches just weren’t working, even when I shorted the pins on the board directly. The only thing I could figure was that I had damaged the traces on the PCB somehow, and that would mean essentially starting from scratch, soldering in a whole new set of keys… etc.
I’m pretty disappointed, as the Gherkin was shaping up to look pretty cool. However, it was a learning experience. I now understand what is and isn’t critical when building these boards, and have come to understand a lot more about how they actually work, which has been helpful. At the end of the day, the Gherkin was going to be more of a novelty board than anything especially practical, so I can probably live without it.
That said… I’m not really good at giving up on things completely, and since I still have the custom case etc, I’ll probably return to this one at a later date. Watch this space.