Skip to the content
2 layers15.5 × 15.5 mmKeycap, the printed circuit board in 3D

PCB with a neopixel for handwired keyboards.

Size
15.5 × 15.5 mm
Copper layers
2
Thickness
1.6 mm
Parts
14
Nets
7
Pads
21
Tracks, vias
81, 12
Pours
2
Routed
Yes
KiCad
KiCad 5 (file 20171130)
Created
20 May 2021
Updated
16 Aug 2021

Overview

Keycap is an open-source printed circuit board by PitBarber, from the PitBarber/PCB_for_HandwiredKeyboards repository on GitHub, published under the GPL-3.0 licence. It is a 2-layer board of 15.5 × 15.5 mm with 14 parts on 7 nets, routed with 81 tracks and 12 vias.

Its parts include 10 connectors, 1 capacitor, 1 diode and 1 switch. It belongs with the keyboards and input and lEDs and displays boards of this library.

README

README.md

PCB for Handwired Keyboards

About this repo:

text
Files you can find here are only the kicad project about the PCB design, 
3D design or entire keyboard firmware will be linked in this description.

Why?

This project provides to handwired keyboards a support to have underglow keycaps. PCBs was designed for keyboard with different form factors, for example: dactyl manuform. Its geometry makes makers hard to desing flexible PCBs, and them could be available only for some kind of dactyl manuform. These 15mmx15mm PCBs are near to size of a keyboard Switch, so there can be placed in any custom keyboard, if a switch fits, a PCB will do it so, this is suitable for customizable keyboards. Every PCB was designed with a LED neopixel, 100nF capacitor and a 1n4148 diode.

3D design used in this project - 5x6 dactyl manuform 3D design por 3D printing by @joseandres42

In case you want to use the same design, @joseandres42 has a spanish dvorak layout for this version of dactyl manuform right in this forked repo

The PCB

Handsoldering entire PCB is possible and i did it with the 62 PCBs.

Top of the PCB only has the builtin SK6812 4020 neopixel, they can be mounted sized or faceup. Footprint isn't in kicad's official libraries ( a merge will be done).

Bottom has a 100nF capacitor, necesary for the neopixel, a 1n4148 diode, for ROW to COL wiring ( remember it for the QMK config) and finally, the connection pads:

  • VCC: 3.3-5v high level voltage node.
  • DIN: Data In of the neopixel.
  • DOUT: Data Out of the neopixel.
  • GND: Ground node.
  • COL: Column node.
  • ROW: Row node.

PCB TECHNICAL INFORMATION:

I will show you some technical data about boad sizes and LED SK6812 footprint:

Here you can see the size of the pcb, distance between pads and pads size.

Now, important information about SK6812 footprint, pads and sizes:

This information is directly collected from official SK6812 SIDE 4020 datasheet

Footprint was designed using the FootPrint editing Tool provided by Kicad.

Wiring

COL wiring:

ROW wiring:

This is the wiring in the lefthand keyboard, the righthand will be the same, but mirrored.

About the neopixel wiring, every DOUT is connected to de next DIN PCB node.

Be carefull with VCC and GND propagation, dont do it lineal, i mean, you can connect VCC and GND eachother, no matters the order. But if you only have one connection to VCC at start and VCC propagates linear througt PCB it will experiment a fall of ~0.3V that will cause some fliker due to less voltage feeding.

Best light brightness is between 80-110/255 when you config the lights in QMK.

QMK neopixel documentation- Neopixel animations and configuration tips

Config Example
text
#define DIODE_DIRECTION COL2ROW

// WS2812 RGB LED strip input and number of LEDs
#define	RGB_DI_PIN F4
#define	RGBLED_NUM 31

/* number of backlight levels */
#define RGBLIGHT_LIMIT_VAL 100
#define BACKLIGHT_LEVELS 3

More information at the provided link before.

Firmware:

QMK Firmware - keyboard firmware based on the tmk_keyboard firmware

Final Results:

Videos:

Final result + ASMR siwtch video.

Dactyl Manuform with lights

Parts

14
QtyValueFootprintReferences
10Conn_01x01_FemaleConnector_Wire:SolderWirePad_1x01_SMD_1x2mmJ1, J2, J3, J4, J5, J6, J7, J8, J9, J10
10.1uFCapacitor_SMD:C_1206_3216MetricC1
11N4148Diode_SMD:D_SOD-323_HandSolderingD1
1SW_Push_OpenButton_Switch_Keyboard:SW_Cherry_MX_1.00u_PlateSW1

The 13 most common of 14 parts.

Similar boards

  • 2 layers116.8 × 30 mmType d, the printed circuit board in 3D

    Type d

    google/mozc-devices

    Circuit diagrams and firmware source code for Gboard DIY keyboards

    14 parts3kApache-2.0
  • 2 layers32 × 22 mmDiff driver, the printed circuit board in 3D

    Diff driver

    rene-dev/stmbl

    AC Servo Driver for STM32F4

    14 parts990GPL-3.0
  • 2 layers34 × 45 mm2032Charger, the printed circuit board in 3D

    2032Charger

    hackclub/OnBoard

    💡 Join 1,000 teenagers and make your first PCB with a $100 grant!

    14 parts915
  • 2 layers34 × 109.9 mmTdisplay s3, the printed circuit board in 3D

    Tdisplay s3

    landonr/homeThing

    Wifi Smart Home Remotes that run on ESPHome

    14 parts551GPL-3.0
  • 2 layers45.3 × 42.7 mmMainPcb, the printed circuit board in 3D

    MainPcb

    adamb314/ServoProject

    Getting the most out of your hobby servo

    14 parts545
  • 2 layers42.5 × 28.8 mmC5VRX JACK DIY, the printed circuit board in 3D

    C5VRX JACK DIY

    Twotoz/C5VRX

    Ultra-minimal, zero-CPU 5.8 GHz analog FPV video receiver using ESP32-C5 Wi-Fi 6 PHY MODEM_DIAG, BitScrambler WBFM demodulation & resistor DAC CVBS

    14 parts515GPL-3.0
  • 2 layers62 × 24 mmMai button, the printed circuit board in 3D

    Mai button

    whowechina/mai_pico

    Pico controller for Maimai

    14 parts475

Questions

How big is the Keycap PCB?

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

What parts does the Keycap use?

14 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 Keycap KiCad files?

From the PitBarber/PCB_for_HandwiredKeyboards repository on GitHub, at the commit this page was made from: the board is keycap/keycap.kicad_pcb. PCBKit opens the board in the browser, with nothing to install.

Can I use the Keycap design in my own project?

Its repository publishes it under the GPL-3.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).