Skip to the content
PCBKitNew board
2 layers269 × 101.4 mmKb pcb, the printed circuit board in 3D

Full design files for antonok's custom keyboard

Size
269 × 101.4 mm
Copper layers
2
Thickness
1.6 mm
Parts
151
Nets
90
Pads
963
Tracks, vias
914, 43
Pours
2
Routed
Yes
KiCad
KiCad 5 (file 20171130)
Created
27 Oct 2017
Updated
4 May 2019

Overview

Kb pcb is an open-source printed circuit board by antonok-edm, from the antonok-edm/kb repository on GitHub. It is a 2-layer board of 269 × 101.4 mm with 151 parts on 90 nets, routed with 914 tracks and 43 vias.

Its parts include 68 diodes, 68 switches, 14 resistors and 1 IC. It belongs with the keyboards and input boards and the AVR (ATmega, ATtiny) boards of this library.

README

README.md

kb

This repository contains the full design files for my custom-designed keyboard.

Features:

  • 68 keys
  • compact ortholinear format
  • carbon fiber construction
  • full on-the-fly programmability
  • HID Mouse functionality
  • MIDI functionality
  • Built-in Colemak layout
  • 14-key HID rollover
  • n-key MIDI rollover
  • multiple function layers

My setup

The keyboard's layouts are designed to be reprogrammed as needed. The user is free to assign keys to any HID-compliant controls or internal function calls at will. In this section, I describe the layouts that I use, included as a sample in this repository.

I currently have 7 different layers defined on my keyboard: Colemak, Qwerty, MIDI, Fn, Layer-Up, Layer-Down, and Mouse.

MIDI has a 4x12 grid of chromatic MIDI keys, providing 4 octaves of pitch-shiftable notes.

Fn has all standard function keys, as well as keyboard-internal functions like switching between layers.

Layer-Down puts symbols for programming, such as parenthesis and braces, on the home row so that they can be accessed more easily.

Layer-Up has a numpad.

Mouse puts cursor controls on the right side of the keyboard, with cursor speed controls operated by the left hand.

Customizing the keyboard

The tool kb-layout-manager was created to make layout customization extremely easy and intuitive. Manual customization is still possible by modifying the layermaps.c file.

layermaps.c includes the behavior of every key. Each key can take one of the following functions:

FunctionDescriptionExamples
HIDAny standard keyboard keya, 1, ;
MODAt least one standard keyboard modifierLeft shift, Right control
MIDIAny MIDI pitchC0 to G10
TOGGLESwitch to a different layerChange to MIDI layer, switch to QWERTY layout
TARGETSwitch to a different layer while the key is held (modifier-style)Access FN keys, use temporary layer shifts
FUNCAny arbitrary predefined function from the firmwareshift MIDI pitch, switch function layer
CLICKExecute a click an HID mouse buttonleft click, middle click, forward/back
MOUSEMove the mouse cursorhorizontal or vertical
SCROLLMouse scroll or panhorizontal or vertical
HIDMODAny standard keyboard key combined with at least one standard keyboard modifierctrl+shift+m, {, ?

Once modifications have been made to a layout, the firmware can be reflashed to the keyboard using the standard Teensy programmer over USB. The Teensy's bootloader can be accessed without taking apart the keyboard by pressing a predefined key combination. The entire reflashing process takes about 3 seconds in total.

Want to use this for your own keyboard?

If this project is useful at all for you, I'd love to hear about it!

The firmware is optimized for my own personal setup, but could be tweaked with minimal effort to suit different hardware. Please feel free to submit an issue, and I would be happy to provide assistance with this.

License information

Files from the LUFA library are released under the MIT license. My custom design files are released under version 3 or later of the GPL. License information for the LUFA library is available at www.lufa-lib.org.

Parts

151
QtyValueFootprintReferences
68DDiode_THT:D_DO-35_SOD27_P7.62mm_HorizontalD1, D2, D10, D11, D12, D13, D14, D15, D16, D17, D18, D19, D20, D21, D22, D23 +52
64cherry-mx-switch-revisedmodded_keyboard_components:key_1uS1, S2, S10, S11, S12, S13, S14, S15, S16, S17, S18, S19, S20, S21, S22, S23 +48
14RResistors_Universal:Resistor_SMD+THTuniversal_0805to2512_RM10_HandSolderingR1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13, R14
2cherry-mx-switch-revisedmodded_keyboard_components:key_1.75uS61, S63
2cherry-mx-switch-revisedmodded_keyboard_components:key_1.25uS62, S64
1TEENSY2.0teensy:Teensy2.0U1

Questions

How big is the Kb pcb PCB?

It measures 269 × 101.4 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Kb pcb use?

151 parts. 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 Kb pcb KiCad files?

From the antonok-edm/kb repository on GitHub, at the commit this page was made from: the board is pcb/kb-pcb.kicad_pcb. PCBKit opens the board in the browser, with nothing to install.

Can I use the Kb pcb design in my own project?

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

Similar boards

  • 2 layers60 × 126.6 mmV3 Connector + IRLED, the printed circuit board in 3D

    V3 Connector + IRLED

    PiTracLM/PiTrac

    Launch monitor using low-cost raspberry pi and camera hardware to determine ball launch speed, angles and spin. See https://discord.gg/vGuyAAxXJH (permalink)

    151 parts439GPL-2.0
  • 2 layers285 × 94.2 mmKeyboard wabble-60, the printed circuit board in 3D

    Keyboard wabble-60

    rgoulter/keyboard-labs

    Repo with my PCB designs and keyboard firmware

    151 parts236
  • 2 layers250 × 10 mmRgbwstrip120 250, the printed circuit board in 3D

    Rgbwstrip120 250

    cnlohr/cnhardware

    My dumping grounds for all my kicad projects and random hardware bringup.

    151 parts114
  • 2 layers96.3 × 95.9 mmLergo, the printed circuit board in 3D

    Lergo

    AxelVoitier/keebs

    Axel's keebs

    151 parts71
  • 2 layers101.6 × 147.3 mmKarabas pro revC1, the printed circuit board in 3D

    Karabas pro revC1

    andykarpov/karabas-pro

    FPGA based retrocomputer with FDD and HDD controllers

    151 parts37MIT
  • 2 layers242.3 × 75.4 mmM3n3van, the printed circuit board in 3D

    M3n3van

    matthewdias/m3n3van

    A minivan case compatible PCB with 2x3u split space

    151 parts20MIT