Skip to content

Wooden keys

Constantino Schillebeeckx edited this page May 1, 2017 · 13 revisions

The guide below will walk you through the process of cutting out Cherry MX switches from wood. It assumes you've got access to a CNC machine and a laser cutter.

If all goes well, your keys might look like this:

CAM

Cutting out wooden keys starts with a 3D model of the keys we need, I put together a small assembly of various keys (download here) and laid them out close to one another.

In the render below you'll see that I also added two holes for alignment pins. These pins will make more sense later, just know we need them because we will be cutting out two sides of our stock piece of wood - without them it'd be almost impossible to align things properly.

From CAD (computer aided design) we jump into CAM (computer aided manufacturing) - this is where we setup how parts will get cut out.

Our workflow is organized around setups which define a particular orientation of our stock material; the steps will look like this:

  • setup1 (top of keys - cut on CNC)
    • roughing pass to get rid of bulk material
    • detail cut of outside key surface
  • setup2 (bottom of keys - cut on CNC)
    • roughing pass to get rid of bulk material
    • detail cut of the inside of the switch stem
    • detail cut of the inside of the key
  • setup3 (cut on laser)
    • laser etch the key caps
  • setup4 (same as setup2)
    • cutout the keys from the stock

When putting together your setups it's important that the work coordinate system (WCS) be placed in the proper position (and with Z pointing 'up'). In the images below, you'll notice the WCS has been placed at the center of one of the pins; you'll also notice that as the part is flipped, the WCS of the new setup is essentially in the same spot (from the perspective of the CNC) - this ensure things are aligned on both sides of the setups.

Once you have your CAM properly setup, you can export the G-code for the CNC through the Post Process menu.

🐳 I've setup my model in SI units (mm); depending on your CNC setup, you'll want to export your G-code in the proper units - in my case I exported everything in Imperial units (inches).

End mills

Before cutting out your parts, you'll need the proper end mills, I'm using the following:

Stock setup

To ensure that our part get aligned properly after we flip it, we'll be using alignment pins. Instead of cutting holes into the CNC surface, I'm going to be using a sacrificial plank between our stock and the CNC surface.

🐳 You'll want to plane both contact surfaces so that they are perfectly parallel - this is important because if they aren't, things won't align when flipping your stock.

You'll notice I've attached this sacrificial piece with 4 screws and ensured it sits flush with the CNC surface.

Then we attach our stock, I'm using a piece of leopard hardwood to test how the keys turn out. Plane it and attach it to your sacrificial plate and ensure it sits flush with it.

🐳 the CAM model uses stock that is 17mm thick; I've planed my piece of hardwood down to that exact dimension.

Zero all your axes and make sure your screws stay out of the cutting paths; here I'm comparing to a previously cut piece to get a sense of where my cuts are going to land - looks like the screws won't get hit!

This is what our part looks like after the alignment pins have been drilled and the top roughing cut has finished; our keys are starting to take shape!

After the detailed cuts you can see that our keys have taken their final outside form. I'm not very happy about how this wood turned out, I don't think I'm going to be using it for the final version of the keyboard.

With the top setup finished, we can flip our part; I'm using 3/8" dowel pins. Make sure you're flipping it around the proper axis, otherwise things won't line up; I've indicated the rotation axis with the blue lines and arrow.

Our keys look like this with the bottom setup finished. If you use the file I provided, you'll notice that the 1/32" bit moves terribly slowly - I've done this to prevent the bit from snapping. Could we have a faster feed rate? Maybe... But I don't feel like snapping end mills. 😮

You'll also notice a facing cut on the top-right, near the top pin - I did this in hopes of being able to use it to align our part in the laser cutter bed. In the end I didn't use it though.

We now move over to the laser cutter. As I mentioned in the previous step, I created a squared edge with the top of our stock, however I never used it to align our part in the laser bed. In the end, I just aligned things by hand/eye and by moving the laser position into various spots to make sure things were aligned. There's a better way to do this which I'll need to figure out, but for now it's fine. Another reason I'm not using this leopard hardwood is that the laser etching doesn't look good at all.

I didn't take a picture of the last step, but it's not complicated. All we do is attach our stock back into the CNC with the bottom up and run the last cutting pass to cut the keys out of the stock. You'll notice that I've set the feed rate pretty low because I don't want my keys to drop straight down as they get cutout instead of vibrating up and potentially hitting the tool.

Here are our final parts; I'm showing both the leopard hardwood as well as some walnut - I'm definitely liking the walnut better although I haven't decided what the final wood type will be. You might also notice the wall thickness of the keycaps is a bit beefy (see thick-wall version of keys. I did this because the keys tended to break less with a thicker wall; If you want to cut out thin walled keys instead, find them here

Clone this wiki locally