Hello GH, I will be posting the design and build logs for a keyboard that I decided to do for learning purpose.
Eventually I would like to make a quality custom keyboard, but for now expect lots of stupidities and mistakes!
I decided on a basic GH60 layout initially. Then I realized getting PCBs made would be very expensive. I think OSHPark.com quoted me $300 USD
![Sad :(](https://cdn.geekhack.org/Smileys/solosmileys/sad.gif)
.
So I decided to make one that's as small as a keyboard can be. And 30% was hesitantly decided. It's got 32 keys. Alphabets, 1 alt, 1 ctrl, space bar, and the enter key.
The MCU is Teensy 2.0. It made a lot of sense to mod an existing TMK firmware (a huge thanks to its maintainer!).
Using Kicad, learning its quirks, I finalized on a design.
This is the top layer:
![30% Prototype Keybaord Design Log 108720-0](https://geekhack.org/index.php?PHPSESSID=gn5hqv6a4kbcreh4cp419s2nn4c3oemo&action=dlattach;topic=74635.0;attach=108721;image)
And bottom layer:
![30% Prototype Keybaord Design Log 108722-1](https://geekhack.org/index.php?PHPSESSID=gn5hqv6a4kbcreh4cp419s2nn4c3oemo&action=dlattach;topic=74635.0;attach=108723;image)
Then I used PCBWay.com to order the boards. OSHPark.com was still hella expensive. $200 USD. PCBWay all in all came to about $75.
$30 for the board, $25 for shipping, and another $20 for customs and duties. What is impressive is that it took exactly 8 days!
From design submission to my door that is.
Although the service is based in China, I am extremely happy with their service. I have been contacted multiple times to sort out issues.
I have accidentally included 2 drill layers, and they even made a screenshot to explain the confusion:
[update 1]Here is a shot when I first got my PCBs. I was really excited. I wish the coating of the PCB was better. OSHPark has this shiny coating that doesn't seem to attract dust. PCBWay, while super cheap, it is not a top quality finish:
![30% Prototype Keybaord Design Log 108854-3](https://geekhack.org/index.php?PHPSESSID=gn5hqv6a4kbcreh4cp419s2nn4c3oemo&action=dlattach;topic=74635.0;attach=108855;image)
here is the comparison with HHKB Pro 2. Was surprised how small it was in comparison (which tells how little I knew about what I made lol).
![30% Prototype Keybaord Design Log 108856-4](https://geekhack.org/index.php?PHPSESSID=gn5hqv6a4kbcreh4cp419s2nn4c3oemo&action=dlattach;topic=74635.0;attach=108857;image)
Then I looked for a place to source switches. I have searched for any type of Cherry MX PCB mounted switches, and surprisingly a lot of places were either out of stock or too expensive.
At one point I read somewhere that Gaterons were Cherry-MX compatible. ZealPC came to my attention, and to my surprise I had my switches in less than 48 hours since I ordered:
![30% Prototype Keybaord Design Log 108858-5](https://geekhack.org/index.php?PHPSESSID=gn5hqv6a4kbcreh4cp419s2nn4c3oemo&action=dlattach;topic=74635.0;attach=108859;image)
Btw, Zeal is a super nice guy!
It was long and arduous. I mean it was fun, but I probably spent more time in searching for the right PCB maker, and the right place to buy the switches, than actually designing the board!
[update 2]Alright, I began the assembly. Being nervous at the possibility of things not working, I only soldered two switches, and the headers for Teensy.
![30% Prototype Keybaord Design Log 108964-6](https://geekhack.org/index.php?PHPSESSID=gn5hqv6a4kbcreh4cp419s2nn4c3oemo&action=dlattach;topic=74635.0;attach=108965;image)
![30% Prototype Keybaord Design Log 108976-7](https://geekhack.org/index.php?PHPSESSID=gn5hqv6a4kbcreh4cp419s2nn4c3oemo&action=dlattach;topic=74635.0;attach=108977;image)
![30% Prototype Keybaord Design Log 108970-8](https://geekhack.org/index.php?PHPSESSID=gn5hqv6a4kbcreh4cp419s2nn4c3oemo&action=dlattach;topic=74635.0;attach=108971;image)
The TMK firmware code was pretty straight forward. Given enough time, it was easy to figure out the structure of it. I hacked on the GH60 layout.
However, I was not getting any input from any of the 2 switches I soldered!!!! I checked my PCB designs. I checked the pin-mappings. I even made a small circuit to test the switches.
It turns out, my assumption of input/output of the rows and columns was opposite of what TMK assumed. In other words, the direction of my diodes were wrong =(.
After soldering the diode in the opposite direction of the silkscreen, I was able to get the two switches working. I was actually pretty proud of myself at this point haha.
![30% Prototype Keybaord Design Log 108978-9](https://geekhack.org/index.php?PHPSESSID=gn5hqv6a4kbcreh4cp419s2nn4c3oemo&action=dlattach;topic=74635.0;attach=108979;image)
So I happily soldered the remaining switches:
![30% Prototype Keybaord Design Log 108968-10](https://geekhack.org/index.php?PHPSESSID=gn5hqv6a4kbcreh4cp419s2nn4c3oemo&action=dlattach;topic=74635.0;attach=108969;image)
![30% Prototype Keybaord Design Log 108980-11](https://geekhack.org/index.php?PHPSESSID=gn5hqv6a4kbcreh4cp419s2nn4c3oemo&action=dlattach;topic=74635.0;attach=108981;image)
[update 3]
Here is a video of the keyboard in action -
https://twitter.com/mrflow3r/status/635338584392790016.
Wanted to make the firmware public, but didn't get a chance to do it today. For now it has a single layer. Will accommodate great suggestions from the comments (much appreciated, again!).
Physically, I am at a stage where I should make a proper case or at least a couple of feet for it. Haven't figured out how to do this yet.
There is still much to be done on the software side. So I will focus on the for the next couple days.
I also realized the Enter key has no trace to a column =(. Rework should be relatively simple. Will update on this tomorrow!
40-brd.svg (414.3 kB - downloaded 97 times.)
[update 4]
Keycaps here! Clearly I have no clue on the profiles of keys.
![30% Prototype Keybaord Design Log 110178-13](https://geekhack.org/index.php?PHPSESSID=gn5hqv6a4kbcreh4cp419s2nn4c3oemo&action=dlattach;topic=74635.0;attach=110179;image)