As technology develops, people are wanting things to be more and more virtual however sometimes it's just way more practical and convenient to have something physical that you can actually touch and interact with with your own hands. One example of this is the use of macros or a shortcut keyboards/keypads that let you perform a task more efficiently or conveniently. Right now you can just order one up online ranging in prices from around $30 to $150, the most popular being the Elgato Streamdeck and Razer's lineup of gaming keypads. However, thanks to micro controllers, the arduino IDE keyboard library, and some basic building materials, we can make one for under $30, maybe even under $20 that you can program to do anything that you want.
If you like my instructable please vote for it in the Cardboard Challenge Contest, thanks!
Teachers! Did you use this instructable in your classroom?
Add a Teacher Note to share how you incorporated it into your lesson.
Step 1: Materials/Tools
- Adafruit Itsy Bitsy 32u4 (keep the bag that this comes in, it will be used later)
- Mechanical Switches or regular push buttons
- Wire (this is the wire that I used, however any should work, I just didn't have any extra laying around)
- Cardboard (I got mine from the stiff cardboard off the back of notepads, corrugated might not work as well)
- X-Acto Knife
- Soldering Iron
- A computer that meets the Arduino IDE requirements (most Windows, Mac, or Linux computers should work fine)
Step 2: Cardboard Frame
To start off with, I made the frame of the keypad out of cardboard. I used the dense cardboard from the back of a notepad, however most other types of cardboard could probably work. Before cutting, I measured and drew the lines to help guide me, as seen in the pictures above, and this ended up working fairly well. Next I just cut out the frame with an X-Acto knife then cut out the holes for the mechanical switches. My original idea was to have the flaps on the edge of the frame tuck in so that I wouldn't have to use any adhesives. However, because of the thickness of the cardboard this didn't work so well and I decided to just use tape to finish it off after step 6.
Step 3: Wiring
For the wiring of this project I simply connected all of the switches to a different numbered pin on the Itsy Bitsy. Then, for simplicity's sake I connected the ground pin to one of the switches and soldered the next switch up to the other switch and so on (this can be seen in the pictures above). FYI, You will need to have the switches already in the frame to solder since there aren't any openings to feed anything through to the other side especially since it's made out of cardboard.
Step 4: Setting Up the Itsy Bitsy
First of all, you are going to want to go get the Arduino IDE software that we will be using to program the board from here: https://www.arduino.cc/en/Main/Software. Next, go ahead and plug in the Itsy Bitsy to your computer and follow the directions here: https://learn.adafruit.com/introducting-itsy-bitsy-32u4/arduino-ide-setup under "Arduino IDE Setup" and "Using With Arduino IDE." I would have explained this in the instructable however the people at adafruit.com do a great job explaining how to use their products.
Step 5: Programming
Please keep in mind that the programming part of this instructable is just how I did it and you can change any aspect of it to fit your needs. You can use the documentation here: https://www.arduino.cc/reference/en/language/functions/usb/keyboard/keyboardpress/ to make pretty much any combination of keys for any keyboard shortcuts. Most shortcuts can be found in program settings but if you can't find them there you should be able to just look it up online and find what you need. You can make shortcuts with multiple keys by putting the code for different keys in consecutive lines separated by a semicolon. This can be seen in the arduino code in the first "if" statement with the code for one button which prints a capital W when pressed. If you want to make even more complex shortcuts, you can take advantage of a program called Auto Hotkey to do things like opening up an application with just the push of a button. I will try to update this instructable as I play around with it myself.
Step 6: Construction
Once I had all of the buttons wired up I began to try and figure out how to mount the board to the cardboard. Unfortunately, there is really no good way to do this since the Itsy Bitsy has no mounting holes and we are using a not so sturdy surface. What we came up with is to use the bag that adafruit sent the Itsy Bitsy in to protect and somewhat secure the board itself. As you can see in the picture above, I put the board inside the bag and taped down the bag to the cardboard. You will also need to cut off the side of the bag opposite of the original opening to allow for the micro usb port to be accessible. Once you have the board "secured," the box can be folded up as seen in the pictures and taped shut or, if you're using thin enough cardboard, the tabs can be tucked into slits in the cardboard.
Step 7: Key Caps
Unfortunately, this is where cardboard begins to lose its usefulness. I wasn't able to figure out a way to make key caps out of cardboard, and that probably wouldn't be a good idea for frequent use anyways. However, if you are just using it for shortcuts and executing commands, like I am, it will probably be fine. If you are using it for gaming on the other hand, you may want to consider buying some inexpensive key caps.
Step 8: Conclusion
Overall, my goal for this instructable was to make an inexpensive, practical object that can be used in most people's lives as an alternative to other higher end products out there. I think that goal was easily achieved in that it costs about $12-$13 in total depending on what materials you already own and it has very large functionality that you can expand even more with a bit more building materials and programming.
Again, if you enjoyed this guide I would very much appreciate it if you were to vote for me in the Cardboard Challenge contest. Thanks! This is my first instructable so if you have any tips or constructive feedback you can add that to the comments and it would be greatly appreciated.
Participated in the