Monday, October 30, 2017

Gherkin ML

Gherkin with Cherry ML switches

Same PCB dimensions as the regular MX Gherkin PCB. Cherry ML switches are PCB mount only, the Gherkin top and bottom switch plates are not compatible with this PCB. The ML switches are centered and have the same 19.05mm spacing as the MX switches.

The matrix is the same as the original Gherkin, it can use the same firmware, there are no LEDs.

The keycaps and switches were recycled from a PLUM ortholinear keyboard. PLUM keyboards can still be found on eBay.

Gerber files are on git.

ML switches are very small. Most ML keyboards use 18mm spacing. The Gherkin ML is using the same 19.05mm spacing MX switches use..

Bottom of the PCB with socketed Pro Micro clone.

PLUM keycaps. They are ABS with laser legends. 18mm spacing would not work well with these keycaps, they would rub against each other.

Side view with 6mm M2 spacers. A second PCB is used as the bottom. It would be possible to use shorter standoffs if you use a very low profile socket for the Pro Micro.

USB connector end.

Thickness compared to a MX Gherkin built with the same size spacers.

Wednesday, October 25, 2017


144 keys on an Arduino Micro

The Arduino Micro (not the Pro Micro) has 24 usable data pins. With this you can make a 12x12 matrix.

Two of the pins on the Arduino Micro are connected to LEDs (PB0 and PC7 used as indicators when used with the Arduino IDE). This may cause problems if using them as inputs, as outputs they should behave normally in a switch matrix.

The PCB is very basic, I used the reversible switch footprints so that the board can be flipped and the Arduino Micro installed right side up or upside down depending on which way the board is oriented. Having the Arduino Micro on the left allows access to the reset button.

The largest matrix you can do with a Pro Micro with its 18 pins is 9x9, 81 keys. I made a handwired one here.

unquadquad gerber files on git. Firmware.

The 5x5x9 is a 225 key macropad.

DSA keycaps. Not really sure of what the layout will end up being. 

 Bottom of the populated PCB. Lots of standoffs.

Using a clone Arduino Micro. This one is a total redesign. The pinout is identical, but it has components on only one side and is much more low profile.

 144 Gateron clear switches.

 6mm M2 spacers and screws. A genuine Arduino Micro is much taller and would need taller spacers.

Bottom blank PCB with 3M bumpon silicone feet.

Monday, October 23, 2017


Gherkin Of The Week #5

Russian Gherkin

Used old Russian germanium diodes. The top is a silkscreen less black PCB, bottom is a silkscreen less white PCB.

After scrubbing the PCB with 91% isopropyl alcohol to clean off the flux, some of the colored bands on the diodes started to come off. I soaked it in alcohol and scrubbed it some more and got most of the bands off. The clear glass diodes now look like little light bulbs.

 Outemu Ice Grey switches from Switchtop. These are one the few new types of switches available in PCB mount.

 M2 spacers and screws. Outemu switches came with sockets.

 Blank white bottom PCB.

Outemu switch removed. You can also see the clear glass germanium diodes with their colored bands removed.

Thursday, October 19, 2017

Nude Germanium Diodes

Germanium diodes with their paint markings removed

91% isopropyl alcohol will weaken the bond between the glass and the paint. A little rubbing and the colored rings will come off.

I have a few dozen diodes soaking in a bottle of 91% isopropyl for over a week now. The alcohol is now a light pink color but the bands are still intact on the diodes. So the IPA will not completely dissolve the paint, just loosen it.

I suspect some other types of solvent will completely dissolve the paint markings without having to scrub them off. Will experiment with acetone and whatever else the hardware store has.

An original red banded diode and two bare germanium diodes. 1n4148 diode for comparison.

Tuesday, October 17, 2017

Green Arduino Micro

Green Arduino Micro Clone

The Arduino Micro has 24 usable i/o pins, as many as on a Teensy 2.0. Same ATmega32u4.

Not a Pro Micro, a Micro. There is an official Arduino Micro. This is a redesigned clone I found on Aliexpress. It shares the same pinout, but has all of it's components on the top of the PCB. The bottom is completely flat. It also comes without the ISCP header installed and uses a smaller reset switch. Very low profile compared to the official Arduino Micro.

You can find these on Aliexpress by searching for CNT-013. They are also very cheap for what they are. Currently $3.50 each plus shipping, that's the same price as the smaller Pro Micro clones. Most other Arduino Micro clones are selling for twice that price.

Like the green Pro Micro it has a simplified power supply. Otherwise it should work just like a genuine Arduino Micro.

