Skip to the content
PCBKitNew board
2 layers116.8 × 86.4 mmPoly kb, the printed circuit board in 3D

PolyKybd

Size
116.8 × 86.4 mm
Copper layers
2
Thickness
1.6 mm
Parts
161
Nets
173
Pads
712
Tracks, vias
4,076, 390
Pours
4
Routed
Yes
KiCad
KiCad 5 (file 20171130)
Created
1 Mar 2021
Updated
6 Nov 2026

Overview

Poly kb is an open-source printed circuit board by thpoll83, from the thpoll83/PolyKybd repository on GitHub, published under the CERN-OHL-W-2.0 licence. It is a 2-layer board of 116.8 × 86.4 mm with 161 parts on 173 nets, routed with 4,076 tracks and 390 vias.

It is built around the 74HCT595D, USBLC6-2SC6 and XC6206P332MR, with the WS2812B-MINI-X2 among its other parts. Its parts include 69 capacitors, 43 connectors, 17 resistors, 5 ICs and 4 diodes. It belongs with the keyboards and input and lEDs and displays boards and the STM32 boards of this library.

Main components

4

README

README.md

PolyKybd Split72

Official hardware repository of the PolyKybd Split72 keyboard. If you are looking for the kit, jump immediately to https://www.crowdsupply.com/polykybd/polykybd for registration.

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, rendered from the KiCad models

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

Cloning this repository

This repo is big — around 800 MB of history. Most of that is the board files themselves: the decorative silkscreen artwork is stored as vector polygons, which makes a single .kicad_pcb around 50 MB, and there are several design generations in the history.

If you just want the current files, use a partial clone. Git then downloads file contents only when you actually touch them, so a fresh checkout takes seconds instead of many minutes:

text
git clone --filter=blob:none https://github.com/thpoll83/PolyKybd.git

The full history is still there and everything works normally — git log, git checkout, opening the boards in KiCad. Older revisions of large files are simply fetched on demand. If you want a plain full clone instead, just leave the --filter off.

The PCB projects are the following (KiCad 9 — the schematics were migrated to the version 9 file format, so KiCad 8 and earlier can no longer open them):

poly_kybd/poly_kybd_split72_right.kicad_pro poly_kybd/poly_kybd_split72_left.kicad_pro

(please just use the projects linked above and ignore any older/backup projects in the folder)

Here are the corresponding schematics for reference (left and right):

Left schematic Right schematic

You can inspect all individual schematic sheets (with descriptions) here: Schematic sheets.

The keyboard plates are also KiCad projects, still in an older file format but they open fine in KiCad 9 (I used 1.2mm aluminum PCBs):

