apologies for the necro, but I actually finished this guy! So I figured it was appropriate. I vastly overestimated my ability to keep up with side projects when working full time, and I also vastly overestimated my enthusiasm with hand soldering 60-odd diodes to each other, and then to a keyboard matrix, and then to a microcontroller...
pictures are here:
http://imgur.com/a/qu8bJ The original goal was an ortholinear keyboard in a 60% form factor with a navigation cluster in a stock case, but when I received my plate (thanks Jack!) and started checking for fitment I realized a hand wired matrix was never going to fit in a normal aftermarket case, especially one with the channels:
https://mechanicalkeyboards.com/shop/images/products/large_626_PSIMG_0167.jpg they like to put in these days. I ended up customizing and 3d printing a case I found on Thingiverse, finishing it with some spray paint and shellac after applying some XTC-3D and sanding. The dimensions aren't exactly right on the case, and the shellac keeps picking up imprints from whatever surface you lay the keyboard on, but I never really set out to make a case so I'm fine with that. The patch cable is just a cheap micro-usb breakout I bought from adafruit or sparkfun that I hot glued and soldered to an old microusb cable, which worked out pretty well. I might make a better case in the future but for now this is more than acceptable.
The wiring is a standard matrix a la matt3o's guide,
https://deskthority.net/workshop-f7/brownfox-step-by-step-t6050.html, though I don't have nearly as steady a hand. Wiring the columns was a major pain in the ass and the main reason I took a long break; you can actually see my technique develop from left to right on the board (accompanied with lots of swearing, I promise). At first I was laboriously stripping little pieces of insulation off the wire as if I was whittling, then I decided to try burning it off like some people suggested, but that smelled bad and looked terrible, so I switched back. I eventually (like, maybe 4 columns left) realized that it's so much easier to just *shift* the insulation than try to cut it off. I'm so excited about figuring this out that I'm going to break it down step by step in case it helps anyone else:
1. cut the wire to the correct length for the column
2. strip a bit of insulation off the top of the wire. This is mostly to mark what side is up (I forgot multiple times), but also so you dont have a massive amount of insulation overhanging at the end.
3. lay the wire where it will go when it is soldered, and starting at the furthest switch from the top, use an xacto knife or anything to mark exactly where you want to solder the wire. you start on the far end, because if you were to start near the top and push the insulation up, your second cut would push insulation up onto your first cut. You could start at the top and work your way to the bottom, of course, but make sure you push the insulation *down* in the next step if that's the case.
4. using a wire stripper, cut the insulation slightly above the mark, and push it up slightly past the mark.
5. lay the wire back down, making sure the uninsulated section you just made matches up with where it should be soldered to, and then repeat steps 3 and 4 for each switch until you are done
This made things so much easier and as soon as I figured this out I finished the rest of the wiring in a night. as for wiring everything to the matrix, the leftmost columns were done last, and done cleanest, I think. I had a nice enough layout such that the rows and left and right columns are in neat little blocks on the GPIO pins, and I could thread the wires underneath the matrix without too much trouble. The controller is basically in the only spot with enough room for it to fit, though after I ended up making the case myself it didn't really matter.
The firmware right now is TMK, and I want to give a big shoutout to iandr0idos on reddit for his tmk builder website,
http://kb.sized.io/, which is pretty awesome. I still plan on tweaking my layout, and I might compile that myself, but the website saved me a bunch of time fiddling with the row configuration array and remembering how the macro function works.
that's basically it, pretty tame build but if anyone has any questions fire away!