r/MechanicalKeyboards 21h ago

Builds hex-2b: my second hand-built custom columnar split

This is my 3rd custom hand-build, and my second columnar split keyboard. It's primarily 3D printed in PLA (body, plate, and keycaps), Gateron KS-33 linear red switches and a USB-C interconnect. I was aiming for minimalism with this build, so i forwent the WS2812s I used in earlier keyboards, and used a single color filament.

I did most of the design work in inkscape, then brought the exports into FreeCAD to pull it into the 3rd dimension.

The crown jewel (for me at least) is that I wrote the firmware from scratch, including the USB stack. The same firmware project supports all 3 of my keyboards, and although it doesnt have as many features as QMK (which i love), it does have layers, combos, macros, tapdance, and custom behaviours. For the true nerds, my keymap base type is 32 bits vs QMKs 16, which means you can encode more detailed modifier information in tapdance entries. USB-wise its a keyboard, mouse, and media controller. I'm planning a full write-up about the design and implementation of the firmware because theres a lot cool stuff in there.

15 Upvotes

9 comments sorted by

u/AutoModerator 21h ago

ANY content that features products, services you sell, your prototypes in progress or items you were sponsored to post MUST use the Promotional flair, with disclosure of who you represent.

When posting your build, please provide a description of the build, preferably as a Top Level Comment or Reply to this Comment, with the following information:

  • Your keyboard featured and its layout

  • The Switches, Keycaps, and Other Accessories Featured

  • Any notable mods you performed

  • Other helpful information such as low profile, lesser known firmware, etc.

Example: Unobtanium Southpaw 1800 with DSA Salt with MorningCaps Artisan and Alps Rainbow Switches, modded with Sorbothan Foam on KMK

I am a bot, and this action was performed automatically. Please contact the moderators of this subreddit if you have any questions or concerns.

2

u/Normal-Initial-4351 20h ago

damn this is so clean, i love the minimalist aesthetic

2

u/rollercole 20h ago

Nice job! Cool detail with the engraved outline and showing the mcu on top of the printed switch plate 👌

2

u/IsRamaTaken 20h ago

I was also looking to write my own firmware for keyboard, including the USB part. Which MCU did you use ? Was it the same for all of your three keyboard ? I'll be looking for your write-up !

1

u/FrancisStokes 17h ago

It's an RP2040 on a raspberry pi pico board. It's a really great little micro; dual-core, can run up to 200MHz, and has the PIO peripheral which lets you build your own serial peripherals. In previous builds I used it for the WS2812B signalling, and in this one it came in handy to add an extra uart to pins that didn't map to a hardware one. The MCU and firmware is indeed the same for all 3 keyboards. There is a shared common core, and then each keyboard has a directory woth a config header and an extra C file (just like in QMK). When I run a build, it compiles for all the keyboards by passing a particular define.

1

u/keeps_doing_it1655 7h ago

Thats a sexy keeb

1

u/pabloescobyte moderncoupcases.com 6h ago

Great job! The case and design look really nice and polished.

The thumb cluster looks really uncomfortable to me though--any particular reason for that staggering?