poly_kybd/poly_kybd_split72_plate_right.kicad_pro poly_kybd/poly_kybd_split72_plate_left.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

  • Case (left/right) - You can either 3D print or get them CNCed (but then you should add some threads to the screw holes): parts/export/case/case_polykybd_split72_left_r7.stl Render of the r7 left case, open side up parts/export/case/case_polykybd_split72_right_r7.stl Render of the r7 right case, open side up In case the resin print has some deformations, it is best to use a hairdryer to slightly heat the case up and then put something heavy on the bottom to make it flat - it really works.

  • Spacer to keep the right distance between plate and PCB (again, can be 3D printed): parts/export/case/spacer.stl. If you fit the LED diffuser frame, print parts/export/case/spacer_diffuser_frame.stl instead. It is notched for the frame on both faces, so one part works on either half. Render of spacer_diffuser_frame.stl

  • Assembled 4 layers PCB 1.6mm (left/right) The latest gerber files with BOM and pick/place file can be found in poly_kybd/Gerber I made some final adjusts on the latest version, which I did not yet order (I will let you know as soon as I did). poly_kybd/Gerber/PCB/left-side-v3.2/PolyKybd_Split72_L_3.2.zip poly_kybd/Gerber/PCB/right-side-v3.2/PolyKybd_Split72_R_3.2.zip

    PCB

    My recommendation is to let assemble the PCBs as there are a lot of parts with tiny footprints like the RP2040, the 72 FPC sockets and some more... If your PCB fab has an option to verify the parts orientation, please make use of it. I did that as well and never bothered correcting them (since the 'upright' orientation of the part from KiCad and your PCB fab might differ).

    Note:

    In case you make modifications to the PCB in KiCad and export everything you might need to change the hot swap sockets side to the back. The hot swap socket in KiCad is part of the key switch and for some reason I couldn't yet convince KiCad that the manufacturing side is the back...

  • Aluminum plates (left/right =) - Can be ordered from PCB manufactures as a 1.2mm aluminum PCB poly_kybd/Gerber/Plate/gerber-left-side-v3-17.11.2023.zip poly_kybd/Gerber/Plate/gerber-right-side-v3-17.11.2023.zip

  • Displays Displays

    • 72 pieces 0.42 inch displays

      • Either you take the 0.42 inch displays from the kit which has the matching length and pin number (maybe I can make them available as single parts as well - see picture above, on the left).
      • Or make them yourself the manual way, by extending a compatible 0.42 inch OLED with a short FPC cable and soldering the two together. See Making the displays manually for suppliers and the full soldering instructions.
    • (Optional) 2 pieces 0.96 inch status displays (FPW096W001Z0) or pin compatible (see below), the flex cable length should be about 40mm or you extend it on your own. You can contact this supplier: FET, they have these displays even they are not listed in their online catalogue.

      PINSIGNALPINSIGNAL
      1,30N/C (GND)14RES#
      2,3C2P,C2N15D/C#
      4,5C1P,C1N16R/W#
      6VDDB/VBAT17E/RD#
      7N/C18~25D0~D7
      8VSS26IREF
      9VDD27VCOMH
      10~12BS0~BS228VCC
      13CS#29VLSS

      If you don't need the status displays, you can close the display cut-out with the dummy holder: Dummy Display Holder

  • MX Compatible key switches (3 or 5 pins) - 72 pieces. From my blog post ( https://ko-fi.com/post/More-Key-Switch-Testing-While-Waiting-For-The-Asse-B0B8HX1HW ), you can find out, that there are 2 categories of compatible key switches. The ones that work out of the box and the ones that need a little modification. Basically all switches that have an LED slit that is at least 7.5mm wide work. I tested quite some switches and here is the list of tested switches that will work for sure without modification:

    SWITCHTYPEMISC
    Aflion Tropical WatersLinear68g
    Ashkeebs AlexandriteLinear58g
    Blue Dusk PandaLinear62g
    BSUN x Unikeys UdonLinear48g
    CK x Haimu Pastel LemonLinear63.5g
    Ck x Haimu Pastel ThistleTactile63.5g
    Gateron KS-9 (Pro) BlueClicky60g
    Gateron KS-9 (Pro) BrownTactile55g
    Gateron KS-9 (Pro) GreenClicky80g
    Gateron KS-9 (Pro) RedLinear45g
    Gateron KS-9 (Pro) YellowLinear50g
    Geon BlackTactile60g
    Geon ClearLinear60g
    Geon YellowLinear63.5g
    Glorious PandaTactile67g
    GOJU Works x Tecsee Safety SwitchLinear65g
    HMX CthulhuLinear45-50g
    HMX EmoLinear40g
    HMX Hazelnut V2Linear43g
    HMX K01 LightTactile45g
    HMX LotusLinear62.5g
    HMX Su Color PinkLinear45g
    HMX x Sillyworks SonjaLinear45g
    HMX x Unikeys Purple DawnLinear55g
    Kailh Novel Keys Cream SwitchLinear55g
    Kailh Purple PotatoTactile63.5g
    Kailh x Domikey Knight SaberTactile42g
    Keygeek M3Linear48g
    LCET GraceLinear50g
    LCET JokerTactile58g
    LCET Pink QueenTactile58g
    LCET SproutLinear50g
    MMD Holy Panda V3Tactile45g
    Outemu (Dustproof) BlackLinear65g
    Outemu (Dustproof) BlueClicky65g
    Outemu (Dustproof) BrownTactile50g
    Outemu (Dustproof) RedLinear46g
    Outemu Crystal ClearLinear45g
    Outemu Dust-proof SilverLinear45g
    Outemu LemonSilent Tactile35g
    Outemu PandaTactile50g
    Outemu PeachLinear40g
    Outemu PurpleTactile45g
    Outemu OceanLinear35g
    Outemu TealClicky70g
    Owlab NeonLinear62g
    Tecsee Medium (low profile)Linear & Tactile50g

    Be aware that there are different batches of Gateron KS-9 (with and without 'Pro') switches. Despite the exact same name, they might need the following surgery (better ask before buy). So, some switches have an LED slit, but with a little plastic bar in the middle:

    Switch with plastic bar in LED slit

    You can simply cut it away with a knife:

    Cut the bar away

    It is not a big deal, just consider it. Here is a list of switches that I successfully tested after this little modification:

    SWITCHTYPEMISC
    Gateron KS-9 (Pro 2.0) RedLinear45g
    Gateron KS-9 (Pro 2.0) WhiteLinear35g
    Geon HG [Haimu x Geon] BlackLinear65g
    Geon HG [Haimu x Geon] WhiteTactile65g
    Geon HG [Haimu x Geon] RedSilent Linear65g
    Geon HG [Haimu x Geon] YellowSilent Tactile65g
    Kailh BOX V2 Red SwitchLinear40g
    Kailh Box CreamLinear45g
    Kailh Pro PurpleTactile50g
    Kailh Pro BurgundyLinear50g
    Kailh Pro Light GreenClicky50g
    Kailh Pro PlumTactile70g
    Kailh Speed GoldClicky50g
    Kailh Speed SilverLinear50g
    Kailh Speed BronzeClicky50g
    Kailh Speed CopperTactile40g
    Kailh Speed Burnt OrangeLinear/Tactile70g
    Kailh Speed Pro Heavy Army GreenClicky70g
    Kailh Speed Pro Heavy YellowLinear70g
    Kailh BlackLinear60g
    Kailh RGB RedLinear45g
    Kailh RGB BlackLinear60g
    Kailh RGB BlueClicky50g
    Kailh RGB BrownTactile50g

    There are many more switches that will work as long as they have a 7.5mm wide LED slit. Let me know in case you successfully tried another switch, then I can update the list.

  • Key Stems - 72 pieces, can be 3D printed (I highly recommend using an SLA printer). There are 3 different profiles available here. You can also modify the source file an make your own profile. If you take the STLs, make sure to always grab the latest version.

    Every plate is in parts/export/keycap_stem/, named keycap_stem_revAlpha_<width>_<profile>_10p.stl — where width is 1U or 1U25 (not 1.25U) and profile is one of R1–R5, S1, S, S5, e.g. keycap_stem_revAlpha_1U25_R1_10p.stl. Ten pieces per plate, so divide the counts below by ten (rounding up) to know how many of each to print.

    Every piece carries its profile and revision engraved on the top face (R5 α, S1 α, …), matching the profile token in the filename — so a printed stem can always be traced back to the plate that made it, and a mixed handful can be sorted back out.

    • Flat Flat Profile One stem for every row: the R3 plates (14 pieces 1.25U and 58 pieces 1U).
    • Stepped Stepped Profile Rows tilted rather than curved. This works best if the keyboard is inclined by 5 degrees or more, and comes in two variations:
      • sculpted (pictured) — S1 on the front row, S5 on the back row, S on the three rows between: 4x 1.25U S1, 10x 1U S1, 8x 1.25U S, 36x 1U S, 2x 1.25U S5, 12x 1U S5.
      • uniform Uniform Stepped Profile just the S plates everywhere (14 pieces 1.25U and 58 pieces 1U) — a flatter feel that is simpler to print, since it is a single plate design.
    • Curved Curved Profile Here you will need R1 to R5: 4x 1.25U R1, 10x 1U R1, 4x 1.25U R2, 12x 1U R2, 2x 1.25U R3, 12x 1U R3, 2x 1.25U R4, 12x 1U R4, 2x 1.25U R5, 12x 1U R5.

    To change a profile or add your own, edit the shared parts/keycap_stem/keycap_stem.scad or add a file to parts/keycap_stem/variants/, then run parts/keycap_stem/build_stems.sh — see parts/README.md.

  • Status display holder (or cover/dummy in case no status display is used), can be 3D printed. parts/export/display_holder/display_holder_r1.stl / parts/export/display_holder/display_holder_dummy_r1.stl

  • LED diffuser frame (optional, recommended) - one part per half. Each key's LED shines through a half-round hole in the plate, and without a diffuser it shows as a bright point. The frame holds all 36 diffusers of one half at their plate positions, connected by a web under the plate. Print it in resin (SLA): it is thin, and the web is close to the 0.8mm minimum wall a print service accepts. parts/export/diffuser/diffuser_frame_left.stl / parts/export/diffuser/diffuser_frame_right.stl (the _4x files stack four copies on top of each other, joined by a sprue so that a print service counts one part; the slicer still needs supports between the copies, and you cut the pins off before fitting) With the frame you need the other spacer, spacer_diffuser_frame.stl (see Spacer above), because the plain spacer has no room for the web.

  • Transparent keycap covers - 72 pieces (from relegendable keycaps like these), 58x 1U and 14x 1.25U. Various sources sell them on Alibaba, AliExpress, Amazon & Co.

  • Optional rotary encoder (EVQWGD001 or Alps EC11 Encoder), pimoroni trackball or 23mm cirque trackpad (and a 12 pin FPC cable with pins on the same side, about 50mm to 70mm). For the trackpad you will need another 3D printed holder, either a high one or a low one: Cirque Trackpad Inserts parts/export/cirque_insert/cirque23_slim_insert_r8.stl parts/export/cirque_insert/cirque23_insert_high_r1.stl If you are not happy with the existing STLs, you can also modify the source file parts/cirque_insert/cirque23_insert.scad or parts/cirque_insert/cirque23_slim_insert.scad. There is also an experimental version for the 35mm cirque track pad: parts/cirque_insert/cirque35_insert.scad.

  • Optional ambient-light + proximity sensor (highly recommended) - a Pimoroni LTR-559 Light & Proximity Sensor breakout plus a matching 5-pin 2.54mm pin header. The Split72 PCB has a dedicated header footprint for it (labelled 3-6V / SDA / SCL / INT / GND), sharing the Cirque I2C bus - no extra wiring. With the sensor fitted, the firmware automatically drives keycap brightness from the measured light level and wakes the displays when your hand approaches. It is entirely optional (the firmware is a clean no-op when no sensor is present) and side-agnostic (works on whichever half you solder it to). You must fit it as the very first assembly step - see the note in Put Everything Together below, because it does not fit through the plate hole and cannot be added later without an almost complete disassembly. LTR-559 soldered to the PCB Note: each half has a single expansion slot that takes exactly one of these optional add-ons - a rotary encoder, a pointing device (trackball/trackpad), or the light sensor. So on a given half the sensor is mutually exclusive with the encoder and the pointing device: fitting the sensor means that half has no encoder/trackpad. (You can still put the sensor on one half and a pointing device or encoder on the other.)

  • Short USB-C to USB-C cable to connect the two sides (maybe around 50cm).

  • USB-C to USB-A/USB-C to connect to your computer. Note: I had a USB-C to USB-A cable and was sitting in front of a laptop with only USB-C ports. Without a USB-C to USB-C cable at hand, I used an USB-A to USB-C adapter. It turned out this USB-C to USB-A cable + USB-A to USB-C adapter construction was only working then the adapter was connected to the laptop. - better use a USB-C to USB-C right away.

  • 8 M3x10 hex screws with rounded heads and for the current case version (r4 and later, e.g. r7), you also need 8 M3 hex nuts.

Put Everything Together

Here is my recommended order:

  1. (Optional but highly recommended) Solder the LTR-559 light + proximity sensor - do this FIRST! ⚠️ The sensor board does not fit through the hole in the aluminum plate, so it has to be soldered on before the plate goes on. If you add it later you will have to almost completely disassemble the keyboard again. So if there is any chance you want it, fit it now - it is optional in firmware and costs you nothing if you later decide not to use it. ⚠️ Each half has a single expansion slot shared by the sensor, the rotary encoder and a pointing device (trackball/trackpad) - only one of the three fits per half. So fitting the sensor means no encoder or trackpad on that half (you can still fit one of those on the other half). Decide before you start soldering.

    The Split72 PCB has a labelled 5-pin footprint for the sensor (3-6V / SDA / SCL / INT / GND). Solder the sensor exactly like this:

    1. Solder the 5-pin header into the PCB footprint.
    2. The plastic spacer strip of the header now has to come off - it holds the sensor board too high to clear the plate. I simply pushed it all the way down/off the pins: Sensor with the header spacer removed
    3. It is still too thick, so instead of the plastic spacer use a piece of paper folded twice (roughly 1-2mm) as a temporary shim to set the sensor at a nice low height while you solder the board onto the header pins: Folded paper used as a spacer
    4. After soldering, pull the paper back out. The sensor now sits low and flat, just above the PCB: Sensor soldered flush to the PCB
    5. To expose the sensor to ambient light, drill a 5mm hole into the 3D-printed cap on the far right, vertically centered as shown: 5mm hole drilled into the cap

    The sensor is auto-detected on whichever half you solder it to - no firmware option to enable. See the firmware readme for how it drives auto-brightness and proximity wake.

  2. (Optional) Fit the LED diffuser frame into the plate - do this first, before anything else touches the plate. Hold the frame under the plate so that each diffuser goes up through its own switch opening. Then slide the frame about 5.5mm, so that each diffuser moves out of the switch opening and into the half-round LED hole next to it, until every diffuser sits in its half-round. The caps on the top and bottom hold the plate between them, and the switches stop the frame from sliding back later, so no glue is needed. Do this while the plate is free: the slide needs the space under the plate, which the spacer fills once the plate is on it. Diffuser frame fitted into the left plate, top side and underside

  3. 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).

  4. 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.

  5. 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.

  6. 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

  7. Put the spacer on top. If you fitted the LED diffuser frame, this must be spacer_diffuser_frame.stl.

  8. 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

  9. 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.

  10. 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

  11. 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

  12. Insert the remaining key switches in the same way and check that the pins are visible as indicated above: All keys inserted

  13. 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.

  14. In case you have a case with revision r4 or higher it's now time to insert the hex nuts into the corners.

  15. 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/PolyKybd/keyboards/polykybd/readme.md and flash by first pressing the boot button and then connecting the USB-C while holding the button. After you connect, just release the button and copy the .hex file to the USB drive and 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.

  16. 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.

  17. 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.

  18. Insert the 4 hex screws and tighten them carefully. One halve assembled Now repeat with the other side ;)

  19. Connect the two halves with the short USB-C to USB-C cable.

  20. Finally connect the left side with the USB-C cable connecting to the host system and you are done!

  21. Congratulations! You made it! PolyKybd Split72 In case you experience any issues, please 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:

  • Currently, PolyKybd supports QMK as firmware. You can find a lot of information on https://docs.qmk.fm/
  • If you want to make use of any unicode input supporting character like emojis or characters like Æ, Ç, È etc. you need to select the input method of your operating system after pressing the Language selection key [ 🌐 ]:
    • [ Mac ] for unicode input on MacOS (Follow the MacOS directions)
    • [ Lnx ] for unicode input on Linux using I-BUS and compatible applications/window managers
    • [ BSD ] for unicode input on BSD (unimplemented in QMK, see QMK documentation)
    • [ Emcs ] for unicode input in Emacs (untested)
    • [ Win ] for unicode input on Windows until code point U+FFFF (basically excluding any emoji, additionally you might have to run reg add "HKCU\Control Panel\Input Method" -v EnableHexNumpad -t REG_SZ -d 1 to enable that feature on Windows)
    • [ WinC ] for unicode input via WinCompose (Please install WinCompose first)

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

