• Models
  • Contests
  • Slicer
  • Login
  • Start Here
    thingiverse-iconprintables-iconcults3d-iconmakerworld-iconmyminifactory-icon

    3D GO

    3D ModelsContestsCollectionsSaved ModelsOn a mobile device?

3D GO

Privacy Policy
65-key Handwired keyboard 3D Printer File Image 1
65-key Handwired keyboard 3D Printer File Thumbnail 1

65-key Handwired keyboard

makerunit avatarmakerunit

February 7, 2025

printables-icon
DescriptionCommentsTags

Description

Check out the full build video on YouTube!


IMPORTANT TO KNOW : This project WILL require customization from YOU to adjust the design for the specific keyboard layout in your country. You will be required to modify both the keycap files, and the firmware in order to make this work. You will also be required to make small modifications to a microcontroller (soldering) in order to make this project work, so some technical experience is recommended. 
I've tried my best to make understandable instructions for all of this but can't guarantee they're easy to follow for everyone. Attempt to build at your own risk.
 

Print volume required 300x300mm, but the .step file is included so it’s possible to modify the model to be split into smaller parts. If you do make a split version work, feel free to post a remix! 


Parts required for this build:
65x MX style Keyboard switches
65x 1N4148 Diodes
Some wires (random leftover wires will work fine).
Arduino Pro Micro (Microcontroller)
12x M3 threaded inserts (OD4.6mm)
12x M3x10mm screws
1x Heavy duty paper clip (Or metal rod between 1.5 and 2mm diameter)

Tools required for this project:
Soldering iron
Wire cutters/filament cutters
Screwdriver
OPTIONAL: Some grease for the stabilizers.

Recommended print settings:
Material: PLA
Nozzle: < 0.4mm
Layer height: < 0.1mm (especially for the main body and stabilizers)
Supports: NO (custom supports are built in, remove with pliers after print)


ASSEMBLY

