I like keyboards, I have been using an OLKB Planck as my daily driver for 18 months now. I saw a really nice ortholinear 30% keyboard go by on mastodon and I had to have one.
The keyboard I saw was actually the excellent gherkin by di0ib . di0ib has worked in the true spirit of open source and provided all of the design files and firmware for the gherkin. Beyond that they have included child proof instructions to order pcbs .
I tricked some friends into agreeing to build boards if I got a run of PCBS and set off. Amazingly easyeda.com was offering 5 more boards (10 vs 5) for just $2 extra. I managed to get 10 sets (board, key plate and base) of the PCBs for about £80.
The build was really easy to do, there is some advice for the socket on 40 percent club, but if you test fit everything as you go it should be straight forward. A build is probably around 2 hours depending on proficiency.
Parts Per Keyboard:
1 Keyplate PCB 1 Bottom PCB 1 Main PCB 16 M2 Spacers (14mm length) 32 M2 screws 30 key switches 30 key caps 1 Arduino Pro micro 1 machine pin socket (wide 24 pin (2x12)) 30 3mm leds (your choice of colour) 30 1N4148 diodes 1 100 ohm resistors 1 100k ohm resitors 30 470 ohm reistors 1 mosfet (probs A04406A 4406A)
Key caps are a harder thing to buy (so many awesome choices) so I ended up using some spares I found in a desk drawer.
Flashing the firmware to the keyboard was a little harder to figure out.
Eventually I found some instructions that included the correct avrdude flags
, you also need to use a switch pulling
to put the micro controller in programming mode.
Most of the work is done by the TMK
file, but you must manually specify
a target for the program command. The command I used looks like:
# programming directive MCU = atmega32u4 OPT_DEFS += -DBOOTLOADER_SIZE=512 PROGRAM_CMD = avrdude -p $(MCU) -P /dev/tty.usbmodem1411 -c avr109 -U flash:w:$(TARGET).hex
With the board built and programmed (first try) it is time to figure out how to use it. It took a couple of months of daily use to get used to using the planck, it will be the same with the gherkin. To help learn I have printed out the keyboard layout and the combination of layers.
I modified the default layout a little to make it more similar to how I
normally type. I moved space bar to my left hand, made 'X' a repeatable
key(gotta be able to delete chars in vim) and added a 'CMD' key.
I have a fork
of the repo
with my layout and
The layer system is easy to use, if you hold any of the keys on the base layer it will enable the alternate function for a meta key or it will switch to another layer for a layer key.