Parts

161
QtyValueFootprintReferences
181uFCapacitor_SMD:C_0805_2012MetricC18, C19, C24, C25, C30, C31, C36, C37, C42, C43, C48, C49, C54, C55, C60, C61 +2
182.2uFCapacitor_SMD:C_0805_2012MetricC20, C21, C26, C27, C32, C33, C38, C39, C44, C45, C50, C51, C56, C57, C62, C63 +2
10WS2812B-Minipoly_kb:WS2812B-MiniLED_0, LED_1, LED_2, LED_3, LED_4, LED_5, LED_6, LED_7, LED_8, LED_9
9100nFCapacitor_SMD:C_0805_2012MetricC23, C29, C35, C41, C47, C53, C59, C65, C71
94.7uFCapacitor_SMD:C_0805_2012MetricC22, C28, C34, C40, C46, C52, C58, C64, C70
9Conn_01x01_FemaleConnector_PinHeader_1.00mm:PinHeader_1x01_P1.00mm_VerticalJ17, J20, J23, J26, J29, J32, J35, J38, J41
9Conn_01x01_MaleConnector_PinHeader_1.00mm:PinHeader_1x01_P1.00mm_VerticalJ18, J21, J24, J27, J30, J33, J36, J39, J42
9Conn_01x16poly_kb:FPC_16_AFC11-S16ICA-00J16, J19, J22, J25, J28, J31, J34, J37, J40
62k2Resistor_SMD:R_0805_2012MetricR9, R10, R11, R12, R13, R14
5100nCapacitor_SMD:C_0402_1005MetricC2, C3, C4, C5, C6
41uCapacitor_SMD:C_0402_1005MetricC7, C13, C14, C16
422Resistor_SMD:R_0805_2012MetricR16, R17, R18, R19
4MountingHole_PadMountingHole:MountingHole_4.3mm_M4_Pad_ViaH1, H2, H3, H4
31k5Resistor_SMD:R_0805_2012MetricR3, R20, R21
2100kResistor_SMD:R_0603_1608MetricR1, R2
220pCapacitor_SMD:C_0603_1608MetricC11, C12
230pCapacitor_SMD:C_0402_1005MetricC9, C10
274HCT595Package_SO:SOIC-16_3.9x9.9mm_P1.27mmU3, U4
2SolderJumper_2_OpenJumper:SolderJumper-2_P1.3mm_Open_TrianglePad1.0x1.5mmJP1, JP2
1/MRConnector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_VerticalJ5
1/OEConnector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_VerticalJ4
1100RInductor_SMD:L_0805_2012MetricFB1
110kResistor_SMD:R_0402_1005MetricR6
110nCapacitor_SMD:C_0402_1005MetricC8
132.768KHZpoly_kb:SMD-0832_4PY2
139nInductor_SMD:L_0402_1005MetricL1
14u7Capacitor_SMD:C_0603_1608MetricC1
15k1Resistor_SMD:R_0603_1608MetricR15
18MHZCrystal:Crystal_SMD_5032-2Pin_5.0x3.2mmY1
1ADC1Connector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_VerticalJ14
1BOOT0poly_kb:Switch_THTSW1
1BOOT1poly_kb:Switch_THTSW2
1D_SmallDiode_SMD:D_SOD-123FD1
1I2C1Connector_PinHeader_2.54mm:PinHeader_1x04_P2.54mm_VerticalJ6
1I2C2Connector_PinHeader_2.54mm:PinHeader_1x04_P2.54mm_VerticalJ7
1I2C3Connector_PinHeader_2.54mm:PinHeader_1x04_P2.54mm_VerticalJ11
1Key_Cols_1Connector_PinHeader_2.54mm:PinHeader_1x16_P2.54mm_VerticalJ3
1Key_Cols_2Connector_PinHeader_2.54mm:PinHeader_1x05_P2.54mm_VerticalJ2
1Key_RowsConnector_PinHeader_2.54mm:PinHeader_1x06_P2.54mm_VerticalJ1
1PowerLED_SMD:LED_0603_1608MetricD4
1RESETpoly_kb:Switch_THTSW3
1ResetLED_SMD:LED_0603_1608MetricD2
1SHIFTR_K10-K16+CConnector_PinHeader_2.54mm:PinHeader_1x08_P2.54mm_VerticalJ9
1SPI1Connector_PinHeader_2.54mm:PinHeader_2x04_P2.54mm_VerticalJ8
1SPI2Connector_PinHeader_2.54mm:PinHeader_2x04_P2.54mm_VerticalJ10
1SPI4Connector_PinHeader_2.54mm:PinHeader_2x04_P2.54mm_VerticalJ13
1STM32F303VCTxPackage_QFP:LQFP-100_14x14mm_P0.5mmU1
1SWDConnector_PinHeader_2.54mm:PinHeader_2x05_P2.54mm_VerticalJ15
1StatusLED_SMD:LED_0603_1608MetricD3
1UART3Connector_PinHeader_2.54mm:PinHeader_1x04_P2.54mm_VerticalJ12
1USBLC6-2SC6Package_TO_SOT_SMD:SOT-23-6U5
1USB_C_Plug_USB2.0Connector_USB:USB_C_Receptacle_Palconn_UTC16-GP1
1XC6206P332MRPackage_TO_SOT_SMD:SOT-23U2

