Gherkin 40% – (Failed) Keyboard Build Log

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.

The Parts

I needed the following bits and pieces:

  • PCB
  • Switches
  • Keycaps
  • 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

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.

The Build

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…

LEDs

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.

Gherkin LED build log

Switches

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.

Gherkin keyboard build log

Reset Button

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.

IC Socket

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.

Gherkin MCU

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:

Gherkin troubleshooting

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.

New Keeb – Planck Rev 6

Behold my newest keyboard, the Planck Rev 6:

Planck Rev 6

I have had this project in the works for a while now, but only just got around to finishing it when I realised that all of my other mechanical keyboards had the loud-as-hell clicky style key switches. This was always fine when I worked from home in a tiny cupboard and could disturb nobody, but lately I’ve been sharing an office with my wife who is on video calls pretty constantly, and my delightfully clickety clackety Ergodox keyboard with Cherry MX Blues suddenly weren’t as charming as they once were (Well, they were for me, but probably nobody else.

Rather than bore you with all the geeky build details, here are the salient points:

1. What are the colours all about?

I had originally wanted to do one of these cool blue to pink gradients for the keycaps… but realised that the set I ordered didn’t have enough single squares to cover the full grid required – and I didn’t fancy having to get a full new set just for a few extra keys. The other problem is that while gradients look cool, they also make it a bit of a nightmare to find specific keys that you need at a glance. In the end, I decided to go with something a bit more practical. The yellow keys are modifiers like Escape, Enter, space, etc. The pink and blue rows are the letters, and the green keys are reminders of where specific keys I need for work shortcuts are.

2. Wait, why are all the keys square?

Aesthetic, innit.

This kind of grid layout is known as an ‘ortho-linear’ keyboard. There are a bunch of reasons people like this system… with the theory being that it keeps your fingers in a more natural typing position than the standard setup. To be honest though, I just think they look cool, and wanted to try out something a bit different (though this isn’t my first grid rodeo…)

3. But there’s only four rows! How does that work?

Err, yes. There is. In the mechanical keyboard world there is often a bit of an obsession to see how many keys you can strip out and still type just as fast as you would on a full size board. The Planck is the smallest board I have tried so far, with just 48 keys in total. The sharp eyed amongst you will probably have worked out that this means there isn’t enough room for a number row… and there isn’t. So how do you get access to all those keys that are missing?

The idea is pretty straightforward: Rather than have just one ‘shift’ layer which gives you capital letters and exclamation marks and all that good stuff, you have multiple ones. The blue keys to either side of the yellow space bar(s) on the bottom row let you ‘shift’ into completely different layers which have all the other keys – which you can program however you want.

For reference, here is my top layer, and then a couple of my additional ‘shifted’ layers.

Planck Layout

Planck Layout

Planck Layout

So if I want to get to the number row, I press and hold down the blue key to the right of the space bar. Simple.

I am still figuring out what the perfect layout for me is (ignore that rogue right arrow on the top layer… I’m not sure what is going to end up in that space just yet) – but I already really like this board. It’s neat, and I have space for all of my weird custom modifier shortcut keys I have set up for work. The keys I use most are on the top layer, and anything I use less is just an extra press away. Of course it takes a bit of getting used to, but then all keyboard changes do – and I’ve adapted to the Planck far quicker than I have others in the past.

4. What kind of switches are in that bad boy?

Those would be the Outemu Sky 68g switches. They are ultra-tactile without being too loud to use around other folks.

5. What’s with this obsession with weird keyboards?

When you spend most of your life using one specific device, it’s good to explore different ways of interacting with it. Plus, the MacBook Pro keyboards are now so shockingly bad, that I will do almost anything to avoid having to use one. If you know, you know.

6. Nice USB cable.

Why thanks for asking. It’s a custom made one from CoolCable.co.uk.

 

Commodore 64 Mechanical Keyboard Project

The Commodore 64 is a classic, and it has played an especially important role for me. It was the first computer I ever owned; given to me by my parents as a fifth birthday president, and my granda used to spend hours showing me how to program it from a big purple book he had gotten from a magazine. I credit this introduction with piquing my interest in technology early on. Staring at the rainbow loading screen, waiting for games to load from the cassette deck is also probably to blame for my terrible eyesight. I rediscovered the C64 as a teenager when I learned of its coveted SID sound chip, and I’ve been making music with it ever since under the guise of unexpected  bowtie.

One of the things that always stood out in my mind was the C64’s keyboard, with its thick brown keys and symbols that I never really understood. If I could, I would use it all the time, but that was never really practical. Recently though, I fell down the rabbit hole of ‘mechanical keyboards’ online, where people build and use special keyboards with custom switches, sizes, and layouts. One of the projects I found included a re-working of the C64’s keyboard which brought it into the modern world, and I felt inspired to do something similar.

Sourcing a C64

I originally planned to source a broken Commodore online and use the keys from it, rather than defiling my beloved console. Truth be told though, mine was in a bit of a shabby state, and even broken C64s go for a pretty penny in the UK. I decided to just make use of what I had, with the belief that I could always pop the keycaps back on if I changed my mind later.

Purists, look away now.

Removing the keys

Removing the keys initially proved a bit trickier than I had anticipated… partly because I was trying to get them off while the thing was fully assembled. What you need to do is open up the breadbin itself, and then detach the keyboard from the chassis by taking out some screws. It was pretty easily done once I realised this was what was required – especially since my case had already been taken apart a fair few times to get at the SID.

Popping the keys off can be tricky, as they are far stiffer than one would expect from a more modern device. Keycap removers didn’t really work, and so I resorted to using a set of pliers, being careful to pull straight up to avoid damaging the posts underneath. Each key has a large spring underneath which can ping off easily if you move too quickly, so watch out for that.

Commodore 64 keycap pull

Underneath was filthy, and it seemed like a good opportunity to give things a clean even if I didn’t end up building anything. I left both the spacebar and the Shift Lock keys in place, as I suspected they would be a bit more fiddly to deal with, and I wasn’t planning on using them anyway.Commodore 64 keycaps

Finally, I gave the keycaps a clean with some soapy water and left them to dry.

The new board

There are lots of mechanical keyboard designs to choose from. For this project, I went with the Preonic, and got a partially built kit as part of a group buy from Massdrop, which came with a fetching orange aluminium case. It is a compact, ‘ortho-linear’ keyboard – which means the keys are arranged in a grid like pattern, rather than staggered as you would see more commonly. The idea is that your fingers have to move less, and in a more natural way when typing – which reduces strain. I opted for the Preonic (rather than the Planck, which has less keys), as I wanted to make the most of the C64 keycaps.

The switches

One of the main reasons people like mechanical keyboards is the quality and range of switches available. The switches are the bits underneath the plastic caps with the letters on them (or not, depending on what you prefer). Unlike the squishy keys you find on laptops and other modern computers that are so unsatisfying to use, mechanical keyboards feel great. They can either be smooth (linear), have a bump (tactile), or have a bump and an audible noise (clicky). Most people probably mentally associate typing experiences from yester-year with the clicky type – personified by the Cherry MX Blue switch, though the Commodore 64 actually had smooth keys. For this build I opted for the Cherry MX white (aka milky). They are clicky keys, but with a far less sharp and pronounced click than the Cherry MX blues. This means it’s a bit more socially acceptable when typing around other people (!).

Fitting the keycaps

The biggest issue with this project was that the keycaps from the Commodore 64 aren’t compatible with any of the switches that are commonly used today, and so wouldn’t just snap on. However, some wonderful person has designed a C64 to Cherry MX adaptor that can be 3d printed and shared it for free (open source is wonderful).

Commodore to Cherry MX Adaptor
Preview of the adaptor showing the Cherry MX side

I don’t have a 3d printer, so obviously had to outsource this. Getting a decent price in the UK was tricky at first, as nobody would take up an order that small, but eventually I got 80 caps for £22.98 including delivery from 3DPrintDirect.co.uk. That would be more than enough to cover the 60 keys on the Preonic. The material was SLS – carbon reinforced plastic.

It took about two weeks for the adaptors to arrive. I had read that some people had trouble with their adaptors, especially if the finish on the 3d printing was rough, but mine worked out pretty well. At first I thought I might have to disassemble the switches to install them as they were very tight, but in the end I could just press them against a flat surface and push hard with the keycaps on. My fingers hurt after doing a bunch, so I did them in batches. When the board arrived, I realised that it actually made much more sense to put the adaptors into the caps first, and hit them gently with a small hammer, before pressing the whole thing onto the switch. Getting them at the right angle could be tricky, but they all turned out fine in the end.

It’s worth noting that I did also discover that removing an adaptor from a keycap isn’t really possible without destroying the soft plastic and leaving the inside of the cap gunked up, so that means that these caps are now committed to the project, and won’t be reusable on the C64 itself like I had hoped.

Building the Preonic

Preonic C64 project

The Preonic kit I got came from Massdrop in a bundle, and it was packed and presented beautifully. The instructions however, weren’t exactly n00b friendly, and it took me a bit to work out exactly where the spacers and screws were meant to go; it seemed like there were extra unnecessary holes in different places, which threw me. Eventually it came together though, and things began to take shape.

Preonic C64

I’ve done a fair amount of soldering in my time modifying Game Boys etc, so it wasn’t a difficult task to deal with the through-hole switches. I did discover that one of them was bust after putting it all together though, which meant I had to de-solder and replace it, which was a bit of a pain.

The layout

When I started looking at the actual layout of the board, I ran into a couple of issues with my plan to use the Preonic. Firstly, I had overlooked the fact that the board is built around a grid of single keys, and doesn’t really support anything larger except in the middle of the bottom row. That meant that I didn’t have enough keys from my C64 to cover the full thing, and no perfect option for the space bar.

Secondly, my choice was further restricted by the design of the C64’s keys, as the caps are ‘sculpted’ depending on where they sit, so I couldn’t just take one from the top row and put it on the bottom, even if it would work better for my purposes.

In the end, I managed to source some extra single keys online, and did the best with what I had. I had feared that it would be wildly off, or that I would need to use really inappropriate keys, but it actually worked out not too bad at all.

Some folks have commented that the layout doesn’t make much sense, and I should say that I am not religiously sticking to what is printed on the keycaps. For example, I am using the ‘Return’ key in the place of a space bar, as that was the only key from the original board which seemed appropriate and fit the slot on the PCB. I’m using an equals key for Enter. The @ key brings up a list of my bookmarks with Shiori; The £ key activates my Alfred snippets; RUN STOP is my Hyper Key; < and > activate the ‘Lower’ and ‘Raise’ layers of the Preonic, and so forth. The beauty of the software which powers these keyboards (QMK) is that you can map and re-map the layout to whatever makes sense for your own needs.

You can find details of my layout over on GitHub.

The finished article

Preonic C64

As a finishing touch, I got a special rainbow coloured USB cable made up from coolcable.co.uk as a nod to Commodore. Special thanks to them who put up my last minute changes to the connectors as I ordered the wrong thing.

I still need to set up the Preonic’s layers to suit my own custom layout, but I really like the board. It’s nice, solid and relatively compact, and now I have a personal homage to my granda and first computer. The keys feel pretty great to type on, though they could potentially have done with some heavier switches as the cap and adaptor combo mean that you end up putting more force on the keys than you usually would.

Preonic C64

Edit: This was featured on Hackaday, which is awesome.