thpoll83 / PolyKybd

PolyKybd
https://ko-fi.com/polykb
CERN Open Hardware Licence Version 2 - Weakly Reciprocal
217 stars 6 forks source link
kicad kicad-footprints kicad-schematics mechanical-keyboard oled-display-ssd1306 qmk qmk-firmware qmk-keyboards

PolyKybd Split72

Official hardware repository of the PolyKybd Split72 keyboard. The instructions here are still in a very early stage. There is also a build video available: https://www.youtube.com/watch?v=K5RpbYzx7gw

PolyKybd Split72

You can find the matching QMK firmware here: https://github.com/thpoll83/qmk_firmware/tree/PolyKeyboard

The KiCad7 projects for the PCB are the following:

poly_kybd/poly_kb_wave_right2.kicad_pro poly_kybd/poly_kb_wave_left2.kicad_pro

(wave was the the prototype name, please just ignore the other projects)

The keyboard plates are also KiCad7 projects (I used 1.2mm aluminum PCBs):

poly_kybd/poly_kb_wave_right2_plate.kicad_pro poly_kybd/poly_kb_wave_left2_plate.kicad_pro

How to Build

I recommend waiting for the kit that contains all parts and the assembled PCBs. Here a little preview, how that looks like: Kit Preview The kits are not yet ready, but you can sign up here and get notified as soon as these are available: https://www.crowdsupply.com/polykybd/polykybd

At the moment, please consider these instructions as experimental. If you want to go ahead with the full experience and build everything from scratch right now: Give it a try and let me know how it worked out!

Independent of your choice, here are the parts you need before putting everything together:

Prepare Required Parts

Put Everything Together

