Introduction: Functional Keycap Container

When i see keycap i always want to have some fresh keycap because it's always cool if i see something new in my keyboard ;). Well we can make it with 3d printer + it can be bigger!

Step 1: Tools and Preparation

In this project we need several software like :

  1. Blender
  2. Tinkercad
  3. CorelDraw (or inkscape)

And we also need :

  1. Iron-wire
  2. Pliers or something that can cut the iron-wire
  3. Hot Glue

For the acrylic i am using 3mm thick for the holder and 1.5mm for the pusher.

And of course we need an access to 3d printer and a lasercut for this project

Step 2: Concept and Design

The idea behind this project is to make a container that can store a small things but can act as a big functional keycap that can be moved to any key that we want.

the measurement is depends on the size of the keycap that we've made and the keyboard size.

My Keyboard’s width is around 13cm (130mm) so we can add 1cm (10mm) just in case it doesn’t fit. So it's become 14cm (140mm). While our container is around 4.3cm (43mm) and we can make it to 5cm (50mm) just in case it doesn't fit.

So we can make the base of the holder with 140x50mm.

Step 3: Making Keycap

First Open Blender and change it's unit to centimeters (in object tab) and then press N and change the dimension of the cube in my case i change it to 10cm.

After that enter edit mode and subdivide the cube twice with subdivide button on the left side. This will give you a nice cut from the cube.

Now we need to smooth the cube so we add subdivision surface modifier in modifier tab and change it's view to 2 (basically higher view will give more smoother surface but it's also make the performance Slower)

Activate the proportional editing (PE) and scale the bottom of the cube, you can change the size of area affected by proportional editing with scroll wheel

and now we make a "horn" by selecting the upper edge of sides and grab it along Z axis (hotkeys : G and then press Z) and change PE's affected area.

After that apply the subdivision surface modifier and locate kite-shape vertice in the bottom of our object then select entire vertice in the bottom of this shape (kite-shaped vertice) and by scaling the Z axis to 0 (this can be achieved with pressing S then Z, after that pressing 0). you can change the area of PE's for making the more desireable result.

Delete the bottom of the cube and apply the scale data (ctrl+A when in object mode then select scale, this is important because it will determine the correct scaling in solidify modifier). after that add solidify modifier and change it's thickness to 2mm.

after it's done you can export it to .stl or .obj for the next step

Step 4: Editing in Tinkercad

Import the 3d model that we've already make from blender and change it's scale to 1000 (because tinkercad using mm so we need to convert our exported object by multiplying the scale by 10).

make plus object(pusher) with two 1mm x 3mm cube and group it. and then add a silinder to the bottom center of it.

this is what i like in tinkercad, we can use featured object that can be modified for our projects in this case the container. We can access it in the drop down menu and change it to featured. then, find the one that called Box and Lid or Adjustable Box and Lid.

After that add and adjust the Box until it's fit to our 3d object (keycap), in my case it's 43mm. then duplicate it to make the lid and change it's height from the properties. We can make a silinder inside of the box and the lid to make area around the hole is thicker and add a hole with the plus object.

For the bottom of our keycap make another plus object and add the silinder in the center of it, and place it in the center bottom of keycap then we can add a hole for the pusher with the small plus object.

but because i got wrong measurement for the plus object/pusher (it's supposed to be around 9mm) so it can't be printed properly.

For the "Esc" in the top of the keycap i just make it type it with Arial font in Inkscape or CorelDraw then export it as SVG. then import it and adjust it until it's fit to the keycap.

Step 5: Printing the Object

After our keycap is done we can export it and then print it.

Because the pusher/plus object is too thin to be printed so we can replace it with lasercutted acrylic from lasercut pusher file

I still uploading the plus object/the pusher from exported object just in case if somebody wants to make a bigger dimension of the project

Step 6: Making Spring and Box

For the iron-wire we can cut it around 61cm. then twist it to an object (i am using a bottle). after that attach the spring with the upper side of our keycap. if the keycap is not properly stand just press it until it stand straight

As you see we use the 150 x 3mm lasercutted acrylic for the pusher but it makes a problem, the hole in the container is too small. So i make the hole bigger with hot glue but remember to be careful since it is dangerously hot.

Step 7: Making Keycap Holder

After the file cutted then attach each part of it with the hot glue.

Step 8: Final Touch

Put all of the part together and mark the pusher by seeing how long it is pushed when the button is pressed.

after that we can broke it so it can fit to the keyboard nicely .

Nobody likes when their stuff being scratched so in order to protecting the actual keycap we can use hot glue to make a layer of glue so the actual keycap doesn't get scratch from sharp acrylic edge.

Step 9: Final Word

I think it's a fun project, but yeah nothing can be easily made perfect. i understand that i have many flaw in this project.

This project maybe be better if the hole and plus object (the pusher) is made bigger so we don't need to make the pusher with acrylic and make the hole in the container bigger.

Remember, experience is the best teacher isn't it ;)