geekhack

geekhack Community => Keyboards => Topic started by: ruiqimao on Thu, 07 April 2016, 23:24:11

Title: My Custom 85%(?) Keyboard
Post by: ruiqimao on Thu, 07 April 2016, 23:24:11
So, being new to the whole mechanical keyboard thing, having only owned a Das Professional 4, and not wanting to drop $100+ on a keyboard that I wasn't sure I would like, I thought to myself, "why not just build one?". And so the journey to drop almost $500 (my poor wallet...) on a perfect keyboard began.

The Layout
I wanted something smaller than a tenkeyless layout, but I also didn't like the lack of function keys and arrow keys in a 60% layout, since I use vim and tmux with the ` key as my control key. F5 and F12 are also absolutely essential for web development, so I looked at something a bit bigger. The 84-key layout seemed great, until I realized that my right pinky actually likes to go to the end of the right shift key, so that was a no-no. Then, I stumbled upon http://www.keyboard-layout-editor.com/ (http://www.keyboard-layout-editor.com/), so I whipped up an 88-key layout that suited my tasted perfectly.

Code: [Select]
[{c:"#820808",t:"#ffffff",a:7},"esc",{c:"#303030"},"F1","F2","F3","F4",{c:"#4f4f4f"},"F5","F6","F7","F8",{c:"#303030"},"F9","F10","F11","F12",{c:"#4f4f4f"},"Prnt","<i class='kb kb-Multimedia-Mute-3'></i>","<i class='kb kb-Multimedia-Volume-Down-2'></i>","<i class='kb kb-Multimedia-Volume-Up-2'></i>"],
[{c:"#303030",a:5},"~\n`","!\n1","@\n2","#\n3","$\n4","%\n5","^\n6","&\n7","*\n8","(\n9",")\n0","_\n-","+\n=",{a:4,w:2},"\n\n\nbackspace",{a:7},"del","pgup"],
[{a:4,w:1.5},"\ntab",{a:7},"Q","W","E","R","T","Y","U","I","O","P",{a:5},"{\n[","}\n]",{w:1.5},"|\n\\",{a:7},"pause","pgdn"],
[{a:4,w:1.75},"\nfn",{a:7},"A","S","D","F","G","H","J","K","L",{a:5},":\n;","\"\n'",{a:4,w:2.25},"\n\n\nenter",{a:7},"scroll lock","home"],
[{a:4,w:2.25},"\nshift",{a:7},"Z","X","C","V","B","N","M",{a:5},"<\n,",">\n.","?\n/",{a:4,w:2.75},"\n\n\nshift",{c:"#4f4f4f",a:7},"<i class='fa fa-angle-up'></i>",{c:"#303030"},"end"],
[{a:4,w:1.25},"\nctrl",{w:1.25},"\nsuper",{w:1.25},"\nalt",{a:7,w:6.25},"",{a:4,w:1.25},"\n\n\nalt",{w:1.25},"\n\n\nsuper",{w:1.25},"\n\n\nctrl",{x:0.25,c:"#4f4f4f",a:7},"<i class='fa fa-angle-left'></i>","<i class='fa fa-angle-down'></i>","<i class='fa fa-angle-right'></i>"]

(http://puu.sh/oajjI/2aa52d892f.png)

The Build
After deciding on the layout, I popped everything into http://builder.swillkb.com/ (http://builder.swillkb.com/) and created the dxf and svg files I needed. I sent the dxf file to Big Blue Saw (https://www.bigbluesaw.com/) and waited for my aluminum frame to come in the mail. In the meantime, I ordered my favorite Cherry MX Blue switches and Costar stabilizers from Mechanical Keyboards (https://mechanicalkeyboards.com/), as well as a set of PBT DSA keycaps from Signature Plastics (http://pimpmykeyboard.com/).

Once I got the parts, I put everything together, and voila!

(http://puu.sh/o6gGD/0ad4247b11.jpg)

My ideal keyboard came to life... almost.
The stabilizers didn't fit perfectly. The stabilized keys would actually get jammed once I pushed them down, but upon closer inspection, I saw that the waterjet wasn't perfect when it made its cuts in the stabilizer slots, making them a bit smaller than they should've been. Easy fix though, I just pulled out my trusty Leatherman Wave and filed away at the holes until the stabilizers fit just right.

I tried typing a few sentences, and I fell in love with the keycaps instantly. Everything about it felt perfect, so I decided to go ahead and make the final few purchases. I bought 200 diodes (in case I messed up) and a Teensy 2.0 from Amazon and started wiring.

The Wiring

Hand-wiring the keyboard was a huge pain. I'd never done anything this big before, so it took me about 12 hours spread over the course of 2 days to get everything soldered in correctly, but once I had everything connected, it was like art.

(http://puu.sh/o6wOa/8deef44e44.jpg)
(I don't actually have a picture of the board with the Teensy connected)

The Firmware

Programming the Teensy was, surprisingly, the easiest part.

I followed matt3o's guide (https://deskthority.net/workshop-f7/how-to-build-your-very-own-keyboard-firmware-t7177.html) step by step and experienced absolutely no hiccups. Everything built successfully the first time and I didn't have any problems downloading the compiled firmware to the Teensy.

(http://puu.sh/oak9w/273ac5c3eb.png)

After I verified that everything was working properly, I rushed over to my university's workshop to laser cut the case.

The Case

The case was simple. All I had to do was load up the svg files I had downloaded before, give them to the laser cutter, and the machine handled the rest. What came out was something that I consider to be pretty magnificent...

The Keyboard

(http://puu.sh/oahkx/aa166f5e11.JPG)

(http://puu.sh/o9T52/069f9557c8.JPG)
(Okay maybe I lied earlier about not having pictures of the wiring with the Teensy connected. Please forgive me.)

Having used this keyboard for about a day now, I have to say that it's definitely the best keyboard I've ever used. So good, in fact, that when I did a typing test, I found my average typing speed to have shot up from a mere 120WPM to a whopping 140WPM.

For the future, I'm thinking about either putting some LEDs in the front, since the case is made of clear acrylic. Or maybe I can just put a carbon fiber vinyl strip around it. I'd love to hear your thoughts!

Definitely $463.09 well spent.
Code: [Select]
Aluminum Plate: $128.32
Acrylic: $41.00
Cherry MX Blue Switches: $50.00
Costar Stabilizers: $31.92
DSA Keycaps: $140.77
DSA Keycaps (2): $25.16
Diodes: $15.97
Teensy++ 2.0: $29.95

Total: $463.09
Title: Re: My Custom 85%(?) Keyboard
Post by: chuckdee on Thu, 07 April 2016, 23:48:58
Nicely done!  And the layout looks pretty cool!