Inspiration
Multiple members of our team are mechanical keyboard enthusiasts, and wanted to do a hardware hack that ties into the physical world of controlling computers but in a novel way. Our name stems from tenkeyless keyboards, a smaller form factor keyboard that lacks a number pad. This evolved into a easily hand-built customizable video game controller, offering both educational and market value at a commercial scale.
What it does
Our idea was to build a controller using graphite and paper as our circuit. We saw this as an opportunity to build an educational kit as the simplicity of the circuit and code provides a perfect package to teach, hands on, about everything that went into this project. Effectively, the final result is functionally similar to an SNES controller, with a direction control pad and action buttons. Our model has 4 direction controls and two action buttons, but in this case the controls can be expanded as long as there are open inputs on the Arduino, providing an opportunity for an easy custom controller that perfectly suits your needs. The small number of final components and low cost in addition to the Arduino makes an extremely versatile educational tool as well as a functional game controller.
How we built it
Starting with an Arduino and a vague concept of what we wanted to do, we did conductivity tests on different kinds of pencils and designed various mechanical paper switches. We used an Arduino keyboard input library to allow the input from the Arduino to map to the computer's input, allowing 4 directional motion plus two action buttons, which is what was necessary to play the game Overcooked. We tested and debugged the code before finally getting a working version, then set about our controller design. Using a sheet of paper to mock up and test our circuit, we later attached it to an acrylic backing to provide some structural rigidity. We tested dozens of different switch designs to find one that both provided a satisfying tactile feel, and consistently returned after being depressed. To connect the paper circuit to the Arduino, we soldered paperclips to the end of wires, creating a ground circuit from the ground of the Arduino, with the switches breaking between the ground and wires running to the inputs on the Arduino.
Challenges we ran into
We first struggled figuring out how the Keyboard.press() command worked on the Arduino. Looking at sample code helped us simplify our electrical circuit and learn more about using Arduinos. We ran into issues with broken boards and bootloaders, and learned how to overcome that as best we could. We overcame finicky switches with aluminum foil and foam for more consistency. With each individual component ironed out, the overall controller came together nicely for a useable, playable prototype.
Accomplishments that we're proud of
In the end, we were able to sit down and play Overcooked with our controller. With the laser cut acrylic backbone, it is comfortable to hold even with the Arduino mounted on the controller. Its also cool to see that the "circuitry" on the controller itself is all just pencil markings, and the crinkle of paper as you push down on each switch. The playing experience is smooth and simple, with no noticeable lag-time between the controller and the movement in game. As a functional tool, it is as good as we could have expected it to be. The super-simple custom circuitry, built with paper, pencils, and paper clips, promises a level of customization not currently commercially available. Finally, the simple system provides a good entry point to the uses of electrical engineering and coding in a way that would directly interest young students. A cheap kit would come with a cardboard frame, an Arduino, some paper clips, wire, and a pencil and would bring a student from a collection of household items (and the Arduino) to a functional video game controller, an exciting project for many ages.
What we learned
First off, hardware hacks are always harder than they appear. Instead of just fixing code, you have to deal with a physical device that should perform how you want it to. We also managed to take time to rest and relax during the hackathon, and by effectively managing our time were still able to finish our hack like we wanted. As the project developed we saw more and more facets that we had not planned for, both in the difficulty of developing the project itself as well as in the opportunities that the project offers in the future.
What's next for PENNkeyless
Our paper switch design is naturally finicky, and while the graphite is plenty conductive for the system to work, the switches leave much to be desired in terms of long-time durability. The acrylic backbone can also be redesigned to better fit the components and provide a more robust design, or replaced with a cardboard frame that acts as the circuitboard itself. That way, the paper circuitry can be integrated into an Arduino based kit to provide an educational opportunity on circuit design, electrical engineering, and coding with an end product that plugs into a computer and lets you play a game with the controller you built. The final kit would be a powerful educational tool while also offering an easily customizable video game controller. With the main component cost being the Arduino itself, the kit would be a low cost entry into electrical engineering and code while providing a stepping stone into more complex future projects using the Arduino.
Built With
- arduino
- graphite
- paper
- wire
Log in or sign up for Devpost to join the conversation.