Micro Planck - 3D Printable Low-profile Ortholinear Mechanical Keyboard
by Applepie1928 in Circuits > Electronics
4611 Views, 58 Favorites, 0 Comments
Micro Planck - 3D Printable Low-profile Ortholinear Mechanical Keyboard
Introducing the Micro Planck
This has been a passion project of mine to design a custom mechanical keyboard with a small enough form factor that it can be easily carried around when travelling or used in other small projects. I wanted as much of the design to be 3D printable so the shell, plate and all the keycaps have been designed from scratch with that in mind. I set myself the following design goals at the start and this is how this project achieves them:
- Small - 23cm Wide x 9.5cm Tall (8.3cm excluding the PCB head) x 2cm Deep
- Powerful - QMK firmware used for custom key layout, layers, LED control and much more
- Versatile - Customisable firmware layout, changeable keycap design, fits all 4 varients of Gateron KS-33 switches
- Custom PCB - Integrated microcontroller and all required components, only needs firmware to be flashed (can be done over USB)
- Beautiful - Choose your own look and colour schemes with the customisable frame, plate and keycaps
So if this is keyboard is pressing your switches, it's time to start building!
Supplies
There are not a lot of required parts for this build, but what is needed can be summarised into three sections:
- 3D Printed Parts -
- Bottom Shell - holds the PCB with cutout space for components
- Plate - has perfectly measured offsets from the PCB to allow switches to easily click into place
- Clear Cover - printed in transparent PETG so you can see the custom PCB and LEDS (settings included for great quality finish)
- Top Shell - provides a clean finish and lets everything screw together
- Electronics -
- Custom PCB - designed to be manufactored with all components (except keyswitches)
- 47 x Gateron KS-33 Keyswitches - works with red, brown, blue or banana varients
- Sundries -
- 4 x M3x12mm Countersunk Screws
- 2 x M3x8mm Countersunk Screws
The 3D printed model parts can be found exclusively at Maker World-
Micro Planck Shell Model Files
Micro Planck Keycap Model Files
The custom PCB can be ordered directly from PCB, or the gerber files can be downloaded from there and printed at the manufactoring house of your choice:
Ordering the PCB
As mentioned above the PCB has been designed specifically for this project and has the following features:
- ATMega32U4 microcontroller and required passive components for full functionality
- USB C power and data transmittion
- 3 RGB addressable LEDs
- Diodes for all keyswitches
- Reset switch
- Asthetically laid out traces to make the design part of the style of the final product
By following the link to the PCBWay, you can automatically place an order for assembled versions of this PCB with all the parts being ordered and installed as part of the process. Alternatively, if you are confident with SMD soldering then I have also included the full schematic and board layout on PCBWay along with the Gerber files, BOM and Centroid file if you would like to source the components and solder them yourself.
Either way, the first step is getting yourself an assembled version of the PCB which will act as the mainboard for the Micro Planck keyboard. Once you have that in your hands it's time to start the 3D printing!
3D Printing the Shell
The full model files can be found exclusively on Maker World, and consist of four components:
- Bottom Shell - holds the PCB with cutout space for components
- Plate - has perfectly measured offsets from the PCB to allow switches to easily click into place
- Clear Cover - printed in transparent PETG so you can see the custom PCB and LEDS (settings included for great quality finish)
- Top Shell - provides a clean finish and lets everything screw together
If you are printing through Maker World, then all the settings have already been pre-determined for each of these plates, but for those printing directly or using other services I will detail the print settings for these parts:
For the bottom shell, plate and top shell a layer height of 0.2mm works great, but 0.16mm will give a slightly cleaner finish particularly on the overhang sections. I would recommend a minimum of 5 top and bottom shells and 3 walls to stop infill showing through, and choose a speed to print at which would normal give you a good quality finish. For my build I just used PLA or PLA+ for these parts.
For the clear cover I used a transparent PETG so that the detail of the PCB and LEDs can be seen through it. This requires some more specific settings which will vary from printer to printer, but the following worked best for me:
- Layer height of 0.1mm
- Increased Flow rate multiplier (1.01 up from 0.95 worked for me)
- Line width (for all types of lines) of 0.5mm
- No top or bottom shell
- 1 Wall
- 100% infill with alligned rectilinear pattern
- 0 degree infill direction
You can also print this section not transparent, but then the LEDs will be much less visable. Another option would be to print this section using a transparent resin or having it CNC cut out of acrylic.
Once the shell is all printed, clear up and strings or blobs and then it is time to move onto printing the keycaps!
3D Printing the Keycaps
The full set of keycaps can also be found on Maker World and are setup and ready to print if you already use that service. However, if you want to print them directly or using another service I would recommend the following settings:
- 0.2mm Nozzle - This is not mandatory, but will result in a lower quality finish if using a 0.4mm nozzle
- 0.1mm Layer Height
- 0.22 Line Width (0.24 Line Width for first layer)
- 100% infill (any full infill pattern)
If you don't have a multi-head/multi-colour 3D-printer, these files can still be printed using just a single colour althought this does mean they will have no legends included on them. If you decided to do it this way there is no requirement to use a 0.2mm nozzle.
With the keys printed, that is everything ready to start assembly!
Soldering the Keyswitches
The Micro Plack was designed to use Gateron KS-33 low-profile keyswitches, but any of the 4 varients they produce are compatible. There are also third party unofficial versions of these switches available on other marketplaces such as Amazon, AliExpress which SHOULD still fit, but be cautious if you decided to go with an unofficial option.
Start off by placing the 3D printed Plate ontop of the PCB, so that the corner screw holes align, and the space in the plate for the singular space bar switch lines up with the slot in the PCB below it. The raised sections on the plate should face down, so that the plate is raised slightly above the PCB and the flat surface of the plate is facing up. Using the 4 M3x12mm screws screw from the back of the PCB and through the plate on all 4 corner screw holes. This will temporarily hold the PCB tight to the plate whilst you place and solder your switches.
Insert each switch into the plate so that it clicks into place. Ensure that the pins line up with the PCB below and are not bent before you insert each of the switches. Use the image included for this step to double check the orientation of the switches.
Once all of the switches have been inserted, flip the PCB over and check that both pins for every switch have passed through the corresponding holes in the PCB. If everything looks good, then heat up your soldering iron and solder both pins for each switch to the PCB. I found that it required a quite high temperature and some contact time to get a good solder likely due to the large ground plane in this PCB.
Once you are happy that all the keys are soldered, you can remove the temporary screws and the plate should remain tight to the PCB, held in place by the soldered switches. Now we can start assembling the shell!
Assembling the Shell
The assembly for this project is quite simple, so just follow these sub-steps in order:
- Place the PCB and Plate onto the Bottom Shell and use the four M3x12mm screws to screw through from the back in the corners, and the two M3x8mm screws to screw from the back into the plate (don't over tighten these as they can push through the plate).
- Place the Clear Cover over the top of the PCB aligning with the top two screw holes, and continue screwing the top corner screws until they bite into the clear cover.
- Place the Top Cover over the outside edge, alligning it with the screwholes using the cutout keys to assist you. Finish screwing all the four corner screws until everything is tight (again don't over tighten these, once the head of the countersunk screw is just below the level of the back they will be tight enough.
- (OPTIONAL) - To fully secure the top cover, a bit of superglue can be used to glue the lock and key sections together, be warned though, once this is done full disassembly won't be possible without breaking some of the shell.
You can now take your keycaps and start pressing them onto their corresponding switches (use the image for this step as a guide).
That is the physical build complete! Now all that is left is to flash the firmware to the microcontroller!
Flashing the Firmware
The Micro Planck uses QMK Firmware, which is a popular open-source keyboard firmware allowing huge levels of customisation and a rich variety of features.
Using the link above you can read about how QMK works with keyboards and some of the other fantastic features you can add if you want to customise the design for yourself! There are two utility programs which QMK provide which will be needed for customising and flashing the firmware to your keyboard:
- QMK Toolkit - For flashing (uploading/installing) the firmware to your keyboard
- QMK MSYS - For customising, editing and compiling your own variations of firmware
I have already built a default firmware for the Micro Planck to get you started, and if you download the "micro_planck_default.hex" file from this step, that file is ready to be flashed straight to the keyboard. Simply open QMK Toolkit, open that hex file, and ensure that MCU is set to "ATmega32U4". You can then plug your keyboard into the computer via USB and hit the flash button to upload the firmware.
If you want to get a bit more involved in customising the features and layout of your keyboard I've also included the two files I used to generate this firmware - "keyboard.json" and "keymap.c". These files define the layout, pinout and keymapping used for this keyboard, along with some extra features such as the LEDs. By following along with the documention on QMK linked above, and using QMK MSYS you can use these files as a starting point to start customising the keyboard to whatever you need!
Either way, once your firmware has been uploaded, your keyboard should be fully functional and ready to go!
Using the Keyboard
It can take a bit of time to get used to typing on an ortholinear keyboard (where the keys are laid out in a grid rather than offset on a traditional keyboard). I would recommend using some typing test websites, and practicing a bit, but before long it will become second nature!
One other thing to mention is that this keyboard makes use of "layers". As there is a limited number of keys, each key actually has a second function which exists on another "layer". For example, on layer 1, if you press the "Q" key, it will type the letter Q, however on layer 2, pressing the "Q" key will type the number 1 (as is shown on the keycaps).
You can switch between layers in two ways:
- FN Layer Key - This key is to the left of the space bar and whilst held down, any other key you press will come from the second layer, once the key is released the keyboard will automaticall return to the first layer
- Switch Layer Key - This key is to the right of the space bar and pressing it will toggle which layer the keyboard is in. E.G If you are in layer 1 and press this key it switch to layer 2, until the key is pressed again where it will then switch back to layer 1.
The LED's are currently used to identify which layer the keyboard is currently in, so that you can have a quick and easy visual representation:
- Blue LEDs - Layer 1 (Main key functions - Q, W, E, R, T, Y etc.)
- Purple LEDs - Layer 2 (Secondary key functions - 1, 2, 3, 4, 5, 6 etc.)
This should give you enough to get started using the Micro Planck and hopefully get you started on your own journey to building your personal customised keyboard. Can't wait to see what you all build!