Questions

How big is the Poly kb PCB?

It measures 116.8 × 86.4 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Poly kb use?

161 parts, built around the 74HCT595D, USBLC6-2SC6, XC6206P332MR and WS2812B-MINI-X2. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.

Where can I download the Poly kb KiCad files?

From the thpoll83/PolyKybd repository on GitHub, at the commit this page was made from: the board is backup/poly_kb/poly_kb.kicad_pcb. PCBKit opens the board in the browser, with nothing to install.

Can I use the Poly kb design in my own project?

Its repository publishes it under the CERN-OHL-W-2.0 licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).

More from thpoll83/PolyKybd

12
  • 2 layers494 × 142.9 mmPoly kb, the printed circuit board in 3D

    Poly kb

    thpoll83/PolyKybd

    PolyKybd

    915 parts411CERN-OHL-W-2.0
  • 2 layers32.9 × 119.1 mmConnector, the printed circuit board in 3D

    Connector

    thpoll83/PolyKybd

    PolyKybd

    60 parts411CERN-OHL-W-2.0
  • 2 layers42.9 × 19 mmPoly kb 2.25U, the printed circuit board in 3D

    Poly kb 2.25U

    thpoll83/PolyKybd

    PolyKybd

    43 parts411CERN-OHL-W-2.0

