How to Design a Button Box Housing With Schematic and PCB
Introduction: How to Design a Button Box Housing With Schematic and PCB
A couple months ago, I started a project on Tinker CAD, this would later become my fully working Button Box that I now regularly use in sim games and even for shortcuts in Fusion360. Up to my Tinker CAD project, I had limited skills in CAD and electrical design. After some time researching, I consider myself abled in both CAD design and electrical design (By no-means am I a professional so please take this advice with a grain of salt and feel free to let me know of any errors or improvements). For this Instructable, I will betrying to teach you the skills to design your own Button Box, as opposed to a set-in-stone final product, so my final product may look a little different than my examples.
For this Instructable, I recommend some exposure to Fusion360 or CAD software as I do not go in-depth on the basics of CAD.
Some skills you can expect to learn in this Instructable are:
* How to utilize Parameters in Fusion360 to create your Button Box Housing
* How to create your own schematic for your own button box
* How to utilize your own schematic to create a schematic in Fusion360
* Howto create your own electrical library for your schematic in Fusion360
* How to transform a schematic in Fusion360 to a PCB
* How to Auto-Route nets for your PCB
Unfortunately, I will not be teaching you to code your button box, as I do not yet feel comfortable in sharing code that I've designed. I have just started coding and do not want to damage or hurt anyone, but you can refer to the Additional information section at the end of this Instructable for some great coding resources.
Supplies
Some Buttons, Switches, and Encoders to think about using for your Button Box:
* Momentary Push Buttons (12MM) -- Amazon
* Momentary 2 Position Rocker Switches -- Amazon
* Rotary Encoders (5 Pin) -- Amazon
Supplies you should remember:
* Screws M4x14 -- Amazon (I used metric because metric heat set inserts are most common)
* USB - USB Micro -- Amazon (For use with Arduino Pro Micro)
* Brass Heat Set Inserts M4 -- Amazon
Special Notes or Comments:
I recommend beginners in Arduino/electronics to start with an Arduino Leonardo because it pretty easy to protype designs using a bread board without soldering, but you can use an Arduino Pro Micro if you feel that you are good with soldering.
If you are going to use a 3D printer to create you Button Box Housing, I recommend using PETG filament for its strength and ease of printing qualities
Lastly, I used Carbon Fiber Vinyl for my Button Box Lid, but this is purely aesthetic.
Step 1: Where It Started
My project started a couple months ago as a simples design in TinkerCAD, and I was waiting to learn some new skills that I would be able to apply once I started designing in Fusion360. I have to say, now that I have started using Fusion360, it has open many doors to all sorts of cool designs that I was not able to do in TinkerCAD. So, after learning some skills in Fusion360, I decided I would make this project that has been put aside for some time and make it my first purpose made design in Fusion360. 737
So, as I talk about some skills for the duration of this Instructable, keep in mind that I am learning alongside you and that you can also learn some skills from additional resources. You can refer to some great resources for learning CAD and designing your own Button Box on the final "Step" of this Instructable.
Step 2: Creating a Schematic for Your Button Box
Button Matrix
In order to create your button box, you will likely need to create a button matrix. Essentially, the purpose of a button matrix is to save pins on your Arduino so you can have more buttons. If you are wondering how a button matrix works, its similar to how you would find cells in a spreadsheet: you would use the rows and columns to find the cell, for example, cell A4 would be located on row A, column 4. Something to keep in mind if you are using this simple button matrix is that if you want to use multiple buttons at the same time, you will likely encounter random button activation called "Ghosting" , this is why I wouldn't recommend latching buttons. If in your case you do not need as many buttons, you could also simply connect your buttons directly to the Arduino. If you want to do some more research on button you can refer to this article.
Rotary Encoders
As for your rotary encoders, they must be connected individually to the Arduino, not through the button matrix. 1014