1. Introduction

     Hi! For an upcoming project I want to make a control box which will have a few buttons, an encoder and a 16x2 LCD or an Arduino touchscreen. I can get small and medium sized buttons here from a few places, but anything else is either really expensive or hard to find in my country, I'm not looking into foreign options because there are a lot of shipping delays. I would like something that resembles an arcade button, but of course, I would like it to be customized, to have lettering in the top of it, or some symbol, something like that. So I decided to try and make my own, I will go through few iterations, with 2 different approaches, the 2 approaches are using an off the shelf button for the switching and making my own switching mechanism. For the first prototype I used a small circular button, here is how that went!


2. Idea

     I went with a really simple design, I wanted to have an outer body with a thread on the outside and a small ledge so it can easily be mounted to any surface, a small spring pushed button top inside, and a bottom plate which would house the small push button. To start off I did some sketches on paper, with some rough dimensions, I wanted the button to be about 30 mm in diameter, and I did a detailed sketch of the whole assembly.(Don't be confused by the weird dimensions on the second picture, I first write the minimum required dimensions, and then increase them a bit to get bigger parts as well as some tolerances)



3. Design

     The only thing I really had to consider during the design, the only thing that I had set was the size of the spring and the size of the small push button.

Button Top

     For the button top, I went off from the sketches, some noteable features are, that it's wider at the lower part so it can spring out of the body of the button, it has a small ring shaped hole for the spring to go into, and it has letters on the top. I decided to go with fire on the top, because that's one of the buttons I want to make for that project. The small button is a cheap one I found in the local electronics store, and it will do the trick for sure, the only thing I don't really like about it a lot is that it has a travel of just 1.5 mm.

{gallery} Button Top



The body is just a cylinder into which I cut a thread. I make my own thread by coiling a trapezoid around its center axis and cutting out that part, I found it gets me pretty good results with 3d printing, because I can get a pretty big cool looking thread which is easy to print with no overhangs above 45 degrees. Besides that, it just has a ledge to stop it from falling inside the box when mounted, as well as a small ledge on the inside to stop the button top from shooting out.


{gallery} Body


Bottom Plate

     The bottom plate was an easy design, it just had to meet the dimensions of the spring, the button and the body of the button, so it was a pretty straight forward process of designing it. For when something needs to fit nicely into another thing I usually leave a 0.1 mm tolerance, I found this to work great with my Ender 3 Pro.

{gallery} Bottom Plate



     This is the only thing I had to reprint, and here's why. To model this I just matched the parameters of the coil thread I made on the cylinder, from there, I just gave it a hexagonal shape so it can be tightened easier. I modeled it so the trapezoids aren't exactly the same as the ones on the body, they are a bit smaller, but the inner edge of the nut was the exact same dimension as the outer edge of the cylinder, so when I tried putting them together for the first time, it didn't want to thread in properly, so I just scale up the model in x and y axis by 1% which did the trick!



4. Finished Button

     With that, all of the needed components are designed, after printing everything and putting it together (I glued in the bottom plate as well as the button) I finished up with this.

{gallery} Assembly




5. Additional Tools

     Besides the button, I wanted to print out 2 additional thing to make it easier to mount this button, first being a small wrench which would fit the nut securing the button, and the other one being a template which can be used to trace out a hole easily for mounting the button.



     To design the wrench I just did an offset of the nut, added a small handle and as a finishing touch rounded the edges a bit.

{gallery} Wrench



     The outer diameter of the thread is 41 mm, so I made the template inner hole 42 mm, to account for the thickness of the pen and so on, it just going to make a nice fit.


6. Summary

     And with that the first version of the big button is finish. This was a one day project, the only real setback was printing out a 1% scaled nut to fit the thread on the body properly. I am pretty satisfied with how the button works, it makes a bit of a sounds because it is 3D printed, and it just isn't that smooth, and it just doesn't have the tolerances as injection molding for example. But it works great nevertheless, and I can make my own custom versions. I am thinking of trying a keyboard Cherry brown switch instead of this button, since it has a 4mm travel. I am also thinking of maybe adding some kind of grease to see if that will make the button glide a bit better than now. Anyway, I am really satisfied with the results, but I will try out a few more iterations to see what works best for me. If you have any suggestions please let me know! Thanks for reading the blog, hope you liked it!