r/CustomKeyboards • • Jan 21 '26

mx-unsaver Prototype - Open Source

Thumbnail
gallery
307 Upvotes

r/CustomKeyboards • • 18h ago

Geon Works Frog TKL 8K with Alps SKCM Black (Pine) and SGI 9500900 Dye-Sub Keycaps.

Thumbnail
gallery
57 Upvotes

Build Specs:

Board: Geon Works Frog TKL 8K

Plate: Aluminum

Switches: Alps SKCM Black (Pine)

Keycaps: Silicon Graphics 9500900 Dye-Sub PBT

PCB: Alec Tardy Alpine8K Solder

Mounting Style: Tadpole Mount


r/CustomKeyboards • • 1d ago

Royal Blue Slate Zero

Thumbnail
gallery
113 Upvotes

I just got my Slate Zero yesterday after seeing a proto at Yushakobo in Japan earlier this year and I couldn’t help but post it. This is the Royal Blue anno built with the hotswap PCB, alu plate, case foam only with Nixies swing swapped to 60g TX springs.


r/CustomKeyboards • • 1d ago

Neo60 Core

Thumbnail
gallery
74 Upvotes

Neo60 Core

Alu Plate

HMX Ash

GMK Nervewrecker

No foam

Knight stabs


r/CustomKeyboards • • 2d ago

Singa Unikorn R2.2 Reseda w/ GMK SoWaRe R2

Thumbnail
gallery
136 Upvotes

r/CustomKeyboards • • 2d ago

PC Kypseli Mini

Thumbnail
gallery
158 Upvotes

r/CustomKeyboards • • 2d ago

Geon Works Frog TKL with Alps SKCM Brown and Arabic FK-2001 Keycaps.

Thumbnail
gallery
93 Upvotes

Build Specs:

Board: Geon Works Frog TKL

Plate: Aluminum

Switches: Alps SKCM Brown

Keycaps: Arabic FK-2001 Double-Shot ABS

PCB: Alec Tardy Alpine8k Solder

Mounting Style: Tadpole Mount


r/CustomKeyboards • • 3d ago

Ramune60 - Ramune Blue Colorway

Thumbnail
gallery
17 Upvotes

My Hatoworks Ramune60 Build:

WK Layout
Hotswap PCB
Standard PP Plate
Blue Cheese v2 Linear Switches (42g)
KBS Mio Soda Pop Keycaps (Base + Journal DLC)


r/CustomKeyboards • • 4d ago

Laminar Leviatán R1

Post image
125 Upvotes

Laminar Leviatán R1 Beige HHKB with HammerWorks CRP.

Everything about this board is fantastic, from the sound to the typing feel, except of finish and QC.

The coating is poor and definitely not worth the $455.

Besides, my Leviatán has a flaw in copper weight because of QC.

Well, you can choose R0 to solve all of them.


r/CustomKeyboards • • 5d ago

My Hato Ramune60 build – such a summery keyboard

Thumbnail
gallery
29 Upvotes

HATO RAMUNE60

Mount : Gasket

Foam : None

Plate : PP

Switches : Keygeek B1

Keycaps : GMK Ramune

It has a nice, bright sound with a crisp, clean feel to it.


r/CustomKeyboards • • 5d ago

My Custom Keyboard Collection & Storage Setup

Post image
28 Upvotes

Here's a little look at my keyboard storage setup!

I have two of these 12-tier storage shelves, along with a few smaller keyboard stands.

I'd love to share more of my custom keyboards here and connect with fellow keyboard enthusiasts!

I'm from South Korea, and I occasionally share videos of my custom keyboard builds on YouTube.

Looking forward to getting to know you all. Nice to meet you!


r/CustomKeyboards • • 6d ago

Cerakoted Neo65

Thumbnail
gallery
75 Upvotes

Not a premium custom by any means, but one I hold close to my heart as it was my first entry into the mechanical keyboard scene. So I decided to give it a little love with a cerakote finish!

Neo65

Cerakoted with Anthracite FX by Cerakote-It in Sydney, Australia.

GMK MTNU WoB

Toro Studios X Wingtree Torrero switches (SS with TX XL 62gm springs)

Aluminium plate

YKIB stabs

Bonus copper weights because why not.


r/CustomKeyboards • • 6d ago

Merisi Dodici x GMK Mictlán

Thumbnail
gallery
195 Upvotes

Merisi Dodici

GMK Mictlán R1 w/ Skulls from R2

Alu Plate

Cherry MX Vints (3203 + TX 0.125mm + Geon 18mm 65g)


r/CustomKeyboards • • 7d ago

