This project replaces my two previous forks (kinesismod and kint) for adding Blackpill support to the Kinesis keyboard. I've decided to merge all the features into a single PCB, add optional thumb cluster PCBs as part of the kit, and renamed the project to avoid confusion. Below is a list of supported features.
- Supports Blackpill development board running QMK/Vial
- Supports Pill Bug wireless Bluetooth development board running ZMK
- Optional reversible thumb cluster PCB for left/right sides. (Maintains original matrix wiring)
- 2u stabilizer support on thumb cluster
Credit goes to the following people for doing all the initial development on replacment PCBs for the Kinesis:
- Aaron Silman's kinesismod project (blog)
- Michael Stapelberg's KinT project (blog)
- Dmitry Nosachev's Kin80 project
The files needed for https://jlcpcb.com are located in the production folders:
pcb/production
thumb-pcb/production
Once uploaded, you place the order with the selected default options. You can optionally change the solder mask color, which changes the final color of your PCB.
Description | Qty | Notes |
---|---|---|
Molex 39-53-2135 | 2 - 6 | Link |
Molex 39-53-2134 | 0 - 2 | Contoured only, Link |
Header pins (1x20) | 2 | Should come with dev board |
Headers (1x20) | 2 | To socket your dev board |
1.8mm LED | 4 | Amazon |
10k resistor | 4 | Affects LED brightness. Smaller = brighter |
USB-C panel mount | 1 | AliExpress, Amazon |
Description | Qty | Notes |
---|---|---|
Blackpill (STM32F411) | 1 | WeAct Store |
Description | Qty | Notes |
---|---|---|
Pill Bug | 1 | MechWild Store |
3.7V battery | 1 | 2000mAh |
Power button | 1 | Optional, Amazon |
NOTE: If you're using a Pill Bug with a battery that's larger than 500mAh, then bridge the charge boost jumper labeled JP1 with some solder. This will increases the max charge rate from 100mA to 500mA. Doing this for small batteries (<500mAh) may cause explosions.
All components go on the side with the silkscreen labels (rectangles) EXCEPT for the LEDs. First solder the header pins onto your development board, and the header sockets onto the PCB. Then solder in the LED resistors, but NOT the actual LEDs yet. The resistors can be SMD or through hole.
For a Pill Bug with battery build, you can now solder the battery wires/connector to the board. Make sure the positive wire goes into "BAT+", and the negative wire goes into "BAT-". If you're using a power button, make sure to wire it inline along the BAT+ wire so that it essentially opens and closes the circuit.
Insert your Blackpill/Pill Bug development board into the sockets on the PCB.
For the Molex connectors, I find that it's more convient to desolder the ones on the original PCB so that I don't have to purchase new ones. Solder the connectors onto the PCB.
Flip the PCB over and insert the LEDs on the side of the PCB with no other components. Make sure the short leg goes into the square pad, and bend the legs so that they stay in place. Screw the PCB back into the keyboard case, making sure the LEDs are lined up with the existing case holes. You can also adjust the height of the LED to move them closer to the status window if you'd like. Once you're satisfied with the position of the LEDs, you can then solder them in place while the PCB is still mounted.
Lastly, plug the USB-C panel mount cable to into the development board, and secure the other end to the hole in the case.
The wiring for the thumb cluster (a.k.a. matrix wiring) has not been altered from original, so theoretically, they can be used in conjunction with any Kinesis PCB, including the stock one.
The PCB is also reversible, so you don't have to place separate orders for a "left" version and a "right" version.
Description | Qty | Notes |
---|---|---|
1N4148 SOD-123 diode | 12 | Amazon |
MX switch | 12 | Can desolder and reuse |
2u screw-in stabilizer | 4 | Link |
Cable connector (1x10) | 4 | 2.54mm pitch (eg KF2510) |
Ribbon cable | 2 | >= 50mm length |
You will need two PCBs for the thumb cluster, but since they're reversible, you will need to read the silkscreen to see if it's the left or right cluster.
First step is to solder all the 1N4148 diodes. Orientation matters, so make sure the line on the diode faces same direction as the thicker white line on the PCB. Place a dab of solder on ONE of the two diode pads. Drop the diode into position (double checking the orientation), hold the diode in place with tweezers, and melt the solder you just added to the pad so that diode is held in place. Now add solder to the opposite pad, thus holding the other diode leg in place. Repeat for all the other diodes.
The connector for the ribbon cable can now be soldered onto the PCB, and will be on the same side as the diodes. The pin pitch is 2.54mm, so any compatible connector/cable will work here.
Install the 2u stabilizers onto the PCB.
Now solder in your MX switches. If you're reusing the original switches, desolder them from the original PCB, and remove the diode from inside the switch housing. Using a switch opener will make this task much easier.
Mount the thumb clusters onto the keyboard and connect the ribbon cables.
firmware/dcpedit_kint_bp_vial_6layers.bin
Source: https://github.com/dcpedit/vial-qmk/tree/vial/keyboards/dcpedit/kint_bp
Remap keys: https://vial.rocks/
firmware/zmk_default.uf2
- Default keymapfirmware/zmk_custom.uf2
- Support for up to 6 layersfirmware/zmk_reset.uf2
- Resets PillBug board for BT connectivity issue on MacOS
The ZMK firmware has mappings for performing system tasks. By default there are 4 Bluetooth pairings saved to the keyboard but they do not switch automatically when adding new devices. So after you add the first device, you need to tell they keyboard to use Bluetooth slot 2 and so forth. The keys to switch between are accessed by a different keyboard layer. This layer is opened by holding down the "Program" key at the very top right of the Kinesis and, while holding it, then clicking another key as follows:
- Clear all saved Bluetooth profiles: Program + F9
- Bluetooth profile 1: Program + F1
- Bluetooth profile 2: Program + F2
- Bluetooth profile 3: Program + F3
- Bluetooth profile 4: Program + F4
- Enter bootloader mode (to upload UF2 files): Program + - (the dash key just below program)
Source: https://github.com/dcpedit/zmk/tree/kinesispb/app/boards/shields/kinesispb
All the PCBs were designed using KiCad, which is free and can be downloaded here: https://www.kicad.org/
For the thumb cluster PCB, I wasn't able to figure out how to have the left and right wiring co-exist without errors while sharing the same connector footprint. My workaround was to first change the connector's reference designator to "J1", update the PCB from schematic, and wire up the left side. Then I changed the reference designator to "J2", updated the PCB from schematic again, and wired up the right side.
If there are any KiCad experts out there that know of a more elegant solution, please let me know.
The production JLCPCB files are all generated with Fabrication Toolkit: https://github.com/bennymeg/Fabrication-Toolkit