Custom Mechanical Keyboard Build

topoly

17 Nov 2014, 07:14

Hello! I have been lurking on this site for a very short time - collecting information quite graciously from the community.

I need to offer up my personal experience - I had a great deal of fun and challenge with this build and want to share it. This is definitely from a newcomer's viewpoint, as I had some difficulty finding the right information consolidated (lofty goal, I know).

I would highly encourage a look through the Deskthority wiki for a comprehensive overview of mechanical keyboards, key switch choices, key caps, etc.

I owe design ideas and my new found knowledge almost exclusively to matt3o - his guide here took me through every step I needed to complete the project: http://deskthority.net/workshop-f7/buil ... t5761.html

Also, completion of the project continues here: http://deskthority.net/workshop-f7/brow ... t6050.html

Matt3o's expertise also covers firmware: http://deskthority.net/workshop-f7/how- ... t=firmware

However, I ended up needing modified (and much easier to setup) firmware from Soarer. The v1.20 proved to be far and above the easiest firmware I've assembled: http://deskthority.net/workshop-f7/soar ... t6767.html

For CAD drawings and reference, I used the well known geekhack post that includes just about anything you'd need: https://geekhack.org/index.php?topic=47744.0

All of which I'll cover more in depth below.

Design

I design with Rhino - learned in college for 2D and 3D prototyping. If it ain't broken...

Decided to go with laser cut materials for cost reasons. 3D printing is so incredibly tempting, but also so incredibly expensive. Before really thinking about what material I wanted to use, I knew the sandwiching idea from prototyping experience I've had in the past would work best:
Key Layout v2.jpg
Key Layout v2.jpg (165.49 KiB) Viewed 11050 times
  • Right, or magenta colored line work are the bottom and top case files
  • Left, or aqua colored line work are the in-between sandwich pieces and the circular spacers as well as feet
I knew I needed a lot of time to consider design aspects and dimensions of this - I have wiring, switches, and key caps all to consider that I would prefer to have tech drawings of rather than measuring by hand. The geekhack forum post includes files that can provide everything you need.

After getting specs directly from the Cherry MX pdf on the cutouts for the switches, still needed to figure out how to get dimensions for the stabilizers. This ended up being the most confusing and hardest part. Cherry's pdf is helpful, but all the while only provides advice for Cherry stabilizers. I ended up wanting to use Costar (http://deskthority.net/wiki/Costar) style stabilizers from WASD keyboards, and wanted to minimize cutting on the top case - more cutting = more cost.

Below comparison images show how to pull out the Costar/narrow cutouts you might see in other posted custom jobbers. The highlighted/yellow lines are from Cherry's specs, but copied over from another generous geekhack dwg that included all sized stabilized pieces (shift, backspace, enter, space).
Screen Shot 2014-11-16 at 10.33.54 PM.png
Screen Shot 2014-11-16 at 10.33.54 PM.png (203.89 KiB) Viewed 11050 times
Screen Shot 2014-11-16 at 10.34.25 PM.png
Screen Shot 2014-11-16 at 10.34.25 PM.png (206.81 KiB) Viewed 11050 times
I was experimenting with using Cherry made stabilizers, but it proved to be difficult to find them in stock without a minimum order larger than I was willing to go for. Besides, Cherry doesn't make a stabilizer for common spacebars (or one that I was able find - either too big or too small). Most all spacebars are 6.25 units (read more about unit sizing here: http://deskthority.net/wiki/Unit) so I instead went for the Costar style that has very simple installation. WASD supplied all those components http://www.wasdkeyboards.com/index.php/ ... parts.html.

Materials
  • I initially wanted metal, such as matt3o or many other folks have used. Acrylic ended up being cost effective and the most accurate material for the thin 1.5mm I needed for the top case. For this, Ponoko had black and clear. Clear is the obvious cool-factor choice, right?
  • The middle sandwich layers needed to be thicker - Ponoko has a wider range of thicknesses for acrylic, but I decided on MDF for compressive strength, economy, and that I'd only have to use 2 layers instead of 3 or 4.