Low profile with a smaller reset switch than what is used on a genuine Arduino Micro.

The bottom has no components. The genuine Arduino Micro has the power supply components on the bottom.

Monday, October 16, 2017


Gherkin Of The Week #4

Black top 30% Edward

Another variation on the 30% Edward. The top plate was sanded down and dyed black. The bottom is an experimental perforated PCB.

 Translucent black keycaps from Flashquark.

 M2 spacers and screws.

Perforated bottom plate.

Friday, October 13, 2017


Using a Raspberry Pi to compile TMK and as an ISP programmer

I have been using Raspberry Pi's for various things since they have been generally available. They make great general purpose embedded computers. Since they are running Linux they can be made to do just about anything.

The default Raspbian distribution has everything necessary to compile TMK. There are many guides to setting up Raspbian. Once you have it up and running you need only run the following command to install all the additional software for compiling.

sudo apt install gcc-avr avr-libc dfu-programmer git

That installs the gcc avr compiler and the avr libraries for the ATmega series of chips. dfu-programmer is for programming chips over USB with the DFU protocol. git is for cloning the TMK code from github.

git clone

This will clone my fork of TMK.

This video shows the whole process. I did it on a Raspberry Pi Zero, it will work the same on a Raspberry Pi 3 or 2, or the original Pi.

I also tested this on a Raspberry Pi 3. It compiles in half the time as the Zero. 28 seconds vs 59 seconds to compile the default Gherkin firmware.


I did not install avrdude from the Raspbian repository. Instead I installed it manually using the instructions on Adafruit. They have detailed instructions on how to install a custom version of avrdude that supports the GPIO outputs of the Raspberry Pi.

I used the same pogo pin contraption I use with my other programmer.

 Pogo pins to connect to a Pro Micro.

 Connected to the Raspberry Pi GPIO header with jumper wires.

Closeup of the connections on the GPIO header.

I tested this on a Raspberry Pi Zero with USB WiFi. I controlled it remotely over the network through a SSH session.

The Raspberry Pi Zero (W) does not come with a header installed. The normal sized Raspberry Pi 2 and 3 do have the header installed.

What can you do with an ISP programmer?

You can program the Atmel chip directly without using the bootloader code. You can also replace the existing bootloader with a different one. Or, if you want all the space available, you can overwrite the bootloader and use all the flash space for your code, and not have a bootloader.

Wednesday, October 11, 2017

Red 6lit

6lit with RED PCBs

Ordered some colored (color other than green) PCB's from JLCPCB.These are identical to the green 6lit, only the color is different.

Bought a white right angle TRRS cable from Sparkfun.

Left over G20 Semiotic keycaps.

Red looks good and the branding on the PCB does not show through. With green soldermask the red branding on the bare PCB material sometimes shows through.

6mm M2 spacers and screws.

Monday, October 9, 2017


Gherkin Of The Week #3

Aluminum bottom Gherkin

Took a piece of 1/16th thick aluminum and punched holes in it that match the switch positions. I used one of those cheap metal punches from Amazon. I used a spare PCB as a template to position the holes. The holes for the M2 screws I drilled with my Vanda-Lay drill press.

The black PCB is one of the ones I made at JLCPCB. It has no silkscreen layer and is all black on both sides. I also installed the diodes and resistors on the bottom of the PCB.

 Gateron clear switches with green 2x3x4 LEDs installed inside them.

 M2 spacers and screws.

 Aluminum plate with punched holes. The plate was a little short.

Closeup of the PCB with no silkscreen markings.

Wednesday, October 4, 2017

DeathStar II

DeathStar with Black PCB

Got these made at with black soldermask. The previous version was with plain green soldermask. The PCB's are the same, just different color.

I used self flashing LEDs on this one. The outer ring of LEDs are the slow flashing type and the center are the fast flashing type. See the video below.

Links to PCB and firmware in original post.

 Gateron Clear switches. The 2x3x4mm LEDs are inside the switches.

 The LED color pattern starts off in sync, but then starts to drift and look random.

Smoke grey translucent keys from Flashquark.

Tuesday, October 3, 2017


Gherkin Of The Week #2

Alternate 30% Edward

One of the many iterations of the 30% Edward. This one has the same handles but they are attached to the bottom instead of the top plate. The bottom is 1/16" aluminum plate.

 SA keycaps from grab bags.

 The bottom plate I got off of eBay. Drilled the holes with a Dremel in my Vanda-lay drill press.

Regular PCB top plate and M2 spacers and screws.

Row 2, 3, 4 SA sculpted keycaps. The switches are Kailh Bronze clicky.