A Physical Project


Throughout my career I have focused exclusively on creating software. Software is an interesting trade in which your raw materials, bits, are nearly limitless and recyclable compared to carpentry’s used of wood. The barrier to entry for tools that software developers can use to turn their virtual creations into real physical objects is plummeting dramatically. Virtual Reality eye ware, 3D printing, Laser cutting, modular microcontrollers are all becoming simple to use, so simple in fact, that I was able to develop my first physical project: A portable gaming keyboard.

I’ve always kept myself up to date on the latest technology news and I’m always seeing neat projects using arduinos, 3d printers, laser cutting, and what not. Those things are always in the back of my mind, so many cool mediums but “what can I make with them?” I have been playing Starcraft II off and on since it came out, looking up strategies and fundamentals to improve my game. I stumbled onto an alternate keyboard mapping called The Core, which radically changes how you position your hand on the keyboard. After adjusting to the new layout I found my self wanting to chop my gaming keyboard in half so i could fit both it and my regular ‘programming’ keyboard side by side with out taking up much space. I saw 2 consumer products that seemed to offer what I was looking for, the Razer Orbweaver and the Logitech g13, but the Orbweaver lacked one column of keys and the g13’s keys were much mushier than I liked.

This was the moment I was looking for, an actual application for all this emerging technology I’ve been keep up on! I started to see if there was a way to programming an arduino to have it communicate to a computer as if it were a keyboard. Two options arose, the Arduino Leonardo and the Teensy Board. I wasn’t well versed in the differences between the two but the form factor is the main reason why I chose the Teensy over the Leonardo. While I was waiting for the Teensy to arrive in the mail, I took a look and read up on keyboard wiring/matrices and basic soldering/bread board prototyping. When I had the microcontroller I ran though some of the basic tutorials: button presses, lighting up leds. From there I started looking at how I wanted to model the physical casing to hold the electronics. After going though and trying out nearly all the free CAD tools: Draft sight, freeCad, libreCad, I just on chance stumbled onto TinkerCAD. I was blown away by how easy it was to model my sketches in a web browser as well as how much easier it was to share. At the same time I started to look into how to create PCB boards. I first tried Pad2Pad’s Windows tool, and found it very easy to use. Unfortunately they do not handle small orders very well and the cheapest I could get my design printed was 140 dollars and no option to export my cad design to get it fabricated some where else. I then toyed with other PCB tools: Eagle, Fritzing, kiCad but they just weren’t simple enough for me to get a grasp on. I’d also tried Circuit.io but found it to be just a tad too frustrating for me to use. While listening to a podcast I heard about Upverter, an online PCB/Schematic designer. I checked it out and found it very simple to use. I had my PCB and casing both design by online tools… felt almost unbelievable.

As I was modeling the case for the keys, I found a forum dedicated to keyboards. I saw other peoples design of keyboards and one specifically caught my eye, the Ergodox. This keyboard featured a split hand design but what really caught my eye was the subtle ergonomics. Up until this point I had just made my keys a simple grid, but it made me consider that a slight curve to the keys might make it feel more comfortable. I really didn’t know how much to adjust each column of keys for each finger so I started brain storming solutions. I came up with a system that would let me adjust each column independently, and this became the feature that ends up being unique to my take on a gaming keypad.

I do plan on continuing revisions onto this open source hardware project, but like so many personal projects something shinier might just steal my focus away.