Here is my recommended order:

  1. In case you want to use an Alps EC11 Encoder or some remaining stock of the not any more produced EVQWGD001, put it on the PCB and also put the keyboard plate once on top to make sure your encoder fits! In case of the EVQWGD001, you have to remove the last pin, before soldering it to the PCB Juts clip it away. DO NOT solder it to the PCB, or otherwise it will not work: EVQWGD001 Depending on the type of EC11 encoder, you maybe want to put a piece of Kapton tape over the legs, in case they come close to the plate (it was not necessary for mine, but there are different kinds out there).
  2. For the pimoroni trackball, please solder on the header without the little plastic distance holder. There are various ways to do that: Either solder them on and push the plastic with some pliers off the pins (and clip away the pins on the front side of the trackball so that it is flush) or insert them from the front side, solder them on and then clip away the plastic parts. The pins are still long enough. Just go for something that works for you. Next, put some Kapton tape on the back side of the trackball and solder it to the keyboard PCB. Make sure it is even on the front side, there will be an average 1 to 2mm distance: Pimoroni on the back side Pimoroni on the front side Finally also cover the trackballs front side with Kapton tape like in the picture above (or anything that pleases your eye and insulates) to avoid any shorts since the top plate is made out of Aluminum.
  3. In case you use the 23mm cirque trackpad, first remove R1 from the backside of the trackpad's PCB (with a solder iron or maybe a sharp knife) to activate I2C instead of SPI. Then connect the 12 pin FPC to the trackpad (and mind the pin 1 marking on the trackpad + I made my own marking on the FPC to make sure): Cirque trackpad connected Then, put it into the 3D printed holder. You can fix the trackpad with some adhesive tape or a few drops of super glue into the holder. Wait with connecting it to the PCB: Cirque trackpad with holder There is also an experimental version for the 35mm trackpad, take a look at the parts folder.
  4. Insert the 0.96 inch status display into the display holder (bend the holder back and let it snap back to bracket the display). Connect the FPC with the socket on the PCB and lock it by lowering the brown flap on the FPC side (if you don't have a status display just close the cut out with the blind lid): Status Display
  5. Put the spacer on top.
  6. While putting the plate on top of the assembly, fit the status display holder (or blind) into the plate from the plates back side: Insert Status Display Then, the plate rests on the spacer, which again rests on the PCB. I pushed in two screws temporarily to align plate and PCB: Align the assembly
  7. Now would be the time to fit in the optional cirque trackpad. First get the FPC cable through the slot: Insert trackpad Next, push in the trackpad holder. It is a press-fit, so no glue needed, just push: Push in the trackpad Finally insert the FPC cable into the cirque socket and lock it by lowering the little flap on the back side of the socket (again make sure that pin 1 meets the side with the little 1 next to the socket): Push in the trackpad Depending on the keyboard side (left/right), the slot for the FPC to go through is located very close to the trackpad socket or a bit further away as on the picture.
  8. Assemble all 72 keys: Put the stem on the key switch, put the flex cable through the LED slit of the key switch and and align the display. Finally put the clear keycap over it and make sure it sits flat on the stem. The display will slide into the stem when covering with the clear keycap. You don't need to pre-bend the flex cable. I rather recommend against bending it as you might damage it. The following images shows these 3 steps: Key assembly Now repeat this for every key-switch. A fully prepared keyboard side of switches might look like this: Keys assembled
  9. Push in one assembled key switch at each corner so that everything aligns properly. To do that, first insert the flex cable into the PCB slot and push the key switch STRAIGHT into the hot swap socket. DO NOT keep pushing if you feel resistance half way to the bottom, there is a danger that you detach the hot-swap from the PCB. In that case, get the switch out again, make sure the pins aren't bent and try again! On the backside, you can check if both pins have been inserted properly: Switch successfully inserted Here, only one pin is in the hot-swap socket. Pull the key switch out again, straighten the bent pin and reinsert carefully: Switch with only one pin This is how it looks like if there is no key switch inserted: No key switch Now your assembly should look like this: Aligned
  10. Insert the remaining key switches in the same way and check that the pins are visible as indicated above: All keys inserted
  11. Start inserting the flex cables into the sockets: All keys inserted (from backside) If the flex cable is not long enough for you, press the key switch to make it longer. But it should also work without doing that. You cas use some tweezers or also a toothpick to first lift the flap to unlock the socket. Insert the end part into the socket, again recommended with tweezers, but also works without (so with your hands - finger!). After inserting the flex cable, lock the socket. Lower the little flap on the back-side of the socket you lifted at the beginning: Insert the FPC The finished version should look like that: FPC inserted Now repeat this procedure for every flex cable.
  12. In case you have a case with revision r4 or higher its now time to insert the hex nuts into the corners.
  13. Before putting the whole assembly into the case, do a function check! If you have not yet flashed the firmware to the board, build one according to the instructions on https://github.com/thpoll83/qmk_firmware/blob/PolyKeyboard/keyboards/handwired/polykybd/readme.md and flash by first pressing the boot button and then connecting the USB-C while holding the button. After the you connect just release the button and copy the .hex file to the USB drive an you are set. There is no need to connect the second side (depending on the firmware version). When connected to power, after a second or two, all displays should show some characters. If not, disconnect the cable again, release the lock of the FPC display socket in question and re-insert the FPC cable, lock again and reconnect the USB-C port.
  14. While still connected to USB-C press every key once. Each pressed key should invert its display contents. If not one or both pins might have been bent when inserting the key switch. If that is the case, pull the key switch out again, make the pins straight again and carefully insert one more time.
  15. After we confirmed that all displays and all keys do work, put the assembly into the case: Insert into case Start on the inner side, where the two halves are connected by the bridge USB-C socket. You maybe have to give it a gentle push on the other side to go in.
  16. Insert the 4 hex screws and tighten them carefully. One halve assembled Now repeat with the other side ;)
  17. Connect the two halves with the short USB-C to USB-C cable.
  18. Finally connect the left side with the USB-C cable connecting to the host system and you are done!
  19. Congratulations! You made it! PolyKybd Split72 In case you experience any issues, pleas let me know or make a PR on the build guide!

The fun just starts now! You will recognize that there are a lot of ways to play around with this keyboard.

Here are some more notes on the firmware:

This project has been an incredible amount of work, please consider supporting me if you like it: https://ko-fi.com/polykb Please support me