Skip to content

Latest commit

 

History

History
459 lines (243 loc) · 19.8 KB

buildguide_3DP.md

File metadata and controls

459 lines (243 loc) · 19.8 KB

KLOR BUILD GUIDE (3DP CASE) [WIP]

PART LIST

REQUIRED PARTS

Part name Count Remarks
KLOR PCB 02 You can find the files for it here
ProMicro 02 Alternatively, you can use another controller with a similar pinout like the Elite-C, Puchi-C, KB2040 dda.
MX Key switch 42 40 switches for Konrad / 38 switches for Yubitsume / 36 switches for Saegewerk
switch socket 42 40 sockets for Konrad / 38 sockets for Yubitsume / 36 sockets for Saegewerk
diodes 1N4148W 44 These are surface mount diodes in SOD123 package. 42 for Konrad / 40 for Yubitsume / 38 for Saegewerk
1u MX keycaps 42 40 keycaps for Konrad / 38 keycaps for Yubitsume / 36 keycaps for Saegewerk
OLED module 02 SSD1306 128x64 pixel OLED Displays
reset button 02 Alps SKRTLAE010
TRRS jack 02 MJ-4PP-9 or PJ320A
TRRS cable 01 Alternatively, you can use a TRS cable for half-duplex
EC11 encoder 02 You can use any EC11 encoder, but it will look better if you use a short one, like the EC11N1524402
encoder knob 02 The design works best with a 2,2cm encoder knob. I'd recommend kilo international knobs with a number starting with 90. You could also use the knob I designed for the KLOR, based on the kilo knob.
USB cable 01 For connecting the keyboard with your PC

OPTIONAL PARTS

Part name Count Remarks
MCU sockets 04 For socketing your MCU. Highly recommended
MCU pins 48 In combinatin with the MCU sockets
SK6812 Mini LED (not Mini-E) 42 40 LEDs for Konrad / 38 LEDs for Yubitsume / 36 LEDs for Saegewerk
Haptic Feedback Module 01 Pimoroni Haptic Buzz
speaker 01 Mallory AST1109MLTRQ or Keliking KLJ-1102
trackball 01 Pixart PAW3204OA. Available at Yushakobo
level converter 01 Needed to use the trackball. You can get it from Yushakobo
tenting puck 02 SplitKB Tenting Puck

3DP CASE PARTS

Part name Count Remarks
3D printed case 02 Find the case files here
acrylic parts 02 Three parts and one ring per side
switch plate 02 1.5mm switch plate
M2 heat set inserts 4-8 4mm height, about 3.5mm diameter
8mm M2 screws 4-8
6mm M2 countersunk screws 16 The bottom only supports countersunk screws

IMPORTANT DIFFERENCES BETWEEN ORIGINAL AND KS-27 EDITION

In this version, there are some changes that require slightly different build instructions.

  1. You will need to use the KLOR KS-27 case, found here: https://github.com/sadekbaroudi/keyboard-cases/tree/master/KLOR

  2. Controller: Solder it on top, with the components facing the pcb. Make sure the VCC/GND pins are in the correct spot! With the case provided: If you are using OLED, your headers should not exceed the standard height of 2.54. If you are not, then you can go much higher.

  3. OLED: To place the oled at the correct height, solder the controller, then place the OLED in the through holes. Before you solder, put the pcb into the case and push the oled as far as you can towards the case so that the screen is just below the lip of the hole in the case. If you don't do this, the OLED will be recessed into the case when you assemble it.

  4. Important: Given this is not using hotswap sockets, and the controller isn't socketed, you won't have access to the controller once you assemble everything. So, PLEASE confirm the controller is flashed properly before you assemble.

