Monday, July 16, 2018

Half n Half

Another split keyboard

I made this a while ago. It's sort of a wider Gherkin with dedicated thumb switches.

Construction is the same as a 25 or foobar. It is a single PCB design that can be assembled flipped, either left hand or right hand side up.

Gerber files on github. Firmware on github.

Blank XDA keycaps. XDA has many smaller space bars. Since the space bar is isolated you can use whatever size you want.

Both halves connected with a TRRS cable.

A second PCB is used as a base. 3M rubber bumpons.

M2 spacers and screws. Pro Micros and TRRS jacks.

Wednesday, July 11, 2018


Too many pens

EasyEDA/JLCPCB have been sending a pen with each order. The collapsible "Pill" pen is from Flashquark.

JLCPCB stopped including a pen in the last few orders I've received. They must have run out.

Monday, July 9, 2018

Tall and Short

Two 4x4 macropads

A 4x4 with a SA keycaps and a Chocopad from

Fat and thin. The two extremes available in current mechanical switches and keycaps.

Both are powered by a Pro Micro.This is a Rev 1.0 Chocopad. The ones is selling now are black and have a nice bottom PCB.

1.5 inches tall vs 0.875.

Monday, July 2, 2018

Kolea Case

Top and bottom plates for the Kolea

I broke one of the switches on my Kolea when I dropped it. The switches are very exposed. I made these plates to make the Kolea much sturdier. It will also make it possible to use plate mount switches as well as PCB mount ones.

Gerber files on github.

The switches are held much more securely with the top plate.

I scuffed up the PCB to take off the shine. There is a hole in the bottom plate to access the reset button the Teensy LC.

The plates are held together with M2 spacers and screws.

Monday, June 25, 2018

Alps Prototype

Experimenting with an Alps GNAP!

Made a top plate and PCB for Alps style switches. The plate matches the plate for the regular GNAP!

Alps uses a 1-1.2mm thick mounting plate. I made the PCB out of 1.2mm FR4 material. The switches fit well and are secure. Unfortunately the 1.2mm flexes a lot more than the usual 1.6mm FR4 material.

On the Rainbow Cat Vomit I also used 1.2mm FR4, but had many more supports in the middle. I may try using 1.6mm and see how that works. The switches just won't lock into place, but the PCB should hold them down.

The other problem is the 2u stabilizer. There are many different styles. I will probably use the MX compatible one since the Signature Plastics Alps 2u keycaps use those.

Wednesday, June 20, 2018

STM32 Flashing

Programming a Maple Mini

These are the steps to flash a Maple Mini with TMK for the 5x5x9 board.

First you will need the original Maple Mini bootloader. This file is in BIN binary format.

You will also need the compiled HEX file from TMK. A walkthough for compiling TMK with ChibiOS is here.

The STM32 Flasher Demo can be downloaded here. You will need to register to download.

A 3.3v USB to TTL Serial adapter. Often called a FTDI cable. It must have 3.3V i/o. Most have an option for either 5v or 3.3v. Install drivers for the USB serial adapter if necessary. It should show up in Windows Device Manager as a COM port.

This USB Serial adapter has a jumper to switch between 5v and 3.3v output.
You will need jumper wires to connect TX, RX, GND, and 3.3v.

The connections on the Maple Mini. On the 5x5x9 these are broken out to a header.

The BOOT1 pin needs to be connected to ground to run the Serial bootloader. On the 5x5x9 there is a switch that makes this connection.

To enter the serial bootloader you hold down both BUT1 and RESET. Then while continuing to hold BUT1 you release RESET. Then release BUT1. It will now be in Serial bootloader mode.

You can now run the STM32 Flasher (Demonstrator GUI).

 Pick the COM port of your USB Serial adapter.

If you pick the wrong COM port or the Maple Mini is not in Serial bootloader, or the TX/RX pins are reversed you will get this error. Try again. The program is buggy and you may have to quit the program if you get this error.

If it connects you will get this screen.

Do not change anything on the next screen.

Click on "Download to device". Click on the file selector.

Change the file type to BIN and select the Maple Mini Bootloader file.

 Click next to flash to bootloader.

It should take only a few seconds.

When complete click back.

Click the file selector again.

 This time select HEX files and open the compiled TMK hex file.

 Click next to flash the firmware file.

 Wait for it to finish.

Close when done.

You can skip flashing the bootloader the next time.

Monday, June 18, 2018

Gnapkin Plates

Forks and Spoons

Made some PCB plates for the Gnapkin.

Files on github.

Assembled with Kailh Burnt Orange switches. The top of the plate has as copper layer.

 Bottom plate is plain and also has a copper layer under the soldermask.

M2 spacers and screws hold the two plates together.

Access to the USB port on the Pro Micro.

I added blue LEDs under the switches.

These are actually 3mm round flanged LEDs. They fit snugly in the bottom of the switches. This would interfere with a click bar if the switch had one.

Dark Grey XDA blanks.

Next to a plateless Gnapkin.

Wednesday, June 13, 2018

TMK with ChibiOS

Setting up the build environment

I usually compile my firmware in Linux. I use either Ubuntu in a virtual machine or Raspbian on a Raspberry Pi. They are both Debian based and the same procedure should work on either.

Start with a fresh install of the OS.

Then update the list of software packages.

sudo apt-get update

Update all the installed packages.

sudo apt-get upgrade

Install the required packages for compiling TMK and ChibiOS

sudo apt-get install gcc-avr avr-libc dfu-programmer git make gcc-arm-none-eabi

Clone the TMK repository

git clone

Change to the chibios folder

cd tmk_keyboard/tmk_core/tool/chibios/

Clone the stable branch of ChibiOS repo

git clone -b stable_17.6.x

Clone the ChibiOS-Contrib repo

git clone

That's it. You should be able to compile for TeensyLC, Teensy3.2, Maple Mini, etc...

This video goes through the process on Ubuntu 18.04 LTS server.

Monday, June 11, 2018

Praetorian Gherkin

Dark and silent

Red Gherkin plates and black PCB. Cherry silent black switches.
Black nylon M2 spacers. Oxide black screws.
Cheap translucent blank red ABS keycaps from eBay.
Funko Pop bobble head.

Wednesday, June 6, 2018

Dressing up cheap M2 spacers

M3 nylon spacers fit over M2 spacers

Non-threaded M3 nylon spacers have a 3.2 mm inner diameter (ID) that fits over the cheap brass M2 threaded spacers. They come in two outer diameters (OD), 5mm and 7mm. The 7mm ones are most common but are probably too large for most uses. The 5mm OD ones are perfect for hiding the skinny brass spacers.

They are sold on eBay and Aliexpress. They come in all the same lengths as the brass spacers. Amazon has some but they are in kits of mixed sizes, many too short or too long to be useful.

Since they are made of nylon they should dye very well.

These are much sturdier than regular all nylon threaded spacers, when combined with a brass spacer. You can tighten them much more as the brass spacer's threads won't easily strip.

5mm OD M3 nylon spacer next to a M2 threaded brass spacer.

M3 spacer on top of the M2 spacer. It fits well but is not snug. It will fall off if you flip the board over while assembling.

Installed and screwed in place. The raw nylon is translucent. Could dye them black or some other dark color. I have seen ones that are white nylon (more opaque) and some in black nylon.

8mm long 5mm OD spacers on a Dilly with plates.