Similar boards

  • 2 layers182 × 129 mmPoly kb wave left, the printed circuit board in 3D

    Poly kb wave left

    kitspace-test-repos/kicad6-file-collection

    540 partsMIT
  • 4 layers54 × 54 mmPuchi pix card, the printed circuit board in 3D

    Puchi pix card

    yacchin1205/puchi-pix

    A tiny pixel art display kit powered by STM32G030F6P, with a 96x64 OLED (SSD1331) or TFT display.

    371 parts
  • 4 layers144 × 127 mmFrothfet, the printed circuit board in 3D

    Frothfet

    hoeken/frothfet

    Yarrboard load controller board with current sense, volt sense, fuses, and sender support.

    394 parts14GPL-3.0
  • 2 layers220 × 300 mmTransit, the printed circuit board in 3D

    Transit

    thebenedict/seattletransit-hardware

    Schematic and PCB for a circuit board map of Seattle area public transit.

    448 parts14CERN-OHL-W-2.0
  • 4 layers160.7 × 51.7 mmSendit, the printed circuit board in 3D

    Sendit

    hoeken/sendit

    ESP32 based ADC Input Multitool

    228 parts2GPL-3.0
  • 2 layers40 × 30 mmNOVA S3, the printed circuit board in 3D

    NOVA S3

    fubiniricci/NOVA-S3

    A 40 × 30 mm, two-layer ESP32-S3 development board, designed and generated programmatically from the official KiCad libraries with a custom grid-based auto-router.

    26 partsMIT
  • 4 layers88.2 × 38.5 mmMotion play main, the printed circuit board in 3D

    Motion play main

    moclei/motion-play

    Motion sensing project for fast moving objects moving through a plane. With directionality.

    93 parts