4.1) (optional, but recommended) If you are using the splinky ( https://github.com/plut0nium/0xB2/ ), there are two pads on the back next to pins 7 and 8. You can solder some wires to these two pads and run them under the board through one of the mounting holes or tenting puck holes. This will allow you to hard reset the controller even after you assemble. You can do this by shorting those two wires, and while they are shorted, then short reset and gnd. This will prompt the bootloader reflash.

INTRODUCTION

Here is an overview of where and on which side each component needs to be soldered (click on the image to see a larger version).

KLOR solder guide

To see what component needs to sit where you can take a look at the interactive HTML BOM.

Warning This interactive HTML BOM does show where each component is located, but please still refer to the solder guide above to see if a component needs to go on the top or botom of the PCB.

Be aware that for the stacked acrylic case some components need to be soldered on the opposite side.
Some people mark the top and bottom with tape to keep track of which side is which, as the PCB is reversible.
Beginn with the flat components and progress to the higher ones, ending with the OLEDs and the encoders.


BREAK OFF PARTS (optional)

If you choose a layout other than Polydactyl you should remove the unnecessary parts. Use a flush cutter to snip through the support sections. You can also use a boxcutter to carve in grooves, which makes it easier to break on the right spot.

Warning Be very careful with this step, since there is a risk to break the PCB. Probably it would be best to beginn with this step, to avoid loosing already soldered parts.

break off parts

You can use a file to smooth out the edges, but you should wear a mask while doing this, since the FR4 dust is considered to be toxic.


MICROCONTROLLER

Warning First flash the microcontroller to make sure it works, before soldering it in.

Unlike most other boards here the microcontroller needs to be mounted on the bottom, with the components facing upwards (to the PCB).
Feel free to use the included header pins, but it's highly recommended to use MillMax low profile sockets.
Place the sockets in the marked spots on the bottom side of the PCB.

MCU sockets

You can keep them in place by using masking tape.

sockets taped

Then you can flip the board to solder in the sockets from the top. Flip it again and insert the pins into the sockets.

Note Use tweezers to insert them. Don't apply too much force, you will feel them snap in. After that, you can carefully apply some pressure, using a flat object to make sure they're fully seated.

MCU pins

Now place your microcontroller on the pins (components facing the PCB) and solder it to them.
You can use flush cutters to trim the header pins.

MCU solder

Warning When trimming with flush cutters wear eye protection or hold your hand close above the pins. Otherwise sharp metal pins flying around might hurt you.


LEDS (optional)

Note If you use a layout with three thumbs, instead of four, you need to bridge the 'lost thumb?' jumper below the TRRS sockets on the primary and secondary PCB, since the led chain lost its beginning.

Lost thumb jumper

LEDs are very heat sensitive. So it's a good idea to solder the pads on the PCB bottom first and then insert the LED.

LED solder pads

While the bottom of the PCB is facing you, insert the LEDs in the holes. The lens should face the table.

LED in place

This image depicts the correct orientation.
The L shaped pad on the LED need to be connected to the square marked pad.

LED orientation1

Note While the orientation is uniform within a half, it differs between left and right.

Warning It's recommended to solder the LEDs in at 220º, since they're pretty heat sensitive. Personally, I had a hard time keeping it below 270º. So my advice would be while soldering the first pad on every LED, try to be really quick. Then solder the second pad on every LED, starting with the first LED. This way they can cool down in the meantime.

Make sure the solder always builds a strong connection between the pad on the LED and the pad on the PCB.

LED connection

The advantage of soldering in the microcontroller first is that you can occasionally check if all the LEDs work before continuing.

KLOR LED working

This graphic shows the order in which the LEDs are chained together.

KLOR LED order


DIODES

The diodes needs to be soldered on the bottomm of the PCB. Pay attention to their orientation: They have a small line on one side, which should be on the side the arrow on the PCB is facing to.

diode orientation

Apply a small amount of solder on one pad.

Solder on one pad

Then use tweezers to place the diode on the pads and reheat the solder to secure the diode.

Solder diode

Now you can solder the second pad.


SWITCH SOCKETS

Here you can apply the same technique as used for the diodes: Apply some solder on one of the pads first.

switch sockets pad

Then place the switch socket in the silk screen markings and reheat the solder. Apply some pressure with a pair of tweezers to make sure the socket is fully seated.
Now solder the second pad.

switch socket soldered


RESET SWITCHES

The reset switches are a bit fiddly to solder. It helps to apply a really thin film of solder to the pads first and use a lof of flux. Then hold the switch in place with tweezers and solder the big pads on the left and right of the switch (they do not fulfill any electrical purpose, but serve to hold the switches in place). If the switch is seated corretly reheat the solder pads under the switch to connect it.

reset switch


TRRS JACKS

Install the TRRS jack on the top side of the PCB. The place where you should insert it is marked with a white line. You may want to use some masking tape to hold it in place, since you need to solder it on the bottom.

TRRS jack soldered


HAPTIC FEEDBACK (optional)

Note Currently, haptic feedback only works on the primary side of your keyboard, which is a limitation of QMK.

Apply some solder to the jumpers on the top to bridge them.

haptic feedback Jumper

Insert the module from below with the motor facing upwards. Then insert the pin headers from below.

haptic feedback pins

Now you can solder the pins and use a flush cutter to snap of the excess. Remember to hold your hand above them or wear eye protection while doing so.

haptic feedback snap of pins

You can also use a screw and a nut to stabilize the module further. But this step is optional.

haptic feedback solder


SPEAKER (optional)

Note Currently the speaker only works on the primary side of your keyboard, which is a limitation of QMK. Currently you need to use this PR to make the audio feature work with the RP2040.

Soldering the speaker is pretty simple. Apply a tiny bit solder on one of the pads, use tweezers to hold the speaker in place and reheat the solder. After that apply solder to the other pad.

speaker


TRACKBALL (optional)

Note While the hardware side should already work fine, I still need to add the code for the trackball.

TBA


ENCODERS

Mount the rotary encoder on the top side of the PCB. It should click into place maybe requiring a firm press. If it's seated correctly solder the pins on the bottom.

encoder


OLEDs

Warning Make sure the keyboard is fully functional before soldering the OLEDs, since they're the only components which cover pins, you won't be able to access once they are in place.

First step should be to bridge the jumpers on the top of the PCB next to the OLED.

OLED bridge jumpers

Note The OLED needs to be as flush to the PCB as possible to fit under the switchplate.

You need to remove the plastic part, which is usually attached to the OLED, from the headers, while keeping the pins. For me the easiest way is to use flush cutters to snap the plastic in half, which allows you to remove the parts easily. You probably need to bend the pins back in place after doing this.

OLED pin split

You also need to cover the back of the OLED with electrical tape, to prevent shorts with the microcontroller pins. Especially the top part with the copper traces is important.

OLED tape on bottom

Insert the OLED on the top of the PCB. Make sure it sits as flush to the PCB as possible. Maybe hold it in place with some masking tape.

Note You could also temporarily install the switchplate over the OLED, using a few switches. This way you make sure it's exactly in the right spot and rotation.

Solder the OLED into place.

OLED soldering

Now use flush cutters to trim the top and bottom pins. Especially the top pins should be as short as possible to avoid interference with the switch plate.

OLED flush cutter

If you use a metal switch plate consider to cover them with electrical tape to prevent shorts.

OLED tape on top

Note If you need to desolder the OLED or fix its placement just apply a lot of solder to the four pins to connect them. This way you can heat all four pins at once and remove it by gently applying force to the bottom edge of the OLED module. Be really carefull not to use too much pressure, since you could rip off a pad or destroy the OLED (which happens pretty fast).

OLED desolder


CLEANING

This is how your finished PCB probably will look like. You can use an old toothbrush and some isopropanol to clean it from residues.

Finished PCB


FIRMWARE

AVR based ProMicro

e.g. Pro Micro / Elite-C / Puchi-C

If you have not already flashed the firmware to the microcontroller you should do it now, to make sure everything works, before inserting it into the case.
Here you can find the QMK firmware for the KLOR.
Copy the klor folder into the keyboards directory of your qmk installation.
Then use QMK MSYS (or the command line tool of your choice) to compile it with this command:

qmk compile -kb klor -km default

This will create a file called klor_default.hex in your qmk_firmware folder.
Open QMK Toolbox and locate the klor_default.hex file.
Connect the ProMicro/keyboard and press the reset button (or connect the RST and GND pins on the ProMicro). QMK toolbox should show a connected device.
Press flash in QMK toolbox to flash the firmware on your microcontroller.

QMK toolbox

RP2040 ProMicro

e.g. Adafruit KB2040 / Sparkfun Pro Micro RP2040 / Boardsource Blok / Elite-Pi / Sea-Picro

Copy the klor folder into the keyboards directory of your qmk installation.
Then use QMK MSYS (or the command line tool of your choice) to compile it with this command:

qmk compile -kb klor/rp2040 -km default

This will create a file called klor_rp2040_default.uf2 in your qmk_firmware folder.
The first time you need to keep boot pressed, then press reset and release boot. This will open the flash memory of your MicroController as device in your OS.
Copy the klor_rp2040_default.uf2 there to flash it.

Note After flashing the firmware the first time you can access the flash memory by double pressing the reset button on your keyboard or define a software reset key by using QK_boot as keycode.


3DP CASE

Here you can find the STL files for the case. I got them printed in PA12-HP Nylon (Multi Jet Fusion printing) by JLCPCB, which seemed pretty reasonably priced, for the level of detail.

3DP case

Insert the PCB first. Starting with inserting the microcontroller in the cutout at the top.

3DP case insert MCU

Then lower it into the case. To make it fit, you probably need to bend a bit the part of the case containing the holes for reset switch and TRRS jack.

3DP case bend

The TRRS jack should snap in the provided hole.

3DP case trrs

Insert the standoffs in the PCB and screw them into the bottom of the case using the countersunk screws.

3DP case standoffs

Now you can insert the plate and screw it to the case using the center standoff.

3DP case plate


ACRYLIC PARTS

Here you can find the files for the acrylic parts. Made from smokey acrylic (by a lasercutting service) it will hide the OLED, while still allowing it to shine trough the top layer. It will look best if you can get a pretty dark type, like 7C83 by PlexiGlas (used by formulor.de for example).
If you want to get rid of the shine you can carefully sand the parts with some really fine sanding paper (I used a 2000 sanding pad).
You need to glue the ring to the top right part using acrylic glue (Acrifix for example). Be careful to apply only a really thin layer using a toothpick.
If you choose a case with the KLOR logotype you can emphazise it by retracing it with some sort of white paint marker. Use turpentine or something similar to get rid of the excess paint.

Screw the acrylic parts on top of the plate.

acrylic parts on top of plate


KNOBS

The design works best with 23mm (0.9") diameter encoder knobs. My recomendation would be a knob from kilo internationl with a number beginning with 90 (which means a 0.9" diameter) like the OEDNI-90-4-7 shown here.

OEDNI-90-4-7


FINAL BUILD

This is how the final keyboard will look like. In this picture I use RAMA Grid keycaps in NOCT.

final KLOR build