Skip to the content
PCBKitNew board
4 layers41.3 × 19 mmKeyword, the printed circuit board in 3D

A truly modular keyboard

Size
41.3 × 19 mm
Copper layers
4
Thickness
1.58 mm
Parts
79
Nets
87
Pads
310
Tracks, vias
390, 92
Pours
11
Routed
Yes
KiCad
KiCad 10.0 (file 20260206)
Created
19 Dec 2025
Updated
2 Nov 2026

Overview

Keyword is an open-source printed circuit board by notaroomba, from the notaroomba/keybytes repository on GitHub. It is a 4-layer board of 41.3 × 19 mm with 79 parts on 87 nets, routed with 390 tracks and 92 vias.

It is built around the W25Q16JVUXIQ, YZ13515055F-02025-02 and YZ37215050R-02025-05, with the BQ25895RTW, DFE252012P-1R0M=P2 and MLPF-WB-04D3 among its other parts. Its parts include 25 capacitors, 18 ICs, 13 resistors, 9 connectors and 2 inductors. It belongs with the keyboards and input boards and the STM32 boards of this library.

Main components

12

README

README.md


Keybytes

A truly modular keyboard with rearrangeable keys, magnetic cases and Bluetooth!

KiCad STM32 RISC-V Onshape Blender

Key Features • Video Demo • Connecting Keybits • PCB • Case • Credits • License

Keybytes

Video Demo

https://github.com/user-attachments/assets/19bec26d-6e01-4ee0-906e-7e69bace2f9c

Typing over USB:

https://github.com/user-attachments/assets/b6abd347-b68b-40f1-8e2d-c50744b8104e

Key Features

  • Rearrangeable layout where every key is its own 1u PCB
  • CH32V003 RISC-V microcontroller on every key
  • STM32WB55RGV6 main board with Bluetooth and USB
  • Pogo pins on all 4 sides of every key for power and I2C
  • Magnetic cases to hold the modules together
  • Key programming from the main board over pogo pins
  • 2MB QSPI flash (W25Q16JV) to store the key firmware
  • Battery charging with the BQ25895 and solder pads for a 1S LiPo
  • Buck-Boost converter (TPS631000)
  • RGB status LED
  • USB-C with ESD protection
  • Ceramic Bluetooth antenna

Connecting Keybits

Going around a keybit, the pogo pins on the N and W sides are 3.3V, SDA, GND, SCL and on the E and S sides they are SCL, GND, SDA, 3.3V. So two keybits only work together when an N or W side touches an E or S side, which gives every joint two ways a keybit can be turned and still work: the usual way, or a quarter turn so the other matching side faces its neighbour. The left and top of the keyword take an E or S side and the right takes an N or W side.

If every keybit is the same way round any shape works, like a square with the keyword in one corner. A keybit turned the wrong way gets 3.3V on its SCL and GND on its SDA, so it gets no power and nothing behind it shows up until it's turned.

Status LED:

  • White idle
  • White fast blinks a keybit joined, touching the keyword or further out
  • Blue flashing the keybit on the programming pins
  • Green blinks then green that keybit is flashed or already up to date
  • Solid red flashing it gave up
  • Red blinking a keybit on the keyword is turned the wrong way
  • Red double blink a keybit somewhere has a neighbour turned the wrong way

Updating keybits: the keyword carries the keybit firmware. After updating the keyword, put every keybit on the programming pins once and wait for green. Keybits on different firmware versions don't talk to each other, so do all of them.

PCB

Designed in KiCad! There are two boards, the Keybit and the Keyword, and both are 1u (19.05mm x 19.05mm).

Keybit

A single key with a Cherry MX switch and a CH32V003. Every side has pogo pins for 3.3V, GND and I2C so it can connect to the keyword or to other keybits, and the pads on the corners are for programming.

Schematic:

Keybit Schematic

Layout:

Keybit Layout

Keyword

