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
.
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:
And bottom layer:
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:
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).
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:
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.
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.
So I happily soldered the remaining switches:
[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 94 times.)
[update 4]
Keycaps here! Clearly I have no clue on the profiles of keys.