I am always fascinated about mechanical keyboards. And a couple of weeks ago I had some spare time left. So I thought lets make my own keyboard from scratch from stuff that I had laying around en my 3d printer. Well maybe a full keyboard is to big, so let’s start with something smaller. Why not a numpad, that goes along with my 65% keyboard?
The end result are 2 numpad, yhea could stop with one ;) One numpad with a function row and RGB underglow. And a bigger numpad wit 2 function rows and a OLED display.
rgb numpad oled numpad
3D design
I started with looking around for existing 3d designs. I found one one tinkercad from FedorSosin. I remix the top plate to add function rows and a place for a oled display. This I did in tinkercad. The bottom/base part is a new design that also will fit a Raspberry Pico Pi. For the RGB one I sliced in a extra layer that I printed with transparent PLA and glued it to the top plate.
3d design RGB 3d design OLED 3D printing in action
Components
BOM of stuff that I used (had laying around) to create these numpads.
- Gateron brown switches
- RP2040, Pico Pi clone with USBC
- 0.96 inch OLED Display 128*x64
- WS2812 RGB LED strip
- PLA black and transparent (for RGB galore)
- Diodes 1n4148
- 5mm LED’s
- 470 Ohm resistors for the LED’s
- Shrinking tube
- Random wiring
Handwire
I handwired the switches, not the best soldering job, but for a prototype it’s working fine. handwiring can look daunting, but when you are into it, it’s pretty easy.

Wiring OLED

Wiring Diagram
QMK Firmware

The RP2040 is now supported in QMK firmware. KMK should also work, but with KMK I could get the OLED display to work. So I used QMK with VIA support.
You can find the QMK files on my Github page.
I am using also layer support, the keypad also doubles as a mouse, navigations and macro’s. The oled gives info about the lock status and which layer I am on.

OLED Display
Desktop
Now I have a companion for my 65% keyboard.

65% keyboard and the macro numpad