The main board that the keybits connect to. It is split into two PCBs that stack on top of each other. The top one has the STM32WB55RGV6, the antenna and the flash, and the bottom one has the USB-C, the charger and the buck-boost converter. The 3 pogo pins on the top are for programming the keybits.

Schematic:

Keyword Schematic

Layout:

Keyword Layout

3D View:

Keyword 3D View Keyword 3D View

Case

Custom designed cases in Onshape, the STEP files are in the cad folder.

Keybit and Keyword cases assembled in Onshape

Credits

This project uses:

You may also like...

  • Ember - A USB-C powered reflow hotplate with Bluetooth
  • Cyberboard - A Raspberry Pi Pico-sized STM32 development board with Bluetooth
  • Trace - A comprehensive PCB ruler with reference footprints
  • Linea - An EMR tablet

License

MIT


notaroomba.dev  ·  GitHub @NotARoomba  · 

Parts

79
QtyValueFootprintReferences
9100nFCapacitor_SMD:C_0402_1005MetricC3, C25, C26, C27, C29, C30, C32, C34, C35
7TestPointTestPoint:TestPoint_Pad_D1.5mmTP1, TP2, TP3, TP6, TP7, TP8, TP9
6YZ00615050R-08lcsc:TESTPOINT-SMD_BD2.0-H5.0CN2, CN3, CN4, CN7, CN8, CN9
6YZ13515055F-02025-02lcsc:CONN-SMD_YZ13515055F-02025-02U4, U5, U6, U7, U13, U15
410uFCapacitor_SMD:C_0603_1608MetricC18, C20, C23, C37
3100RResistor_SMD:R_0402_1005MetricR12, R13, R14
310KResistor_SMD:R_0402_1005MetricR7, R8, R11
34.7uFCapacitor_SMD:C_0603_1608MetricC24, C28, C31
3YZ00615050R-08TestPoint:TestPoint_Pad_D2.0mmCN1, CN5, CN6
212pFCapacitor_SMD:C_0402_1005MetricC6, C9
21uFCapacitor_SMD:C_0402_1005MetricC33, C36
25.1KResistor_SMD:R_0402_1005MetricR1, R2
2YZ37215050R-02025-05lcsc:SMD_2P_YZ37215050R-02025-05U19, U20
110nHInductor_SMD:L_0603_1608MetricL2
110uHInductor_SMD:L_0603_1608MetricL1
11uFCapacitor_SMD:C_0603_1608MetricC16
122uFCapacitor_SMD:C_0603_1608MetricC21
12450AT18A100Elcsc:ANT-SMD_L3.2-W1.6AE1
1260RResistor_SMD:R_0402_1005MetricR4
130.1KResistor_SMD:R_0402_1005MetricR6
14.7uFCapacitor_SMD:C_0402_1005MetricC17
147nFCapacitor_SMD:C_0402_1005MetricC19
147uFCapacitor_SMD:C_0805_2012MetricC22
15.23KResistor_SMD:R_0402_1005MetricR5
1511KResistor_SMD:R_0402_1005MetricR9
191KResistor_SMD:R_0402_1005MetricR10
1BATNTestPoint:TestPoint_Pad_2.0x2.0mmTP5
1BATPTestPoint:TestPoint_Pad_2.0x2.0mmTP4
1BQ25895RTWPackage_DFN_QFN:Texas_RTW_WQFN-24-1EP_4x4mm_P0.5mm_EP2.7x2.7mm_ThermalViasU8
1DFE252012P-1R0M=P2lcsc:L1008U9
1MLPF-WB-04D3lcsc:CSPG-6_L1.6-W1.0-P0.50-TL_MLPF-WB-04D3U12
1NX2012SA-32.768KHZ-STD-MUB-2lcsc:CRYSTAL-SMD_L2.0-W1.2U3
1NX2016SA-32MHZ-STD-CZS-5lcsc:OSC-SMD_4P-L2.0-W1.6-BLX1
1STM32WB55RGVxPackage_DFN_QFN:QFN-68-1EP_8x8mm_P0.4mm_EP6.4x6.4mmU11
1TPD2EUSB30Package_TO_SOT_SMD:Texas_DRT-3U2
1TPS631000DRLRlcsc:SOT-583-8_L2.1-W1.2-P0.50-LS1.6-BLU18
1TYPE-C 16PIN 2MD(073)lcsc:USB-C-SMD_TYPE-C-6PIN-2MD-073USB1
1W25Q16JVUXIQlcsc:USON-8_L3.0-W2.0-P0.50-BL-EPU10
1XL-1608RGBClcsc:LED-SMD_4P-L1.6-W0.8-BLU14
1XRTC252012S2R2MBCAlcsc:IND-SMD_L2.5-W2.0-BU16

