I wanted to get into stenography as I figured it would be an interesting skill to have. I tried it out with 3D printed keycaps along with the Plover software. I decided that I wanted to try my hand at a dedicated keyboard for steno. After lots of research, I found the Contra by ai03-2725. It’s aimed to be a low cost ortholinear keyboard. I also considered The Uni from KickStarter, but I decided that making my own keyboard would be a good learning experience. I’d also be able to use it as a normal keyboard.

Gathering Materials

There is a part list on the GitHub. I sourced all my materials except for the PCB from AliExpress. I ordered my PCBs from JLCPCB and got five since that was the minimum order amount. The cost of the items are below, I also ordered five numpad PCBs which are included in the list below:

  • 100x 1N4148 diodes or similar, THT ($1.63 CAD)
  • 1x Pro Micro ($10.15 CAD)
  • 68x Gateron White Switches ($22.00 CAD)
  • 5x M2 8mm standoffs and 10x M2 screws ($4.71 CAD)
  • 5x PCBs ($22.92 CAD)
  • 40% keycaps ($27.99 CAD)
  • Resin Case ($15.62 CAD)


Unfortunately, there aren’t many guides specifically for the Contra. I followed n9vem’s imgur album for assembly. I soldered all of the diodes with the black end matching the smaller rectange on the PCBs. I then soldered on my Pro Micro, but I didn’t realize that doing so would block two of the switch pins. I tried desoldering the Pro Micro, but I wasn’t able to remove it. Luckily I had four more PCBs so I started on a new one. This time I soldered the two switches that would be under the Pro Micro first. I then soldered on the Pro Micro. Then like before, I soldered on my remaining diodes. I ran out of diodes since I also started on a numpad. So, I decided to test what I had so far.


I plugged in the keyboard and used a keyboard tester website to try out the keyboard with tweezers. Strangely, nothing registered. I noticed that the keyboard labeled as USB Serial Device, so I assumed that I needed to program or flash it. I found this barnumbirr’s GitHub on creating their Contra keyboard. I followed their instructions for flashing the Pro Micro with QMK Toolbox. I wanted to just see the keyboard would, so I downloaded their firmware and flashed my keyboard. After clicking Flash, the keys started to register. Next I needed to buy more diodes and finish soldering them along with the rest of the switches.

Assembly Part 2

I was able to purchase some more diodes from a local store and finished soldering them along with the rest of the switches. I also 3D printed a case I found on Thingiverse, but the prints wouldn’t align and there was a gap on the right side. Printing the entire case in one go wouldn’t have been possible with my printer. I decided to print Drakorex’s model with JLCPCB. I only printed the case as I already soldered all my switches and it was at risk of warping. I chose 9000R Resin as it was the cheapest.