Redox Handwire V5 Part 1: Brainstorming
I’ve been using my Redox Handwire V4 as my daily driver for over a year now. It’s the best keyboard I’ve built, and even till today people are shocked when I tell them it’s fully hand-wired. But the itch is back, and I’m hankering to build a new keyboard again. I could just do the simple thing and re-do the same keyboard once more, but… where’s the fun in that? (And I don’t build keyboards for efficient utility anyway, the building and problem solving is most of the point)
Now, V4 is pretty close to ideal; it doesn’t stutter like V1 did, and all the components are well-secured in the casing unlike V2, and it doesn’t lose connection over time like V3 did (with the hotswap sockets slipping down).
But it is still really difficult to fix problems on the V4; the wires really need to be well placed and really can’t touch each other. Furthermore, it’s still possible that some hotswap sockets (especially near the edges) slide down with typing over time. I’ve reinforced them recently with some little pins, but that’s such an inelegant solution.
For V5, I want to solve this properly, and in a repeatable, efficient way. Rather than designing something that I need skill to create, I’m going to lean more heavily on designing something I can almost mass-produce.
The Idea: Embedding wiring into the plate
What if the 3D printed plate itself held everything? Not the switches - I still want these to be hotswappable - but the hotswap sockets, the diodes, and the wiring could all be embedded in the printed layers.
The wiring would never move, never touch where it shouldn’t, never be put under strain - and therefore never break. Assembly becomes almost trivial: run the wires through the channels, solder at the hotswap socket and diodes, and you’re done. The rest becomes like a regular keyboard assembly process.
Hey wait… that sounds like a PCB.
Okay, so I want to build a PCB.
The hard part is the design. Every layer needs the right cutouts in the right places, and the tolerances are unforgiving. If a socket pocket is off by half a millimetre, things don’t fit, and they don’t fit in 3D.
AI still can’t quite do this
Of course, my first task is getting the right dimensions and coordinates, and then figuring out how large a pocket I need to fit the switch, hotswap socket and diode, so that they don’t take up space unnecessarily, and pressure isn’t being unduly put on the various parts of the plate.
Gemini was very useful here. I searched up the dimensions and positions of a hotswap socket, and used th Canvas to help define the layers and cutouts for the plates — the switch plate, the spacer, the base tray — and the positions of every post, boss, and pocket that holds the matrix together.
I went several rounds on this. Each round, we’d refine the stackup, correct the coordinates, or rethink the architecture entirely.
How the Design Evolved
The design went through five major steps, and the commit history of the lab page traces each one.
Step 1: The Flush Mid-Plate. The first version was a single switch with a mid-plate sitting flush against the top plate. The mid-plate held the hotswap socket and the diode — the false plate idea from the Redox community, applied to a single switch. This proved the concept: the sockets and diodes could be held in printed structure rather than floating in a wiring mess.

Step 2: Parametric Profiles. The single switch became parametric. Instead of hard-coding dimensions for one switch type, the design learned the coordinates for Gateron KS-33, Kailh Choc V1 and V2, and standard MX. Toggle the switch type and every pocket, post, and cutout moves to the right place. This mattered because I didn’t want to redesign from scratch every time I considered a different switch.

Step 3: The 2x2 Matrix. A single switch is not a keyboard. The next step was scaling the design to a 2x2 grid — enough to prove the geometry tiles correctly and to start thinking about how wiring would actually run between switches. This was where the wiring story began in earnest.

Step 4: The Tray-Loaded Grid. The matrix became a tray. Instead of separate pieces stacked together, the design became a top-loaded base tray with a solid floor — socket pockets and diode nests cut into the tray itself, with the top plate and spacer sitting above it. This was the first version that felt like a real plate rather than a diagram.

Step 5: The Dual-Layer Skeleton. This is the current architecture, and it’s the biggest conceptual jump. The tray became three layers: column channels on the bottom, row channels on top, and a thin separator layer between them with via holes where wiring needs to cross. Column wires and row wires are now physically isolated — they can never touch. This is what the lab page calls the “top-loaded skeleton with isolated Z-wires.” It’s the structure of a PCB, printed instead of etched.

Each step came out of a round of conversation with Gemini — sometimes correcting coordinates, sometimes rethinking the architecture entirely. I’ll upload photos of the printed test pieces and failed tolerances later; they tell the parts of the story the commits don’t.
Final draft v6 current signed-off design idea
What I’ve landed on is (what Gemini calls) a top-loaded skeleton with isolated Z-wires. The name… could be better.
The key idea is that the hotswap socket sits in a pocket with the two bosses protruding through a hole, intended to sit flush against the bottom of the switch. So the pins should bottom out in the socket.
The same pocket has space for a diode, and wiring. There’s also a cutout for the switch center post and stabilizers (depending on the switch).
There are three main assemblies:
- Top-Plate — two layers: a snap lip cutout (14.0 x 14.0 mm) that holds the switch firmly, and a step cutout (15.6 x 15.6 mm) that gives the housing clearance.
- PCB-Spacer — a 1.4 mm layer that brings the boss flush to the surface. It carries the center post cutout and the boss holes for the socket pins.
- Tray Base — this is where the interesting work is. The tray is itself three layers:
- Layer 1 (Col/Socket): the socket pockets, diode pockets, and the column channels — trenches that carry the column wiring.
- Layer 2 (Separator): a thin separator layer with the center post cutout and a column via hole that lets wiring pass through to the layer below.
- Layer 3 (Row): the row channels — trenches that carry the row wiring.
The column wires run in one layer, the row wires run in another, and the separator layer between them keeps them isolated. Where a connection needs to cross layers, there’s a via hole. That’s the structure of a PCB — just printed instead of etched.
What’s Next
This is the first post in what I expect to be a series on the V5 redesign. I don’t have a fixed roadmap — I’ll write about each step as I work through it. The next step is to actually design this on Fusion 360, then print test sections, and I expect to find out things along the way.