Introduction: Mini Joystick

About: I am an engineer and a maker who loves technology challenges.
I am building »End of semester« project and I was i need for small joystick. This is what I come on while searching instructables:
This design is pretty good, but angled push buttons are a bit expensive for me and I did have some spare non-angled push buttons. So I wanted to build the same mini joystick but with non-angled switches.
I came out with this idea, but it turned out to be not as good as I expected. So I have to make some last minute changes in design. Mechanical part is similar to the one in instructable mention earlier.

Step 1: Parts

Parts needed:
- screw M3 or M4 with 2 washers, spacer and nut
- Spring
- 4 switches (push buttons)
- Piece of PCB board
- connector

Step 2: First Design

I used some spare parts for micro servo. But it turned out that those parts are not as useful as I thought. When I turned screw around it center line, servo parts weren’t aligned with push buttons. I did try to solder in some wires to act like stoppers. This solution did not work out well.
There was another problem with spring. I was trying to use spring from old discarded pen. When I shortened the spring, it went over the washers and nuts and the handling of screw as the stick was not smooth.

Because I was making last minute changes in design, I forget to take any pictures of how joystick looked like in this step. I apologize for that.

Step 3: Improvements

Basically I had two problems. First one chronologically was the spring and the second one was part that should push on switches. I came over some solutions that worked out well for me.

When I was looking for solutions I came across rubber washers. I think those are from CD unit in PC for reducing vibrations.
The rubber washer saved me. Handling of the stick is now superb.

Pushing part:
I was in need for circular part. So I did some measurements and I realized, that last hole in servo part was perfect. I did make some holes to 4 mm acryl glass and then I cut out part I needed. This solution worked out well as I find out that I can now detect not 4 but 8 directions.

Step 4: Wired It Up

When I was finished with mechanical staff, it was time to solder in switches and wired it up. I will be using joystick with microcontroller with internal pull-up resistors so I made one side of every switch wired together and another as output signal. In the end I can still reverse logic or add pull-up resistors.

Step 5: Test

I have some extra time so I tested joystick. It works great!

Test video:

Step 6: Finished Product

I am happy with what I have created.

Step 7: Upgrades

Test, schematic
Housing, knob