Custom Keycaps
Ever wanted to spice up your keyboard/Hackpad/fidget toy/where ever you have a keyboard switch?
Try making your own custom keycaps!
This short guide will go over my process of making custom keycaps for my Highway projects (as well as going over some handy CAD commands)
encoder knob tutorial also included at the end :3
guide by @egg_splats! check out my other keyboard-related projects, the Biblically Accurate Keyboard and the Engipad
FYI, this guide will be using Fusion 360! this guide will also be modeling keycaps for standard MX switches (no low-profile switches, but feel free to take notes/inspiration!)
...but why?
Custom keycaps are a nice way to add some personal flair and ✩ polish ✩ to your keyboard projects aside from the case and PCB. They can be placed anywhere, such as the escape key on a 75% keyboard or on a macro-binded key on a deskside macropad.
Custom keycaps can also help with making a certain theme more cohesive and complete
, such as the custom keycaps with eyes on my biblically accurate keyboard!
ok how do i start
First, open up your CAD software of choice and create a sketch on the bottom plane.
Next, you're going to make the bottom face of your keycap.
Most MX-compatable keycaps use bottom dimensions no bigger than 18mm x 18mm, so we will be using that as well! Go to the Create
section of the toolbar and select the Rectangle tool. You can use any of the three rectangle tools, but I personally prefer Center Rectangle to keep things centered around the origin.
Next, draw a rectangle with 18mm x 18mm dimensions. You can do this while drawing the rectangle by typing in the numbers and using Tab to switch between side dimensions, or use the Dimensions tool by clicking D, then clicking on the sides of the drawn rectangle.
We will also be adding a fillet to the corners of this profile, since a pointy square honestly looks pretty ugly
To do this, click on the Fillet tool, then click on two touching sides of the square to make a rounded corner, also called a fillet! I used 2mm as the radius, but the choice is up to you!
After you have your base, click Finish Sketch
! Once we do this, we should have a 18mm x 18mm square sketch with rounded corners.
We will be using the Loft tool to create the general shape of the keycap. This tool essentially connects two sketch profiles that are on different planes by making a smooth transition between the two profiles.
When you look at a regular keycap, you'll typically see the keycap taper, or get smaller, near the top. To mimic this shape, we will be using the Loft tool alongside a smaller sketch profile to create the shape of the keycap.
However, to first do this, we need a new plane to make our sketch on! This can be easily done by using the Offset Plane Construction tool! As the name implies, this tool makes a new plane to draw sketches on that is offset, or extended from, from the original plane.
To make our new and shiny plane, select the Offset Plane tool under Construction and click on the square sketch as our plane. Then, drag the arrow up and down to adjust the height of the plane.
We will be using 10mm for now! Keycap height varies, but most non-low profile caps are around the ~9-10mm range.
Once we have our plane, select OK
.
Now that we have our plane, we can make our second sketch required for the Loft! Select the Sketch tool and the newly created plane to create a new sketch on the plane.
From here, there are many ways to approach making the top profile. Due to the simplicity of the model, we can get away with using a regular old rectangle or circle as our top profile.
(I'll get into my own preferred method involving my goat later in the guide :3)
To make a top profile, draw a circle or rectangle on the sketch plane. The position can vary depending on your preference, but for the sake of the guide, we will be centering the shape on the origin. Set the shape to 15mm on each side or in diameter and click Finish Sketch
.
Once we do that, we should have two sketch different sketch profiles that look like this:
Now, we can use Loft to make our keycap! Select Loft under Create, then click on the two sketch profiles. Once we do that, click OK
to create the body.
We now have the general shape of our keycap, but currently it's COMPLETELY solid
However, we can fix that by using the Shell Command! This command essentially hollows out a solid with an opening, using a specified wall thickness and a selected face as the opening. Almost all keycaps have an opening on the bottom, so for the Shell command, we will be selecting the bottom face of the solid with the wall thickness set to 1mm.
This should result in our keycap having a large opening in the bottom!
We now have an opening, but if we were to print this out and slap it onto a switch, it wouldn't stay on for long...
This is because there is no feature to hold the switches' stem, or the plus-shaped bit poking out that is pressed!
To do this, we can make a new sketch in the inside of the keycap! Select the bottom side of the hollowed-out keycap as shown, and create a sketch.
From here, the story changes. Cherry switches have a plus-shaped stem that's 4mm long and 1.17mm wide, but other brands of switches have their own dimensions. It's up to you to do research on the dimensions!
For this tutorial, I will use the dimensions shown in the image above, as well as a stem diameter of 5.5mm.
First, start with a circle with diameter 5.5mm centered at the origin (this should also be the center of the keycap if you centered the loft profiles on the origin!)
Next, use the Rectangle tool to draw out the plus shape of the stem, making sure the rectangles are dimensioned correctly to your keyswitch (I recommend using Center Rectangle here!)
Once you have that, finish the sketch and extrude the circle (EXCLUDING THE RECTANGLES!) downwards. The length of the extrusion depends once again on your switch, but 6-8mm tends to work out for me.
Once you finish that extrusion, your switch should nearly be done! Go ahead and gawk in amazement!
But this is only the easy part...
Customization
You have a nice looking custom keycap, but to make it truly custom and ✩ polished ✩, you have to add some flair to it! This can range from adding some fillets and text to the top, to adding completely new models to the keycap or changing the entire shape of it!
For example, our current keycap has a pretty sharp edge on the top, which may look ugly to some people. To fix this, we can add a fillet or chamfer by simply clicking on the edge or face and using the Fillet/Chamfer tools, as seen below.
Although this is nice, the keycap is still pretty bland... What's the use of a custom keycap if there's no text, art, or anything special?
...So let's do that!
To add text, create a new sketch on the top of the keycap and use the Text tool under the Create menu to add text to the sketch, making sure it fits onto the keycap! Once you have that, select the blue text and Extrude it!
Direction doesn't matter, but be aware of the keycap's thickness if you cut into the top like I did below. Go too deep into the keycap, and suddenly you're cutting into the stem and ruining the model!
Additionally, you can go a step further and draw on the keycap! By using the Canvas tool, you can make a reference image to trace over, such as in the example of the eyes on my keycaps for the biblically accurate keyboard!
To add a canvas, go to Insert and click on the photograph icon named Canvas. After that, you can trace over it with any tool in the Sketch menu.
The most common tool to trace with is with the Fit Point Spline tool, which automatically curves a line depending on the points specified. Other tools like lines, polygons, and circles can also be used, but typically depends on the design you're aiming for.
but THAT'S STILL BORING!! What if you want a custom shape like the keycaps on my Engipad?
To change the shape of the keycap, you can go into Fusion's timeline, a bar on the bottom of the screen containing command icons like Extrude or Fillet that shows the history of your model. From here, you can change many things about the keycap!
* Do you want a differently sized base? Maybe you want chamfers? Go into the first sketch and change the shape and update the loft (or any features that break/need to be updated)!
* Do you want a taller/shorter keycap? Go into the Offset Plane and adjust the height! make it 1,000,000 millimeters tall i dont care
* Do you want a differently shaped top? Go into the second sketch set on the offset plane and change it!
Additionally, if you already have a shape in mind, you can preemptively design the shape while making the keycap, leading to less errors and more control over the design, which is what I did when making my custom octogon-like keycaps for the Engiboard!
You can do anything with custom keycaps!
- Do you want a whole ass cooking wok on your keycap? Model a wok separately, import it into the design, position it, and combine the two bodies together!
- Do you want a typewriter-styled keycap with an A on it? Make a circular base, offset the 2nd profile by 6mm, make another circle, loft it, then add your text in with a border with a fillet on the inside edge!
EXTRAS!!!!! (custom encoder knob!)
got my hackpad parts here and noticed that the encoders were pretty cool so heres an extra tutorial for custom knobs
I'll be using the rotary encoders that come in with the Hackpad Kit (EC11 rotary encoder from my research, don't quote me on that), along with a pair of calipers to get the measurements. If you search up the encoder you have, you can also find the dimensions there.
ok how start
The encoder that comes with the kit is a D-shaft, meaning that the profile is a cylinder with a segment removed, making the profile look like a D. To get the proper dimensions, we have to measure the diameter of the shaft, the distance between the chord and the opposite side of the circle, and the step distance of the missing segment.
Once we have the dimensions, we can start modeling!
First, create a new Workspace and create a new sketch. When you're in the sketch, recreate the profile of the D-shaft using the dimensions above!
* We can do this by first creating the outer diameter with the Circle tool, making the diameter the one we found earlier. (centering the circle on the origin helps a lot here too!)
- Next, we will create the beginning of our chord by drawing a line somewhere on the circle, which will cut through this circle. We will be using the Constraint Tools and the Dimension Tool to complete this sketch!
- Currently, our line can move anywhere it wants, which is bad in our case since we want everything to the right dimensions! To fix this, apply the Horizontal/Vertical Tool, which will constrain our chord to be perfectly horizontal no matter what!
fun fact: Fusion can automatically apply this constraint when making a line! Just look for the Horizontal/Vertical symbol when drawing your line!
- However, our line can still move up and down, which is still not what! To fix this, we can make a new line above the circle, applying the Horizontal/Vertical Tool to this line as well.
- Once we have that line, we can use Tangent Constraint to make the new line tangent to the outer diameter. To put this physically, this is the point of the outer diameter that was touching the calipers when we recorded the 4.5mm chord-to-diameter measurement!
- After that, use the Dimension Tool to make a dimension between the tangent line and the chord! This should be what you recorded for the chord-to-diameter measurement, or in our case, 4.5mm!
Once you have that, we can start working on the outside of the knob!
The knob can be customized to whatever shape or size you want, but for this tutorial, we will be using a standard circle.
To make the knob, make a circle with the same center as the outer diameter of the D-shaft (can also be the origin if you centered everything on it) and dimension it to 12.5mm.
Once we have that, finish the sketch and extrude EVERYTHING! This should just leave us with a massive cylinder 12.5mm in diameter.
Again, the size can be customized to your liking, but I will be using 15mm for this guide.
You might be thinking to yourself that what we did with the shaft was pointless, since we literally just ignored it with this extrude. And while it may not be visible, we can change that by going into the Sketches Folder in the left-hand menu and unhiding the sketch by clicking the eye.
Once we unhide the sketch, we can now reference this sketch with other tools, such as new sketches, extrude, loft, etc. We will be using this first sketch to create the hole to fit our encoder's D-shaft!
Go to the bottom of the cylinder and use the Extrude Tool, clicking the larger segment of the circle to select it. Once it is selected, extrude it upwards by the step distance we found earlier, or in our case, 10mm.
When we do that, we should have a hole that will perfectly fit our rotary encoder! Lastly, we can finish up the knob by adding a quick chamfer to the top. Rotate to the top side of the knob and use the Chamfer tool on the edge of the knob, setting the distance to 1 mm.
Once you do that, you're done with your knob! Go ahead and gawk once again in amazement!
extra extra stuff (knob customization)
You can easily apply some of the techniques from the custom keycaps to the knob, such as applying custom art or text on your knob!
Here is a small list of techniques I use to customize my knobs a little more:
* When extruding the knob, you can adjust something called the Taper Angle, which allows you to create knobs that get smaller or bigger as you reach the top! This allows you to make some pretty unique knobs, such as a professional looking volume knob or a big and goofy knob!
* You can add some parallel knurling (the texture used to improve grip) by going into the original sketch and adding a shape along the outside diameter, then using a Circular Pattern to copy the shape along the entire circumference. Once you have that, go into the first extrusion and exclude the shapes to get a knurling pattern along the side of the knob!
* As always, you can add a separate model on top of the knob and merge it with the knob to make a completely custom-shaped knob! For example, I modeled up a quick valve and merged it into a shortened version of this guide's knob!