Before I talk about the project, I want to give a massive thank-you to FedorSosnin for providing the guide, files and continual support throughout the build!
Excuse the blurry photos: some of the pictures of the internals I took just to help with troubleshooting issues.
Here are the troubleshooting steps I went to for anyone who is looking for help themselves:
1) Trouble soldering / wire stripping
So, to begin with (having had zero experience soldering or working with electronics) I was very daunted by the task of soldering the keyboard together. My final approach was to strip the base layer of wires first, solder all of this together, then remove the minimum amount of insulation for the vertical strips of the matrix and solder these on, and finally connect it all to the teensy.
Obviously it did not go as smoothly as this. I estimate between 7-10 hours were spent soldering due to mistakes. One thing which made soldering to the teensy easiest was placing it in the correct orientation first, then placing the wires through from underneath. At one point I had to 3D print a jig to hold the teensy so I could desolder it completely!
2) Nothing works?
So at first I uploaded the firmware correctly but only a few keys worked, and they gave the wrong output. I figured the firmware may not have uploaded correctly so I reflashed it, however after an hour of head-scratching I realised I was uploading the TADA68 firmware instead of the SICK68 one! Make sure you upload the correct firmware!
3) Spacebar is ghosting?
MAKE SURE your stabilisers are installed correctly! I found that the tiny parts on my spacebar were round the wrong way, causing it to stick. It also helped that I used some pliers to pull on either side and increase the size of the gap in the stabilisers.
4) Some keys don't work!
I marked each key that did not work with a sharpie and it turns out they were all connected to the same vertical line. So I replaced it and they worked fine!
5) Function key does not work?
This is a firmware issue. The first layer has no keys assigned to it in "Layer 1" in "easykeymap.exe" so the function key won't do anything. This was probably my biggest problem because even after resoldering it, replacing the vertical strip and changing the switch nothing changed! If you need help with editing the firmware, feel free to pop me a message. Or I can send you mine - but receiving files like this from strangers on the internet can be dangerous!
6) After putting the case on, the PC doesn't recognise the keyboard.
I figured something was short circuiting, with my awful soldering skills. So I checked everything. By process of elimination, I eventually realised the wires were pressing against the "reset" button on the teensy when the bottom half of the case was screwed on, preventing it from working. Make sure the wires are out of the way of this!
7) I need to remove the case to reflash the firmware?
NOT IF you map a key (strongly recommend any layer but the default one) to "Boot Mode" and/or "Config Console" in "easykeymap.exe" you can reflash the firmware without having to remove the case, which saves tons of time and effort. Simply press the "Boot mode" key instead of the "reset" button on the teensy and it will put the teensy into programming mode.
- When removing the insulation, if you do not have a vice grip or other specific tool, I strongly recommend the method I used: use some snips/knife to cut a "ring" around the piece of wire, either side of where you need to solder. With a sharp knife, cut a slit between the two "rings" and remove the piece of insulation.
- This guide is helpful, especially with the diodes: https://geekhack.org/index.php?topic=87689.0