This is a build log of my custom keyboard.

It is inspired by the minidox

STEP 1:DESIGN

I started off by designing the keyboard to fit my hand, with correct dimensions.

Another terrific source of information on keyboard layout is matt3o's book

This is the first sort of mock-up of the keyboard layout. While I was designing the keyboard layout, I would constantly print out the current iteration of the keypad to scale on a peice of paper, and check how my hand would manage to reach the keys. Because I would do this, I never ran into a fitment problem for the actual keyboard.

STEP 2:TOP PLATE

Now once the design was figured out and everything, the actual build could start. First the aluminum plates had to be made.

That started with a sheet of aluminum, that I then used an angle grinder on to cut down to a similar shape and size to that of the keypad. After they were cut down to the correct size, then I drilled as many holes as possible where the keys should go. Once that had been done, pliers were then used to pull all the material that couldn't be gotten with the drill out. And finally, a file was used to get the corners square, and the size of the hole correct.

STEP 3:SOLDERING

Then began the soldering.

For far more specific information on the soldering process, I highly recommend Cribbit's keyboard soldering guide.

STEP 4:WOOD CENTER

Next came the wood. Sadly I seem to have lost all the photos that I took during the woodworking process, but in essence, it was very simple.

I took a birch log, and cut two slightly slanted slabs out of it. this slant was then sanded down to the final size. Then a process very similar to the top plate was used, holes were drilled, and a chisel was used very carefully to remove the center from the outside. The holes for the ports were drilled in, and a file was used to shape the holes correctly. Then I sanded the top and bottom of the wood to give it it's correct slant and make sure that everything was flat. After a final sand on the inside to make sure that the keys fit, the top plate was screwed into place.

STEP 5:BOTTOM PLATE

The process for the bottom plate was similar to the top plate, angle grinder to get roughly to the correct size. Drill a few holes and put the screws in, and boom. Time for the final sand.

STEP 6:FINISHING TOUCHES

After liberous use of a hand sander and some sand paper, I sprayed the sides of the keyboard with laquer, let it dry overnight, and it was done!

STEP 7:FIRMWARE

So now you have a keyboard, which is all wired up and connected, but the controller doesn't actually understand anything and doesn't know how to talk to the computer, so we have to teach it. I used an open source firmware called QMK. It is extremely powerful, and has more than enough features, with more constantly being added.

Now, I'm not going to do a full write up on how to develop your own firmware for a keyboard, and how to flash it, but I will provide these two really useful links that I referenced a whole bunch.

And the source code for my keyboard is on my github.

RANDOM EXTRA TIPS

My firmware originated from the Minidox, the real main modification that had to be done that I didn't find mentioned anywhere was the rev1 file. The original Minidox file and this is mine. The only difference is that mine has k32 and k72. I think that the way the controller actually processes that is the first number is the row, the second is the collumn, hence the grid being in the order that it is.

Then I just added some more buttons to all the keymap matrices on the keymap.c file. This is the minidox file, versus mine.

Now to enjoy