Questions

How big is the Keyword PCB?

It measures 41.3 × 19 mm and has 4 copper layers, 1.58 mm thick.

What parts does the Keyword use?

79 parts, built around the W25Q16JVUXIQ, YZ13515055F-02025-02, YZ37215050R-02025-05 and BQ25895RTW. 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 Keyword KiCad files?

From the notaroomba/keybytes repository on GitHub, at the commit this page was made from: the board is hardware/keyword/keyword.kicad_pcb and its schematic hardware/keybit/keybit.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Keyword design in my own project?

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

More from notaroomba/keybytes

3
  • 4 layers19.1 × 19 mmKeyword top, the printed circuit board in 3D

    Keyword top

    notaroomba/keybytes

    A truly modular keyboard

    45 parts444
  • 4 layers19.1 × 19 mmKeyword bottom, the printed circuit board in 3D

    Keyword bottom

    notaroomba/keybytes

    A truly modular keyboard

    36 parts444
  • 2 layers19 × 19 mmKeybit, the printed circuit board in 3D

    Keybit

    notaroomba/keybytes

    A truly modular keyboard

    23 parts444

Similar boards

  • 4 layers51 × 44 mmCyberboard Panel, the printed circuit board in 3D

    Cyberboard Panel

    notaroomba/cyberboard

    A cyberpunk-themed STM32 devboard

    138 parts20
  • 2 layers35.2 × 17.9 mmBluz lcd v1, the printed circuit board in 3D

    Bluz lcd v1

    Maniak003/BluZ

    Scintillation gamma-spectrometer

    97 parts3GPL-3.0
  • 4 layers48 × 33 mmStm32-bt board, the printed circuit board in 3D

    Stm32-bt board

    OdaiJ/stm32-bt-board

    My attempt at following the Phil's Lab KiCad V7 tutorial on YouTube

    60 parts1
  • 2 layers16 × 47 mmMini tracker, the printed circuit board in 3D

    Mini tracker

    PTR-projects/PTR_tracker_hardware

    75 parts10
  • 2 layers85.8 × 53.4 mmWtracker, the printed circuit board in 3D

    Wtracker

    supisbe12/Wtrack

    A PCB that tracks it's location using both bluetooth and gps system

    37 parts
  • 4 layers80 × 50 mmHarp.device.lickety split, the printed circuit board in 3D

    Harp.device.lickety split

    AllenNeuralDynamics/harp.device.lickety-split

    0360: an ephys-compliant capacitive lick detector

    193 parts5MIT
  • 4 layers80 × 100 mmHarp treadmill, the printed circuit board in 3D

    Harp treadmill

    AllenNeuralDynamics/harp.device.treadmill-driver

    0326: a Harp-compatible device for controlling an instrumented mouse treadmill

    173 parts4
  • 4 layers80 × 50 mmSniff detector, the printed circuit board in 3D

    Sniff detector

    AllenNeuralDynamics/harp.device.sniff-detector

    0382: Signal conditioning board for an implanted thermistor

    114 parts3MIT