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

A truly modular keyboard

Size
19.1 × 19 mm
Copper layers
4
Thickness
1.58 mm
Parts
45
Nets
65
Pads
175
Tracks, vias
210, 67
Pours
8
Routed
Yes
KiCad
KiCad 10.0 (file 20260206)
Created
19 Dec 2025
Updated
2 Nov 2026

Overview

Keyword top is an open-source printed circuit board by notaroomba, from the notaroomba/keybytes repository on GitHub. It is a 4-layer board of 19.1 × 19 mm with 45 parts on 65 nets, routed with 210 tracks and 67 vias.

It is built around the W25Q16JVUXIQ, MLPF-WB-04D3 and NX2012SA-32.768KHZ-STD-MUB-2, with the XL-1608RGBC, YZ00615050R-08 and 2450AT18A100E among its other parts. Its parts include 18 capacitors, 6 connectors, 5 resistors, 5 ICs and 2 inductors. It belongs with the keyboards and input boards and the STM32 boards of this library.

Main components

7

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

45
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
410pFCapacitor_SMD:C_0402_1005MetricC1, C2, C6, C9
3100RResistor_SMD:R_0402_1005MetricR12, R13, R14
34.7uFCapacitor_SMD:C_0603_1608MetricC24, C28, C31
3YZ00615050R-08TestPoint:TestPoint_Pad_D2.0mmCN1, CN5, CN6
3YZ00615050R-08lcsc:TESTPOINT-SMD_BD2.0-H5.0CN7, CN8, CN9
21uFCapacitor_SMD:C_0402_1005MetricC33, C36
24.7KResistor_SMD:R_0402_1005MetricR8, R11
110nHInductor_SMD:L_0603_1608MetricL2
110uHInductor_SMD:L_0603_1608MetricL1
12450AT18A100Elcsc:ANT-SMD_L3.2-W1.6AE1
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
1W25Q16JVUXIQlcsc:USON-8_L3.0-W2.0-P0.50-BL-EPU10
1XL-1608RGBClcsc:LED-SMD_4P-L1.6-W0.8-BLU14

More from notaroomba/keybytes

3
  • 4 layers41.3 × 19 mmKeyword, the printed circuit board in 3D

    Keyword

    notaroomba/keybytes

    A truly modular keyboard

    79 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 layers74.5 × 70.3 mmNest mini v2-drop in pcb, the printed circuit board in 3D

    Nest mini v2-drop in pcb

    iMike78/nest-mini-drop-in-pcb

    Drop-in PCB replacement for the Google Nest Mini v2 with ESP32-S3, ESP32-P4 and optional ESP32-C6. Inspired by Onju Voice and Home Assistant Voice PE.

    229 parts628CERN-OHL-S-2.0
  • 4 layers150 × 50 mmEmber, the printed circuit board in 3D

    Ember

    notaroomba/ember

    A custom hot plate powered by USB-C Power Delivery.

    136 parts25
  • 8 layers35 × 35 mmOpenAIO, the printed circuit board in 3D

    OpenAIO

    OpenDrone-hw/OpenAIO

    Open-source AIO for 2-6S toothpick quads: flight controller, 4-in-1 AM32 ESC and ExpressLRS receiver, 25.5x25.5 mm.

    343 parts19CERN-OHL-S-2.0

Questions

How big is the Keyword top PCB?

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

What parts does the Keyword top use?

45 parts, built around the W25Q16JVUXIQ, MLPF-WB-04D3, NX2012SA-32.768KHZ-STD-MUB-2 and XL-1608RGBC. 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 top KiCad files?

From the notaroomba/keybytes repository on GitHub, at the commit this page was made from: the board is hardware/keyword/keyword_top.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 top design in my own project?

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