Check out the photos for the materials once they arrived from Ponoko! I took the protective covering off the top case immediately before snapping a photo, so it's harder to see - the bottom case has the visible channel cut for the USB cable to exit in the upper right.
Top Case
Top Case
IMG_0311.jpg (427.44 KiB) Viewed 11050 times
Bottom Case with protective film
Bottom Case with protective film
IMG_0319.jpg (456.31 KiB) Viewed 11050 times
MDF Middle/Sandwich pieces
MDF Middle/Sandwich pieces
IMG_0320.jpg (498.17 KiB) Viewed 11050 times
Corner of sandwich pieces
Corner of sandwich pieces
IMG_0323.jpg (457 KiB) Viewed 11050 times
2-layer feet and standoffs for the center of the case
2-layer feet and standoffs for the center of the case
IMG_0325.jpg (395.59 KiB) Viewed 11050 times
For the next installment, I'll move on to the rest of the hardware and getting started on wiring...

JackMills

17 Nov 2014, 08:58

Very nice build log, I like the idea of using MDF as a cheap solution. MDF has good compression properties and I like the looks of it (and if you don't you can just paint it).
Thank you for pointing to the sources you used, it makes it easier for those who want to attempt the same.

User avatar
ماء

17 Nov 2014, 09:16

MDF are really nice stronger than acrylic 8-) but not antwater i read

topoly

18 Nov 2014, 05:13

JackMills wrote: Thank you for pointing to the sources you used, it makes it easier for those who want to attempt the same.
Of course! I've found it difficult having to sift through pages of info to link through to someone else's post eventually. Easier if I put all of my resources up front.

topoly

21 Nov 2014, 05:32

Components

Sorry for the wait - I've spent the last few days finally tweaking loose solder joints and firmware issues... Trial by fire!

Now it's time to take a look at how the whole build came together!

First, need to assemble all the important functional components.

Stabilizers! Four springs for 2x shift keys, enter, and backspace (all 2x+ unit keys). One spring wire for the space bar (commonly 6.25x units). White pieces are for the key caps, black pieces are the base pieces going into the top case. I'll talk more about this assembly later. From WASD Keyboards
Stabilizer components!
Stabilizer components!
IMG_0286.jpg (455.71 KiB) Viewed 10929 times
Nuts and bolts - I chose 4-40. However, if you're laser cutting, cut the holes slightly wider than what the thread widths are supposed to be (ahem, slight modification needed...) From Sparkfun
4-40 Nuts and Bolts
4-40 Nuts and Bolts
IMG_0287.jpg (520.55 KiB) Viewed 10929 times
For the microcontroller, the all-famous Teensy 2.0 should do the trick. From PJRC (Sparkfun)
Teensy 2.0
Teensy 2.0
IMG_0288.jpg (478.25 KiB) Viewed 10929 times
Cherry MX Brown! Switches of choice - from MechanicalKeybaords
Cherry MX Brown
Cherry MX Brown
IMG_0298.jpg (467.25 KiB) Viewed 10929 times
Solid 22AWG wire and leaded solder. Solid wire helps keep shape while I shakily solder them on the switches from Sparkfun
22AWG and Solder
22AWG and Solder
IMG_0301.jpg (488.52 KiB) Viewed 10929 times
Diodes... 1N4148 are the ones of choice. These help the matrix electrical signal remain one-way. More on that from matt3o's build (and hopefully from some basic electronics knowledge) from Newark/Element14.
1N4148 Diodes
1N4148 Diodes
IMG_0308.jpg (629.61 KiB) Viewed 10929 times
Build

The fun part!!