It’s recommended to read these instructions in combination with the build video on YouTube for the best overall understanding of the build process.
 

  1. Start by printing out the main body and the keycaps. Remove the custom supports on the main body using some pliers. (Remove red parts).

     
  2. Print out the stabilizer kit.
     
  3. Add M3 threaded inserts to 10 holes on the bottom, and 2 holes from the front of the chassis. Insert OD: 4.6mm.

    Add ten inserts from the underside like this.


    And these two from the other side (top).

     
  4. Push in place stabilizer gliders into the SPACEBAR, BACKSPACE, ENTER and CAPS LOCK keys. Keep in mind that the little stopper on the glider must be facing towards the switch. (See picture below)

    The gliders are marked with a tiny arrow that should be on the side of the pivot bar, and also face in towards the switch. If you look closely, the hole for the pivot bar is slightly angled, this is angled down towards the pivot bar groove to follow the natural angle of the pivot bar.

     
  5. Carefully snap into place three short plastic stabilizer bars into the main chassis for the BACKSPACE, ENTER and CAPS LOCK. 

    If the pivoting stabilizer bars move a little slow, you can use fine grit sandpaper to smooth out the stabilizer bar and/or apply some grease to help create a smooth pivoting movement.

    Inside the green rectangle we can see some tiny notches that hold the stabilizer bar in place, this is why it’s recommended to use a nozzle no bigger than 0.4mm, and a 0.1mm layer height as these notches are very tiny.

     
  6. For the SPACE, BACKSPACE, ENTER and CAPS LOCK keys, push in place the stabilizer gliders in the two “plus” shaped holes on each side. Make sure the little flap on one side of the glider is facing in towards the middle.

     
  7. Push in place the mechanical switches of your choice into the BACKSPACE, ENTER and CAPS LOCK positions. There’s a little hole in the switch that should face towards the stabilizer pivot bar.
     
  8. Grab the keycap and ensure that the stabilizer bar is threaded through the holes in the glider pins before carefully working the switch into place. Repeat for all three switches.

     
  9. Grab a heavy-duty paperclip, or metal rod up to 2mm diameter. Bend into one long straight rod.

     
  10. Add a sharp 90-degree bend to one side. Use the 90 degree bend as a reference on one side to know roughly where to make the opposite 90 degree bend. Adjust if necessary so both bends are as close to the center of each glider pin slot as possible.
     
  11. Cut the metal rod so that it sits barely inside the edge of the glider pin slot.
     
  12. Add the two metal rod clamps and secure them in place using two M3x10mm screws.

     
  13. Add the mechanical keyboard switch for the SPACEBAR, make sure this one has the little hole facing towards you.
     
  14. Take the SPACEBAR keycap with the glider pins installed and orient it the correct way before carefully threading both sides of the metal rod into the holes in the glider pins, then work the spacebar into place. OPTIONAL: Add grease to the glider pins and stabilizer metal bar for smoother operation.
     
  15. Install all the remaining mechanical key switches with the little hole facing towards you.
     
  16. Install all the remaining keycaps. Keep in mind that the key mount is rectangular and will only fit one way.


    WIRING
     
  17. Take a look at the wiring diagram shown here, this is how we want our wiring to look. The wiring is separated into horizontal rows and vertical columns. (See attached video for explanation)

     
  18. Grab 65 pcs 1N4148 diodes. A diode is an electrical component allowing a current to flow one way, but is blocked in the other direction allowing for a one-way signal. There’s a small black mark on the 1N4148 diode indicating the direction of electrical flow. This black mark MUST face away from our switches.

     
  19. Cut the RED side of the diode down to about 5-7 millimeters and bend the BLACK side of the diode 90 degrees. Do this for all 65 diodes. 

    IMPORTANT: Make sure to place the diodes so the electrical flow faces away from the switch, not into the switch. The little black mark on the diode marks which side the signal flows out of, and this black mark MUST be facing away from the switch pin.
     
  20. Each diode connects to the upper left pin on the switch. The next diode connects the exact same way to the next switch, and the next diode to the next switch the same all the way across the row from left to right. (See pictures and attached video for further explanation)

     
  21. When one row is complete, join all the diodes together. Make sure to join them AFTER the black mark. 

    This way we get a row that all the switches can send a one-way signal into, but no signal can go back through any of the switches allowing us to isolate the signal from each switch individually.

     
  22. Do the exact same for the remaining 4 rows. If necessary, add short cable extensions to the diodes around the spacebar if the diodes are too short to reach all the way.

    PRO TIP: Before moving on, take a couple minutes to inspect the soldering of every single diode to ensure that it’s all connected properly in the correct orientation. Potential mistakes will be much more difficult to troubleshoot once the rest of the wires are connected.

     
  23. Look at the wiring diagram once more.

     
  24. Add a piece of electrical tape or other insulation in every spot of the wiring diagram where you see a row cross a column, this is to prevent the columns and rows from touching each other. (See picture in the next step)
     
  25. Following the wiring diagram, add a thin wire from the switch exactly like shown in the wiring diagram, make sure each column matches the wiring diagram. Continue until all columns are soldered. Cut away excess wire at the end of a column if necessary to avoid accidental shorting. (See attached video for explanation)

     
  26. Add Arduino Pro Micro to the holder bracket and secure it to the chassis with two M3x10mm screws. For permanent installation of the Pro Micro, add glue inside the bracket before inserting the Pro Micro. 

    CAUTION: Gluing the Pro Micro to the bracket may be irreversible and can potentially cause damage if later removed by force.
     
  27. The keyboard has a total of 5 rows, and 14 columns, each requiring one digital pin on the Pro Micro. However, the Pro Micro only has 18 digital pins visible. 

    To unlock pin 19 it’s required to remove a tiny resistor on the Pro Micro for one of the built in LED lights that we don’t need for this project. Make sure to remove this exact resistor for the firmware to function properly.

     
  28. (This step is better explained in the attached YouTube video)

    The rows and columns are clearly marked with a letter, a number, or a combination. This “code” refers to specific pins on the Pro Micro. For example, A3 on the keyboard body indicates that the upper horizontal row of diodes need to be connected to pin A3 on the Pro Micro.

    More examples:
    Row “15” to pin 15 on the Pro Micro.
    Row “A0” to pin A0 on the Pro Micro.
    Column “9” to pin 9 on the Pro Micro.
    Column “14” to pin 14 on the Pro Micro.

    The only exception is the row called just “TX” (Not TX1). The TX row is the one we want to connect to the point where we removed the tiny resistor.

    Connect each row and column to their dedicated pin on the Pro Micro using some thin wires.

    The wire/cable colors in the pictures are random and have no meaning. 


    PREPARING THE FIRMWARE
     
  29. Go to a website called “www.kbfirmware.com”.
     
  30. Upload the .json “base file” that came with the project files. This will load up a pre-configured file containing all necessary wiring information, and the pinout of each column/row. Do not adjust the “WIRING” and “PINS” tabs as these are pre-configured to fit this exact keyboard layout.

     
  31. Go to the “KEYMAP” tab and make necessary adjustments to fit your layout.

    A keymap usually consists of multiple layers, where we have the base layer “Layer 0” which consists of our normal keys that can be used without requiring the press of ATL, CTRL, FN or similar buttons to be pushed down at the same time.

    Definitions of key “codes” that can be useful to understand:

    MO(1), MO(2) etc. = Modifier layers, when pressed down activates the layer number (x).
    TRNS = No key assigned, meaning the base layer is still active for that button. This code should not be found in the base “Layer 0”.

    Here’s the default layout of layer 0 in my configuration.


    Any layer above 0, for example 1, 2, and 3, are modifier layers that can contain other keys that when one specific key is pushed down, will be activated. See green squares in the picture above for modifier layers.

    In this build specifically, since this keyboard is relatively small, there’s for example no room for dedicated F1 to F12 buttons, therefore these are by default in this keyboard's base configuration placed in layer 3, which is activated only when one of the “MO(3)” switches are activated. The (3) indicates that it’s layer 3 that’s being selected when that switch is pressed.

    Other modifiers added to layer 3. (Only when MO(3) is pressed)
    Arrow UP = Volume up
    Arrow DOWN = Volume down
    Arrow LEFT = Previous (Previous track)
    Arrow RIGHT = Next (Next track)

    Here’s the default keymap for layer 3 in my configuration. (Don't ask why I went straight from layer 0 to layer 3, because I don't have a good answer.)


    Visit https://docs.qmk.fm/keycodes#keycodes-overview to learn more about what each key code means.

    To make adjustments to the keymap:
    1. Click on the key you want to change.
    2. Click on the “key code” underneath “Configure the selected key”. This opens up a list of all possible keys.


    3. Select the symbol or function you want to assign to the key.

    By searching on YouTube or Google you’ll find many guides on how to modify this if you require more advanced modifications.

    UPLOADING THE FIRMWARE
     
  32. Download QMK Toolbox from https://qmk.fm/toolbox and open the program.
     
  33. Connect the Pro Micro to your PC using a USB cable. By default, the Pro Micro is set to be a “USB device” and will not be open to receiving code unless we manually tell it to (Step 35). The Pro Micro will therefore not show up at first in the QMK toolbox program.
     
  34. In QMK Toolbox click on “Open” then select the “kbfirmwarebaselayout.json” file that came with the project files.
     
  35. From the upper right dropdown menu, select the ATMEGA32U4 chip.
     
  36. Grab a wire and short the pins RST, and GND (Reset and ground) on the Pro Micro. This will “lower the walls” of the Pro Micro for probably 8-10 seconds allowing us to upload code to it.
     
  37. When the yellow message appears in QMK Toolbox we can click “Flash” and the code will be uploaded automatically to the Pro Micro. When the upload is complete the Pro Micro will automatically return to its original state of being a “USB device”, but this time with the keyboard firmware installed. 

    The keyboard should now be functional, and every key should work as intended. If not, you’ll need to troubleshoot whether a wire is not connected properly, or if there’s something off in the keymap.
     
  38. Test every key of the keyboard to check that it’s all working.
     
  39. Attach the 3D printed or laser cut bottom panel using eight M3x10mm screws.


    CUSTOMIZING THE KEYCAPS
     
  40. Customizing the laser cut wood keycaps (If not using a laser, skip to next step). 

    Required laser work area for this project: 300 x 300mm minimum.

    This instruction is based on the process when preparing files for the xTool M1 Ultra. 
    Processes may vary slightly depending on the laser machine you have. 
    For this project I used a xTool 3mm Walnut Plywood sheet (300x300mm)

    1. Open a program like Adobe Illustrator, or other software where you can edit SVG files.
       
    2. Upload the base configuration SVG file into your software of choice. The base file will contain the following symbols, numbers and letters in a standard QWERTY layout:

       
    3. Also import the cutting sketch and align it with the symbol sketch, but make sure not to merge the two sketches together as they need to stay separate. Align the two small circles perfectly to ensure that all symbols are centered in the cutting paths.

      The “cutting sketch” is only there to act as a reference as to where you can safely place letters and symbols to ensure that they stay within the keycap's surface.)

       
    4. The font used in the base file is called “Stencil”. The reason for choosing this font is due to it being “laser engraving friendly” because it has no closed loops as every letter is split up into smaller pieces with tiny gaps. 

      By using Illustrator or another design program, please fill in the “blank spaces” with the necessary symbols to fit the layout how you want it to be. Make sure to make the necessary adjustments to the firmware base layout to match the layout you create here. 

      If you look at the “BASE” layout further down, there are some blank spaces, these need to be filled in with whatever symbols or letters you may need. Also keep in mind that the numbers row 1 to 0 at the top have the F letter indicating they’re both F1, F2, etc. And the normal number, depending on whether the FN1 or FN2 keys are pressed or not.

      You may wanna add some symbols to your numbers as well like ! “ # £ % & $ / ( ( ) = + ? and more, as these are not included in the BASE file because they vary from country to country.

      The “BASE” layout SVG. (How you’ll be downloading it. Here the cutting sketch and symbol sketch are aligned as shown in the previous step.)


      Example of how my “Norwegian layout” looks:

       
    5. When exporting the completed layout, make sure to remove or hide the cutting sketch first. This is just used as a reference when placing the symbols and should be removed before exporting. This is because the only thing we want to engrave are the letters, while the cutting sketch needs to stay separate in its own file.
       
    6. Import both SVGs into your laser cutting software and make sure they are aligned perfectly by zooming in close to the center of both sketches to align the small circles on both sketches. (See green circle below)

       
    7. Assign the cutting sketch to be laser cut and use the settings of your choice or recommended settings by your machine manufacturer.
       
    8. Assign the symbols SVG to be laser engraved with the settings of your choice based on your material type and laser specifications. (You’ll need to do your own material testing to find the best settings for your wanted outcome.)

      We should now have two “jobs” lined up for our lasering process, a cutting job, and an engraving job. (Screenshot taken from xTool Creative Space and may differ from your program)

       
    9. OPTIONAL: Treat the finished surface with some type of oil or other finish to enhance the final aesthetic of the keycaps.


       
  41. Customizing 3D printable keycaps.

