Skip to the content
2 layers304 × 135.4 mmTknbrd, the printed circuit board in 3D

my first custom mechanical keyboard

Size
304 × 135.4 mm
Copper layers
2
Thickness
1.6 mm
Parts
139
Nets
119
Pads
530
Tracks, vias
1,348, 139
Pours
603
Routed
Yes
KiCad
KiCad 8.0 (file 20240108)
Created
29 Sep 2024
Updated
19 Dec 2024

Overview

Tknbrd is an open-source printed circuit board by tikinson, from the tikinson/tknbrd0 repository on GitHub. It is a 2-layer board of 304 × 135.4 mm with 139 parts on 119 nets, routed with 1,348 tracks and 139 vias.

It is built around the 1N4148WT. Its parts include 42 diodes, 42 switches, 1 IC and 1 connector. It belongs with the keyboards and input boards and the RP2040 boards of this library.

Main components

1

README

readme.md

tknbrd0

Intro

( !ACHTUNG! work in progress, use by your own risk! )

After a couple of sleepless nights, I decided to get my hands dirty with this sweet and diverse world of mechanical keyboards. As i understood on my way to my current daily driver it's quite interesting challenge. My main idea was to make a cheap keyboard, that can guide me forward in this hobby.

keeb keeb

So, i made a rough sketch of the location of my fingers to understand how far i must go with ergogen and then use spacing of switches in KiCad to make a PCB. Also this isn't a bad idea to play around with encoders and small OLED display in my project. As it usually almost everytime happens with first try, i made some mistakes ( learned some lessons :D ) and realize this after i got PCBs from manufacturer. It's not critical, but in some points it could be just unexpectable for those, who would repeat my project.

By the way here is PCBs appearance:

keeb

WPM and remix of bongo cat animation is showing on my OLED (of course with picture of my cat instead of original one!). With encoders i can scroll my feed, and also fast forward/backward the YouTube videos by 5 seconds. Encoders is very interesting feature in keyboards and detailed explanation of this you can check in QMK Docs.

important note: in first version of my schematics, unfortunately, encoders works not so stable as expected... sometimes for correct working keyboard must be rebooted.

Keymap

My keyboard has a 42 keys, and it planned to use with QWERTY layout. For me is also iportant to have access to ukrainian letter Ґ, Ї, and some umlaut letters Ä, Ö, Ü. I have now a laptop with QWERTZ layout, so have a keyboard with comfortable QWERTY is must have for me. So here is the keymap:

Keymap

Case

In file 'path_for400x300.svg' in this repo you can find a complete graphical outline for lasercutted case. I used a 3 mm acrylic sheet and laser in local FabLab.

Firmware

I created a fork of QMK firmware here and here is tknbrd0 is located inside of QMK fork.

So you can compile firmware from fork or you can find binaries in 'FW' directory of this repo.

Some important notes

  1. Footprint for OLED is mirrored, so i use wires and simple pair of acrylic pieces to hold it with glue (really not a clearest design decision, but it just a first experience, so when it works it works).
  2. Case: it's very important to solder RPI Pico a bit higher that it could be to prevent collision with acrylic case!!!
  3. Encoders may have strange behaviour because they are connected to one pin. it was a bad decision and when reset keyboard isn't working i just rotate them together for first and then separately, so after this magical manipulation they works as usual.

BOM (Bill of materials)

Interactive BOM could be handy in assembling process and you can find it here

DesignatorFootprintQuantityValueLCSC Part #
D1 - D42Diode_SOD-12342DiodeC83528
EXSW1, EXSW2RotaryEncoder_Alps_EC11E-Switch_Vertical_H20mm_CircularMountingHoles2RotaryEncoder_SwitchC1322543
J1OLED_128x64 (I2C version)1Conn_01x04
S1 - S42MX_PCB_1.00u42Keyswitch
U1Raspberry_Pi_Pico1Raspberry_Pi_Pico
rD1D_SOD-52311N4148WTC232841
rLED1 - rLED42YS-SK6812MINI-E-withCUTOUT42YS-SK6812MINI-EC5149201
aluminum spacer M2(standoff)MountingHole_4.3mm_M4_ISO145808standoff