What a relief that the cuts were perfect for the Cherry switches
Cherry MX Brown!
Cherry MX Brown!
IMG_0340.jpg (387.04 KiB) Viewed 10929 times
Unlucky for me, Newark shipped the diodes all individually in a bundle. If you buy 100 or more, you can often get them all rolled/taped together so you can bend them together. Lucky for me though, I had a handy built in screw in the case I could perfectly bend them around.
Diode bending
Diode bending
IMG_0352.jpg (488.05 KiB) Viewed 10929 times
With a little wire and the diodes soldered together, the 5 rows started coming together.
One row at a time
One row at a time
IMG_0369.jpg (548.68 KiB) Viewed 10929 times
Phew - 5 rows, lots of patience and a new soldering iron later, it's all ready for the next step.
Soldering and mess later, phase 1 is complete
Soldering and mess later, phase 1 is complete
IMG_0400.jpg (622.24 KiB) Viewed 10929 times
Now, of course the rows are assembled on one of the leads from the switches, now on to the hard part... 17 columns?!?!

Pulling off wire insulation from the middle of wires with an xacto knife is... meditative.
Column wires
Column wires
IMG_0407.jpg (398.39 KiB) Viewed 10929 times
Eye-ball estimates of length and marking spots with a sharpie to remove insulation worked pretty well. 2 of 17 done...
2 of 17
2 of 17
IMG_0411.jpg (305.47 KiB) Viewed 10929 times
Holy cow. 17 columns later. Cutesy c-shape on the left was made for the Teensy to sit.
17 Columns
17 Columns
IMG_0420.jpg (441.38 KiB) Viewed 10929 times
Dramatic process shot with mess in the background.
Cool!
Cool!
IMG_0424.jpg (540.45 KiB) Viewed 10929 times

Now, the columns and rows needed to be wired up to the Teensy. No way in hell am I showing that. But I will show you the gory photo of the spaghetti afterward:
Yikes
Yikes
IMG_0527.jpg (369.43 KiB) Viewed 10929 times
Yikes. Ok! Next time, on to putting on the key caps and to see it in action!

In my opinion, after poring over the information referenced in the first post about potentially using matt3o's tutorial on hasu's firmware, or reading up on Soarer's v1.20 software, it should be fairly straightforward to get the firmware working (as long as there aren't any short circuits!). As a word of advice, hasu's firmware uses base-16(hexadecimal) by default, and as I had 17 columns, I found it easier to get going on Soarer's converter software.

If there are any questions, please let me know and I can cover anything above in more detail. Thanks for looking!

neverused

22 Nov 2014, 02:50

Very interesting build, I love how thorough it is. Question: what source did you look to when using Soarer's converter?

shadowkillerdragon

23 Nov 2014, 01:47

I was also looking to get a case + plate made. I was wondering how much the entire thing cost from ponoko including shipping to get a gauge of how expensive it is because I was looking to make a 60%

topoly

26 Nov 2014, 06:44

neverused wrote: Very interesting build, I love how thorough it is. Question: what source did you look to when using Soarer's converter?
Thanks! Well, first I went through his documentation for v1.12 - can find this updated in the GeekHack post: https://geekhack.org/index.php?topic=17458.0

Then I realized I was a little over my head. Even the examples didn't help much.

Look at the documentation under "Tools" for the command line tools (mostly scas and scwr) from v1.12

Then head here and download v1.20 https://geekhack.org/index.php?topic=50437.0

That documentation and included example files made everything click for me, and finally got everything working perfectly.

Let me know on anything else!

topoly

26 Nov 2014, 06:50

shadowkillerdragon wrote: I was also looking to get a case + plate made. I was wondering how much the entire thing cost from ponoko including shipping to get a gauge of how expensive it is because I was looking to make a 60%
I was worried about this as well. Took one P2 sheet of 1.5mm acrylic and one sheet of 6.4mm MDF. P2 is far more than I needed (could have made two copies with that amount of material) but the extra making cost just wasn't worth it.

$11.50 in materials, $53.97 for "making", and the kicker - $12.13 for shipping from CA to me in Denver, CO ($77.60 total)

Pricey, but it's hard to find maker communities close by and, well, Ponoko has the cost of convenience. Nothing but nice things to say about them.

