Phosphophyllite

A Custom Keyboard Project

Background

Its January 2020 and mechanical keyboards are becoming more and more popular. At the time I had a bog standard membrane keyboard and have been wanting to upgrade to a mechanical keyboard for some time. I explored what options there were available and decided to go for a split keyboard for the improved ergonomics with an ortholinear layout for a more aesthetic look. Unfortunately this combination was pretty rare, so much so, that as far as I can remember no commercial options were even available and the only custom options I could find were exceptionally expensive. So knowing my uni semester break was about to start soon and I was going to have some free time on my hands I decided the best approach would be to build the keyboard myself.

Research

Luckily for me the custom keyboard community has gotten quite big at that point so finding resources was super simple. I used various posts from reddit, discord communities and a few other sources for specific examples of custom keyboards. Even then there were many tutorials on youtube which showed the process of creating keyboard PCBs in detail. I used KiCAD as my design software of choice with QMK as the keyboard firmware and decided to make my PCB use standard soldered Gateron/Cherry switches and keep it wired as to keep the design as simple as possible. While researching I noticed that a lot of custom keyboards have anime themes and or characters attributed to them and me being an anime fan I decided that this keyboard was going to be themed after Phosphophyllite, a character of one of my favorite shows: Land of the Lustrous.

PCB Design

The first step was deciding on the general layout of the keyboard and roughly planning the keys and layers to ensure I had all the functionality that I needed. I figured a roughly 60% layout (meaning no function key row or numpad) was going to be sufficient for my needs, but I wanted to keep the arrow keys and instead get rid of a few of the special characters on the right. From my planning I expected two layers to be enough but I made sure to add two function/layer keys to the keyboard so that I could program a third layer if necessary. Since I was going to be using KiCAD for the PCB design process I could use a standard USB-C based microcontroller which had plenty of templates available to import into my pcb layout. To connect the two boards I ended up with a TRRS cable which is pretty common. Despite going for a simple design the PCB creation was still a bit challenging as this was my first PCB design ever and I needed to avoid the common pitfalls and keep the connections optimized. Unfortunately this is also the part where I made a substantial mistake. I somehow missed two connections from the microcontroller pins to the respective key row, which i only discovered after the PCBs arrived. Luckily this was fixable by wiring the pins directly with wires. It ended up being a tight fit inside the case but I avoided having to order new PCBs.

Finished PCB framed in my apartment Finished PCB framed in my apartment

Case Design

Once the PCB design was finished and out for processing it was time to create the case that would be holding it all together. The focus for this was functionality over form, as I knew that my manufacturing options were limited, since I did not have a 3D printer available at the time. However I could use the laser cutter at my university so that's what I ended up doing. I did some rough sketches and made a simple model using multiple 4mm layers in Fusion 360. One special feature of my design was that I embedded magnets in the sides of the left and right parts of the keyboard in opposite polarities so that they would connect together smoothly and not split apart on every movement while still being easily separable.
Initial prototype design of one half of the keyboard Initial prototype design of one half of the keyboard

Keycaps

This is the area in which I chose to spend the least of my budget. The reason for this being that my layout was so custom that there was no reasonable way to find a set of keycaps that would accurately show my layout and the heavy use of 2u keycaps pretty much forced me to buy keycaps by the piece. Single keycaps for pretty much any size can be found on places like aliexpress and after choosing a somewhat nice looking color scheme I counted out the keycaps and got them ordered. The downside was that these keycaps were unprinted, meaning you would have a hard time typing if you weren't familiar with it. I simply took this as a challenge to improve my touch typing in the process.

The two layers of the keyboard The two layers of the keyboard

Result

After everything was assembled (and the wiring issue fixed) the keyboard was finally finished. In terms of feel and layout it is even now one of my favorite keyboards I have used and still works perfectly to this date. After 6 years of heavy use the wood has gotten a bit dirty and the brass screws have started to oxidize and stain the wood, but even still I am writing this section using this same keyboard.

The only notable downside of this design is that the keyboard is not really portable. The reason being that the screws are not actually holding the pieces of the keyboard together, so if you lift it the bottom part of the case just comes off. I did briefly try using longer screws and a nut to keep it locked together but the keyboard felt too tall, so I decided against it since I do not travel often regardless. Alternatively I could have glued the pieces together but I wanted to keep it accessible in case I needed to change any switches.

The finished keyboard sitting on my desk The finished keyboard sitting on my desk

Project Conclusion

Fun

4 / 5
Very fun to plan out and design but soldering of the switches does get repetitive

Polish/Viability

4.5 / 5
Even 5 years later its fully functional, -0.5 due to the housing being visibly DIY and not easy to clean

Difficulty

1.5 / 5
Unless your are doing some custom features its mostly just following tutorials

Cost

3 / 5
Total was around 200€ for everything which is a bit pricey for a mostly basic keyboard