Lasercutting, Knob, Switches all this you can easily find on market on your personal preferences. All that included in BOM is recommended, only LED is optional.

Parts

139
QtyValueFootprintReferences
42DiodeScottoKeebs_Components:Diode_SOD-123D1, D2, D10, D11, D12, D13, D14, D15, D16, D17, D18, D19, D20, D21, D22, D23 +26
42KeyswitchScottoKeebs_MX:MX_PCB_1.00uS1, S2, S10, S11, S12, S13, S14, S15, S16, S17, S18, S19, S20, S21, S22, S23 +26
42YS-SK6812MINI-Ecutsky:YS-SK6812MINI-E-withCUTOUTrLED1, rLED2, rLED10, rLED11, rLED12, rLED13, rLED14, rLED15, rLED16, rLED17, rLED18, rLED19, rLED20, rLED21, rLED22, rLED23 +26
2RotaryEncoder_SwitchRotary_Encoder:RotaryEncoder_Alps_EC11E-Switch_Vertical_H20mm_CircularMountingHolesEXSW1, EXSW2
11N4148WTDiode_SMD:D_SOD-523rD1
1Conn_01x04ScottoKeebs_Components:OLED_128x64J1
1Raspberry_Pi_PicoScottoKeebs_MCU:Raspberry_Pi_PicoU1

The 131 most common of 139 parts.

Similar boards

  • 2 layers181 × 97 mmOpenDeck r3.1.2, the printed circuit board in 3D

    OpenDeck r3.1.2

    shanteacontrols/OpenDeck

    A platform for building interactive control and sensing devices using MIDI and OSC built with Zephyr RTOS.

    262 parts960Apache-2.0
  • 2 layers255.9 × 99.3 mmZerosprey42, the printed circuit board in 3D

    Zerosprey42

    beekeeb/zerosprey42

    Zerosprey42 Keyboard is a wired, beginner friendly, choc hotswap, MonoBlockSplit (Unibody), column-staggered, DIY mechanical keyboard.

    96 parts140
  • 4 layers65 × 56.5 mmSH RPi, the printed circuit board in 3D

    SH RPi

    hatlabs/SH-RPi-hardware

    Sailor Hat for Raspberry Pi hardware design files

    168 parts56
  • 2 layers59.6 × 42 mmMacropad synthplug mk2, the printed circuit board in 3D

    Macropad synthplug mk2

    todbot/macropadsynthplug

    Turn StemmaQT port by into Audio Out + MIDI In

    43 parts53CC0-1.0
  • 4 layers47 × 39.5 mmStealthburner Toolhead PCB, the printed circuit board in 3D

    Stealthburner Toolhead PCB

    acha666/RP2040_ToolheadPCB_SB

    A Toolhead PCB for VORON StealthBurner based on RP2040

    145 parts43GPL-3.0
  • 2 layers271.8 × 103.9 mmHotswap ble, the printed circuit board in 3D

    Hotswap ble

    ebastler/cornholius

    ZMK-based replacement PCB for Cornelius keyboard

    146 parts37
  • 2 layers275.5 × 92 mmOlice, the printed circuit board in 3D

    Olice

    floookay/olice

    The olice is 40% alice-like ortho keyboard. It features two board extension modules that can be magnetically attached on the sides.

    115 parts33
  • 4 layers35.5 × 14.5 mmComplete v1.0, the printed circuit board in 3D

    Complete v1.0

    drpykachu/Sonar-Watch

    A self-designed, home-made watch intended to tell time in a funky and unique way!

    225 parts23

Questions

How big is the Tknbrd PCB?

It measures 304 × 135.4 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Tknbrd use?

139 parts, built around the 1N4148WT. 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 Tknbrd KiCad files?

From the tikinson/tknbrd0 repository on GitHub, at the commit this page was made from: the board is tknbrd.kicad_pcb and its schematic tknbrd.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Tknbrd design in my own project?

Its repository states no licence, so its author keeps all rights: ask tikinson before reusing the design.