How to Build a Handwired Mechanical Keyboard
Construct a monolithic 546% custom mechanical mega-keyboard by handwiring chained switch matrices across linked chassis zones using QMK firmware.
This guide shows how to build a handwired mechanical keyboard in 10 - 14 hours. Start with plate preparation and switch installation; follow the safety notes and step checkpoints below.
Visual step map
See the full sequence before you start, then check off each step as you go.
0 of 7 steps checked
Materials and cost planner
Select the items you plan to buy, adjust any estimated price, and calculate the selected total.
Editable rough U.S. retail estimates. Estimated all listed: $207.00. Prices are planning estimates, not quotes — tax, store, brand, size and quantity will change them.
Time and finish planner
Estimate active working time from the number of steps in this guide.
File transfer time calculator
Estimate how long a download, upload or local transfer should take at a given connection speed.
Real transfer time is usually longer because of overhead, server limits, Wi-Fi conditions or other network traffic.
- Read the tools, materials, safety notes, and steps below for free.
- Tap See 20-second demo if you want to understand it first.
- Tap Start Camera Coach when you want hands-free help, or Voice-only if you do not want to use the camera.
- Allow camera and microphone. Point your phone at the work; the coach watches your progress and tells you the next step.
🧰 Required Tools & Equipment
- ✓ Temperature-controlled soldering station
- ✓ Precision wire strippers (28-30 AWG)
- ✓ Digital multimeter with continuity beeper
- ✓ Flush cutters
- ✓ Hex driver set (M2/M3)
- ✓ Anti-static tweezers
📦 Materials & Supplies
- ✓ 300+ MX-style mechanical switches
- ✓ 1N4148 switching diodes (300+ pcs)
- ✓ 3x RP2040-Zero or Pro Micro controllers
- ✓ Laser-cut acrylic switch plates and baseplates
- ✓ Solid core 24 AWG and 28 AWG hookup wire
- ✓ M3 brass standoffs and countersunk screws
- ✓ TRRS jacks and 4-pole interconnect cables
⚠️ Safety Checkpoints & Warnings
- • Operate a solder fume extractor or work in a well-ventilated space to avoid inhaling rosin core flux fumes.
- • Verify zero shorts between VCC/5V and GND on every controller with a multimeter before plugging USB into a computer.
- • Use heat-resistant mats when resting hot iron tips and keep bare wires clear of conductive frame elements.
📋 Step-by-Step Guide (7 Steps)
Plate Preparation and Switch Installation
Align the multi-segment laser-cut acrylic top plates over your workbench and secure plate joining brackets with M3 hardware. Snap MX-style switches firmly into every mounting cutout until both side clips engage with an audible click. Orient every switch uniformly with the LED/contact pins facing the top edge to standardize your wiring rows.
- • All switch bodies sit flush against the acrylic plate with no tilted housings
- • Switch contact pins are uniformly aligned horizontally across all extended sections
- • Installing switches backwards in specific zones, which reverses diode polarity during soldering
- • Cracking brittle acrylic plates by over-torquing structural M3 joiner screws
Bending and Soldering the Diode Matrix Rows
Bend the black-banded cathode leg of a 1N4148 diode at a 90-degree angle right at the diode body. Solder the non-banded anode leg directly to the top-left pin of each mechanical switch. Daisy-chain the cathode legs across each horizontal row, snipping excess leads with flush cutters to maintain a low vertical profile.
- • Every switch has a diode soldered to its left pin with the black band facing downstream
- • A continuous, insulated horizontal bus connects every diode along each individual matrix row
- • Inverting diode polarity on random switches, resulting in unregisterable or ghosting keys
- • Overheating switch pins, which melts internal plastic leaves and ruins switch actuation
Routing and Soldering the Matrix Columns
Strip small 2mm windows into 28 AWG insulated hookup wire corresponding to each vertical switch pin interval. Solder the exposed copper directly to the open right-hand contact pin of each switch down the entire column. Keep column wires elevated slightly above row lines or use fully insulated cross-overs to prevent unintended shorts.
- • Vertical column wires run cleanly perpendicular to horizontal diode rows without contact
- • Solder joints form shiny, concave fillets over the right switch contact pins
- • Melting wire insulation during cross-overs, creating hidden row-to-column short circuits
- • Using excessively thick wire gauges that prevent bottom case plates from closing flush
Controller Pinout Wiring and Master-Slave Links
Mount your primary RP2040 controller in the central bay and secondary controllers in peripheral wings. Solder dedicated row and column bus lines to assigned GPIO pins on each board. Connect TX, RX, VCC, and GND pins between controllers using TRRS breakout jacks to enable high-speed serial communication across the ultra-wide layout.
- • Every row and column bus terminates neatly at its designated GPIO pad
- • Interconnect TRRS breakout pins show zero ohms continuity across linked controller zones
- • Crossing TX and RX serial lines between controllers, preventing secondary zones from enumerating
- • Soldering to non-GPIO or boot-strap pins that lock the microcontrollers during startup
Electrical Continuity and Matrix Validation
Set your digital multimeter to continuity mode and ground the negative probe on a column line. Touch the positive probe to corresponding row outputs while manually depressing each switch to confirm the circuit closes. Repeat this process systematically across all zones to verify no dead switches or crossed traces exist before sealing the frame.
- • Multimeter emits a solid tone only when a switch is fully actuated
- • Zero electrical continuity is measured between adjacent rows and columns when keys are unpressed
- • Skipping continuity testing before flashing, making hardware debugging significantly harder later
- • Ignoring intermittent beep signals caused by cold solder joints on matrix junctions
Firmware Compilation, Flashing, and Key Testing
Define your custom pin matrix array and split-transport settings in QMK or Vial firmware source files. Compile the `.uf2` binaries and flash each controller by holding the boot button while inserting the USB cable. Launch an interactive keyboard testing utility to press every single key, ensuring all 500%+ inputs register uniquely with zero debounce chatter.
- • Microcontroller mounts successfully as a HID keyboard device on your PC
- • Graphical key tester lights up green for all matrix locations across the primary and extended zones
- • Mismatched row/column matrix sizes in the header configuration file causing shifted keymaps
- • Forgetting to assign unique EE_HANDS or master/slave definitions to secondary controllers
Final Chassis Enclosure and Keycap Assembly
Install non-conductive insulating foam along the bottom acrylic baseplate to shield exposed solder joints. Fasten the bottom plate to the upper switch assembly using M3 brass standoffs and nylon-threaded nuts. Mount your preferred keycap sets across all alphas, macro clusters, and auxiliary functional decks to complete the mega-board.
- • Baseplate is completely rigid with no bulging over thick internal wiring bundles
- • Keycaps sit level across all clusters without rubbing against adjacent switch stems or frame borders
- • Omitting bottom insulation, allowing solder tails to pierce chassis foil and short the matrix
- • Overtightening peripheral screws, causing the long mega-keyboard assembly to bow upwards in the center
Credit: inspired by an original tutorial by Glebo — watch the original on YouTube.
Don’t have everything?
- No Wire stripper for 28 AWG wire? Soldering iron tip to quickly melt and push back small insulation windows
- No TRRS breakout jacks? Direct 4-wire ribbon cable soldered between controller VCC, GND, TX, and RX pins
- No Brass standoffs? Stacked M3 nylon hex nuts or 3D-printed spacers