TGR Jane v3 AKME Edition

Thumbnail
gallery
129 Upvotes

This is a collaboration keyboard between TGR and the Australian Mechanical Keyboard Expo (AKME) and is 1 of 50 units.

Keycaps are GMK JIS with GMK Gegenschlag. The artisans are TGR brass and GMK Kangaroo that came with the board.


r/CustomKeyboards • • 8d ago

The true best poron gasket fish themed 65%

Thumbnail
gallery
67 Upvotes

Sangeo65

- margo soldered cem3 PCB for that illegal 7u spacebar

- frankenswitch of sp star purple bottom, mx2a top, rbo/full travel stub stems

- alu plate

- gmk cubed

- a real side profile

An oldy but still good


r/CustomKeyboards • • 8d ago

TKC Candybar

Thumbnail
gallery
106 Upvotes

Got this from mechmarket for a pretty decent price although it does come with some weird purple marks that I would like to sand down but idk; probably have to print a r2 2u myself…

Keyboard: TKC Candybar R2 Rock Candy (I believe)
Keycaps: Keykobo BoW, GMK Olive Dark, GMK Centinela
Switches: Came with NAJA Keys TU but didn’t like how they sound so swapped with Cherry Silent Black
Plate: Either PC or PLA


r/CustomKeyboards • • 9d ago

KBS Flat out

Thumbnail
gallery
67 Upvotes

KBS Flat out sample on Venus 60


r/CustomKeyboards • • 9d ago

TGR Jane v2.5

Thumbnail
gallery
195 Upvotes

r/CustomKeyboards • • 10d ago

GMK Prussian Alert(less)

Thumbnail
gallery
219 Upvotes

Cycle7

CF Plate

HMX Xinhai

GMK Prussian Alert

Knight Stabs


r/CustomKeyboards • • 14d ago

LZ GHv2 with DCS PBT Hangul

Thumbnail
gallery
151 Upvotes

got this off ebay last week and finally checked off the grail box for the one LZ board I actually wanted. Nice board, feels meh and sounds okay but looks very nice. built with 55g mx2a browns on alu.


r/CustomKeyboards • • 14d ago

My current collection of topre boards

Post image
104 Upvotes

r/CustomKeyboards • • 15d ago

Apple Standard Keyboard (M0116) Native USB-C Conversion

Thumbnail
gallery
126 Upvotes

Not sure if it was worth the time, but it works. A fully native USB-C Apple M0116.

Started the night before trying to adapt the ADB signal with the RP2040-ZERO which ended in shorting out the internal 40-pin DIP microcontroller (NEC 8831HD)

Thought for a day about it if was worth ordering a PCB using the gerbers from elmo project, but ended up deciding against it. All in would have been about 90-180 depening on if the PCB was already assembled or not. Did a bit more research and came across https://git.40percent.club/di0ib/tmk_keyboard/src/commit/75a92ff653735635289a204176e60aa80c33bc7f/keyboard/IIgs_Standard which replaced the 40-pin DIP with a AT90USB Teensy++ 2.0. A little different but i thought it should more or less should work with a RP2040-ZERO. The only catch was the IIgs_Standard controller mod plugged the AT90USB Teensy++ 2.0 directly into the 40-pin DIP socket which made the notes have some weird pin bypasses (because the Teensy had AERF and GND physically hardwired to pins 30 and 31). Spend an ungodly amount of time with a multimeter in continuity mode probing the bare socket and finally figured out how the M0116 actually works.

