| Mistake | How I fixed it |
|---|---|
| Connected the shift registers to low frequency MCU pins instead of high frequency ones | This turned out to not cause too much of a problem, but it results in more interference in the wireless signal when the lights change |
| Did not follow standard practices for reference designators on the PCBs | Did not fix |
| Placed a diode such that the diode legs would poke through and interfere with one of the stabilizers | Cut the legs short and carefully soldered it perfectly flush |
| Somehow forgot to add a bolt hole in the left switch plate despite running interference checks | Put the plate in a mill and drilled the missing hole |
| Missed the same bolt hole in the 3D print directly above said plate | Added the hole and reprinted it |
| Assumed the power switches I had had a circular mounting geometry instead of checking carefully and realizing it was the union of a circle and rectangle | Filed the corners off that part of the power switches |
| Forgot to consider whether any of my components would short against the bottom of the case | Added a layer of foam between the PCB and the case |
| Thought that soldering jumper wires to small SMD components by hand was a good idea | Spent a couple hours on extremely finicky and fragile work |
| Neglected to consider whether my soldered connections to the LED indicators would short against the top of the case | Taped a plastic film between the indicators and the case |
| Forgot to leave clearance for the wires going to the power switch | Reprinted battery holder with channel for wires |
| Neglected to consider wire management inside the case | Reprinted battery holders with clips to hold wires |
| Counted keys wrong and did not order enough hot-swap switch sockets | Bought more sockets |
| One key didn't work because a bent switch pin wasn't correctly inserted into the socket | Replaced switch |
| Neglected to consider before manufacturing the case whether a metal case would block a wireless signal | Drilled a hole in the case next to the antenna and added a plastic window there instead |
| Did not test how bad the signal integrity issues were before drilling that hole | There's not really a good way to fix this one, but things worked out in the end |
| Drilled the hole with a handheld drill, leaving me with quite non-circular holes | Tried to clean it up with a file, but not too much I can do about this one |
| My sheet metal bends' variation from the way they were designed was quite high. I should have practiced more on scrap metal. | Filed down the various tabs until they were even; tolerated the remaining imprecision |
| Did not realize I couldn't bend the angled corner tabs on a press brake | Bent them with pliers |
| When copying a part from the right to the left half, got my geometry mixed up | Reprinted parts |
| Used too thick of wires going to the power switch; excess strands that couldn't fit through the through holes on the PCB shorted to each other | Reworked with thinner wires |
| Numbered the status LEDs from the inside out instead of consistently left to right. Having "low battery" be the rightmost indicator on both halves would have looked better | Did not fix |
| Did not check which status LEDs were supported by ZMK before finalizing the case design | Gave up on charging indicator lights and made custom firmware to drive the rest |
| Tried to avoid having to understand the internals of ZMK by vibe coding the firmware extension | Learned what my code was doing well enough to fix it with help from the model |