topoly

26 Nov 2014, 07:05

Conclusion

Finally! Keycaps on and all assembled. Red/White scheme looks good on the desk at work.

Thinking sometime soon I should get the function keys that are dedicated for volume/music control.

Feedback I have for next time:
  • Should have added screws mid-way through the frame for support. Bends a little too much for my liking.
  • Planning the wire routing better would have helped prevent the spaghetti mess, but it really doesn't bother me sitting on the desk as it is now.
  • Cut-outs for the stabilizer clips were slightly too small. I added tolerance for the Cherry switches, but not the clips. I had to trim just a little from the inside of the holes to get them to sit correctly and prevent the stabilized keys from sticking down.
  • Screw holes were also cut too small. I specified them the exact diameter of the threads, which usually ends up not playing nice with the acrylic. Also had to trim out these holes with an x-acto (only one tiny, tiny crack in the plastic!) ;)
Success!
Success!
IMG_0547.JPG (223.78 KiB) Viewed 10776 times

neverused

03 Dec 2014, 15:44

This looks great! I particularly like the window to see the teensy. Any chance of seeing more details like the back and the mdf sides?

andrewjoy

03 Dec 2014, 16:09

the best thing about it is that the caps match the wire :P

User avatar
scottc

03 Dec 2014, 16:11

Looks really good!

neverused

12 Dec 2014, 01:18

Any more pics?

User avatar
Daniel Beardsmore

12 Dec 2014, 01:28

That's really nifty — the keys appear to just float in space.

topoly

12 Dec 2014, 06:27

neverused wrote: Any more pics?
Sure! Sorry about the absence - retail sure is busy this time of year.

Here are pics of the spaghetti wiring and the MDF corner. Some scorching made its way to the top during cutting.

So far, it's been working extremely well - I just have the back plate off tonight to fix a solder joint I should have paid closer attention to! :?
FullSizeRender 2.jpg
FullSizeRender 2.jpg (564.41 KiB) Viewed 10597 times
IMG_0649 2.JPG
IMG_0649 2.JPG (532.92 KiB) Viewed 10597 times
Let me know on any other shots you might want! Thanks.

topoly

12 Dec 2014, 06:29

Daniel Beardsmore wrote: That's really nifty — the keys appear to just float in space.
Thanks! I didn't quite realize what the effect would end up looking like in the end. I have to agree it turned out looking rather cool with the MDF frame.

User avatar
Linkert

14 Dec 2014, 13:41

That's it, I'm getting a CNC-router, build it into an isolation chamber at home. Can't stand the urge whilst looking at all of these fantastic builds and the thought of all possibilities it opens up, for anything really! :)

Looking really good!

topoly

14 Dec 2014, 17:18

Linkert wrote: That's it, I'm getting a CNC-router, build it into an isolation chamber at home. Can't stand the urge whilst looking at all of these fantastic builds and the thought of all possibilities it opens up, for anything really! :)

Looking really good!
I hear you! I've had a 3D printer collecting dust while I devise plans for a CNC in the garage...

twiddle

22 Dec 2014, 00:55

Nice to see another Rhino user - I'll be posting a similar build log shortly!

topoly

23 Dec 2014, 06:44

Definitely - I love Rhino. What felt like a steep learning curve with it ages ago is like riding a bike now! Looking forward to your log.

User avatar
Stabilized

29 Dec 2014, 18:41

Great build! :D

It might be the angle or the clear acrylic, but are the keys spaced further apart then a regular keyboard?

topoly

29 Dec 2014, 19:02

Stabilized wrote: Great build! :D

It might be the angle or the clear acrylic, but are the keys spaced further apart then a regular keyboard?
Thanks! Yes, not the angle - I found that the key caps I ended up getting were 18mm instead of 19mm in width creating the extra spacing between keys. Kinda strange when you start looking at it up close, but I haven't noticed a difference while typing on it.

Post Reply

Return to “Workshop”