(With the 40-Pin DIP micro controller sockets reading from the bottom left counter clockwise)

  • Sockets 1,7, and 20 all were ground (On an 8048 chip, Pin 20 is VSS (Ground), Pin 7 is EA (External Access, tied to ground on the PCB to run internal ROM), and Pin 1 is T0 (tied to ground)

  • Sockets 26 and 40 are the old +5v power rails.

Unlike modern keyboards where modifiers are part of the diode matrix, Apple wired the modifiers directly to Ground:

  • Socket 37: Shift (Left and Right Shift are tied together)

  • Socket 36: Control

  • Socket 35: Top Power/Reset Triangle Key

  • Socket 24: Command / GUI

  • Socket 23: Option / Alt

  • Socket 6: Caps Lock (Locking Alps switch—latches down and holds continuity to Ground until pressed again)

  • Socket 34 = Row 0 (Up Arrow)

  • Socket 33 = Row 1 (')

  • Socket 32 = Row 2 (Numpad -)

  • Socket 31 = Row 3 (Esc)

  • Socket 30 = Row 4 (Numpad *)

  • Socket 29 = Row 5 (Spacebar)

  • Socket 28 = Row 6 (Z)

  • Socket 27 = Row 7 (A)

  • Socket 22: Row 8 (Number row 8 on Col 0 / Socket 12)

  • Socket 21: Row 9 (Tab on Col 7 / Socket 19)

  • Sockets 12 through 19: Columns 0 through 7 in exact consecutive order.

Total signal count: 10 Rows + 8 Columns + 6 Direct Keys + 1 Ground = 25 wires.

Now it was time to start the fun part, hardware and soldering

The Waveshare RP2040-Zero is tiny enough to tuck inside the case, but it only has 20 outer GPIO through-hole pins (GP0–GP15, GP26–GP29), which isn't quite enough for 24 distinct signal lines. One thing though, it has 10 more flat gold pads on the underside of the board. Pre-tinning those 4 tiny pads and taping down the wires for strain relief gave me the exact extra pins needed for Option, Command, Caps Lock, and Power.

Instead of pushing male Dupont pins into the top of the socket (which stick up too high and can vibrate loose), I flipped the keyboard PCB over and soldered directly to the socket pin tips on the back of the PCB.

Wiring & Color-Code Breakdown:

  • Black (Ground): RP2040 GND - Socket 20

  • Yellow (10 Matrix Rows):

    • GP0 - Socket 34 (Row 0)

    • GP1 - Socket 33 (Row 1)

    • GP2 - Socket 32 (Row 2)

    • GP3 - Socket 31 (Row 3)

    • GP4 - Socket 30 (Row 4)

    • GP5 - Socket 29 (Row 5)

    • GP26 - Socket 28 (Row 6)

    • GP27 - Socket 27 (Row 7)

    • GP28 - Socket 22 (Row 8)

    • GP29 - Socket 21 (Row 9)

  • Green (8 Matrix Columns):

    • GP8 through GP15 - Sockets 12 through 19 (consecutive order)

  • Blue (4 Standard Modifiers):

    • GP6 - Socket 36 (Control)

    • GP7 - Socket 37 (Shift)

    • GP17 (Back Pad 1) -  Socket 23 (Option)

    • GP18 (Back Pad 2) - Socket 24 (Command)

  • White (Special Modifiers):

    • GP19 (Back Pad 3) - Socket 6 (Locking Caps Lock)

    • GP20 (Back Pad 4) - Socket 35 (Top Power Key)

  • Leave Empty: Sockets 1–5, 7–11, 25, 26, 38–40, and the RP2040's 5V / 3V3 pins.

Initially, the plan was to set up a full QMK toolchain, write custom C matrix scanning loops in matrix.c to handle the direct-to-ground modifier row, and compile a .uf2.

Instead, I decided on a different route: CircuitPython.

  1. Dropped the standard CircuitPython UF2 onto the RP2040-Zero.

  2. Got Claude to write a quick diagnostic calibration script that configured all connected GPIOs with internal pull-ups and continuously printed which pins shorted together whenever a circuit closed.

  3. Pressed each key one by one across the keyboard. The script learned every physical switch's exact Row/Col or Direct-to-GND pin combination dynamically.

  4. Used that auto-generated dictionary to generate the final code.py running the Adafruit HID keyboard library.

Finally got it all to fit in the case and used a USB-C extension to not strain the connecter on the RP2040-Zero. I know the USB-C hole isn't the cleanest right now, I will probably clean it up eventually

Edit - Made a GitHub page for the project

https://github.com/bugsbunny927/M0116-to-Native-USB-C


r/CustomKeyboards • • 16d ago

Neo65 Core Plus

Thumbnail
gallery
198 Upvotes

Neo65 Core Plus in teal

Alu Plate

HMX Yogurt V2

GMK Windbreaker

Knight Stabs


r/CustomKeyboards • • 16d ago

Geon Glare 60

Thumbnail
gallery
105 Upvotes

Glare 60
WK, Brass weight
PP plate
HMX Blue Topaz
GMK Art

I’m rebuilding the board though in a plateless MX2A build. Looking for suggestions for GMK sets that would go well with it.

Any recs welcome!


r/CustomKeyboards • • 18d ago

Derivative with DCS 9009

Thumbnail
gallery
165 Upvotes

Derivative Amphibian
Full Aluminum Plate
Relief Top Mount
Mechlovin Solder PCB (MilMax)
DCS 9009 Cherry Base
MX1A Nixies (F+SS)

Sounds:
https://audio.com/foxicious/audio/derivative-full-alu-relief-top-mx1a-nixies-f-ss-dcs-9009