Author Topic: Idea = "3D-Printed PCB" For Hotswappable Handwired Keyboard (Could Use Help, Too  (Read 834 times)

0 Members and 1 Guest are viewing this topic.

Offline TrichotomySigil

  • Thread Starter
  • Posts: 1
TLDR = Plugging (Kailh's) hot-swappable switch sockets into a 3D-printed "PCB" (or laser-cut), hot-gluing them in place for support, and handwiring them like any other handwiredbuild, but allows you to change switches at any point thereafter instead of having to desolder the board.


Hey guys,

First time building a custom board myself, starting from scratch though; and I'll be building three keyboards with custom layouts, and will be handwiring them since the layouts are completely custom (including multiple rotary encoders) and PCBs, afaik, are hard to design and expensive to make.

Not wanting to think about desoldering a handwired keyboard anytime I want to change switches in the future after the build (especially since one of them is a gift I'm making for someone), I started looking at hotswappable switch sockets, and mostly realized that it wasn't going to work since there's no PCB to hold the sockets in place every time you removed and installed a switch into the plate.

But then I had an idea: What if I 3D-printed a "dummy PCB" and plugged hot-swap sockets into them (from below or above, though below makes more sense, especially if the holes are snug around the connectors and then hot-glued in place), then handwired them to a diode like you would with any other switch pins?

This would effectively allow you to create a PCB by using a faux-plate/PCB to hold the sockets in place, while using the typical handwired techniques in order to create the same connection that PCB traces are made to do. Then, obviously, just wire all the rest to a controller, etc.

You could, theoretically, use Kailh's hot-swap sockets and plug them into holes made in the "PCB" which can be OR  push some TE Holtite 8134-HC-8P3 into the PCB, like the man in this video has done with a proper PCB.

Haven't seen someone post this idea yet, so it might be something interesting for other builders if it works. Would make the pain of building a handwired board more tolerable.

Is this possible, or have I missed something? Let me know.

I'd encourage anyone to test this themselves, if they'd like. I haven't bought my parts just yet (not even a 3D-printer), so I can't test it yet, nor would I know how to do so without completing the build.

Any ideas are welcome, and any help for 3D-printing/modelling is welcome as well, as I'm learning that stuff for the first time as well :) Haven't even thought about how I'm going to QMK my rotary encoders yet...

****Post may be mirrored on r/MK and Deskthority****

P.S.: Two of the boards I'm building are BIG (7 rows, 26 columns), so, I think, I can only get a small controller for one of the boards and would need a bigger one for all the points on the bigger boards. Any suggestions? Would THIS be enough?

Offline nevin

  • Posts: 926
  • Location: US
there have been a couple that have done 3d printed hotswap handwire boards
check this thread:
and this thingiverse:
you can probably find a model of just the part that the socket fits into to incorporate into your design (or pull apart the thiniverse one)

as far as controller... teensy ++2.0 it's fully supported in QMK and is the only standard "large controller" i can think of.
the teensy 4 is an ARM processor (totally different) and is really way more "horsepower" than what's needed for a keyboard, plus it's not officially supported yet (if at all). there has been some progress made on STM processors though but support is still very spotty. Viterbi, Apple m0110, Apple m0120, Apple m0110a, Apple 658-4081, Apple M1242, Apple AEK II, MK96, GH60/Pure, Cherry g84-4100, Adesso AKP-220B, Magicforce 68

Offline hanya

  • Posts: 108
  • Location: Japan
7 rows and 26 columns gives around 134 mm x 496 mm size. It costs $26 + shipping cost around $20 for 5 PCB on JLCPCB.
Not so expensive for three copy of the same layout keyboard.
PFU HHKB JP, Sanwa MA-TB38 trackball