We can print out the “Base keycap” just like we do for the wood keycaps, but instead of cutting out pieces of wood, we can print some pieces instead. 

  1. Download the STEP file containing the “Base keycap tops” into either Fusion, Shapr3d or another CAD program that can edit .step files.
     
  2. The keycap tops will be prepared with a base layout containing a “standard” QWERTY layout with the essential switches pre-applied, some key locations vary from country to country and therefore you’ll need to fill in the blanks yourself.

    Layout of the pre-made base cap tops:


    Most “base” symbols and letters are already added, but the placement of certain symbols etc. will vary from country to country. You should also add your “Shifted” symbols to the numbers 1, 2, 3, 4, 5, 6, 7, 8, 9, 0 if you want these visible. Also consider adding your F1, F2, etc, if you want to see these. Check out my laser engraved layout for inspiration.


    All letters are extruded 0.2mm from the top surface of the keycap top, which means that it should be possible to print these with multiple colors, even without a multicolor printer by simply adding a filament change right at the top before starting on the letters. It should then be possible to print the base cap first, followed by the letters on top in a different color.

     
  3. To create custom designs for the keycaps, simply draw a sketch on the top surface of the keycap top. Then extrude it 0.2mm from the surface and you’re done. Most CAD programs have a text tool allowing you to easily add all kinds of symbols, numbers and letters that may be required.

    After drawing the sketch on your keycap, you can extrude the sketch 0.2mm out of the top surface.

     
  4. ATTACHING THE LETTER TOPS

    1. The letter tops can be attached to the keycap base by using glue. For example Loctite Super Glue. 

      CAUTION: This glue cures extremely fast as soon as you apply any force, therefore be extra careful to align the tops with the cap before applying pressure. Use a more slow-curing glue if you prefer more control during this step.

       
    2. For best glue grip, scuff up the surface of the keycaps. This can easily be done with all the keycap bases installed by just scratching the entire keyboard on a sheet of sandpaper.

       
    3. Apply a small puddle of glue to each keycap base, before carefully aligning the keycap tops with the keycap followed by pushing down until the glue has set.


       
    4. When they’re all glued in place it should look something similar to this.

       
    5. To finish up the look, we can add a decorative frame around the outer edge of the keyboard. Here we have two options, a 3D printed version, and a laser cut wood version. 

      3D printed version.


      Laser cut wood version.


      This can simply be glued into place by applying a thin line of glue around the edge of the frame.


      Carefully align the frame with the main body before pushing down for the glue to set.

       
    6. Finally, add some foam or fabric feet to the underside of the keyboard to prevent the screws from scratching the desk surface.

       

KEYBOARD COMPLETE!

 


 

License:

Creative Commons — Attribution — Noncommercial

Related Models

bakercube preview image

bakercube

iomaa profile image

iomaa

44,388

Book Page Holder V3 preview image

Book Page Holder V3

fifindr profile image

fifindr

3,420

Customizable Spotify Keychain / Tag preview image

Customizable Spotify Keychain / Tag

ewt profile image

ewt

2,834

Bottle Opener and Cap GUN! preview image

Bottle Opener and Cap GUN!

3Deddy profile image

3Deddy

43,909

Funnel Tray preview image

Funnel Tray

fifindr profile image

fifindr

3,474

Aldi Cart keychain preview image

Aldi Cart keychain

Nexus profile image

Nexus

1,044

Mini Tape Gun - Tape Dispenser preview image

Mini Tape Gun - Tape Dispenser

brycelowe profile image

brycelowe

23,733

Mini Whistle preview image

Mini Whistle

fifindr profile image

fifindr

1,880