Homemade Joystick - Part 1

Over the past many years, I've scribbled and sketched countless ideas for a home-made joystick.  Yesterday and today, I've managed to turn one of those ideas into a working skeleton of a joystick.

I'd wanted to make one to replace my aging Saitek X-52, which never worked as well as I had wanted it to.  I still had good use out of it, but trying to fly a Huey just required too much precise control.

So my design had precision as a priority, meant to be achieved by:
  • a large range of motion for the stick.
  • gears making the potentiometer turn further than the joystick (e.g. 45 degrees on the joystick would make the potentiometer rotate through 90 degrees.
 The basic design is a long box-section which rotates left-right, with the stick itself attached to its centre (rotating backwards-forwards).

I made the box section out of 4mm plywood, cut with a scrollsaw and glue-gunned together.  PVA would've been stronger, but I want at least a chance of dismantling it without destroying it when something goes wrong.

Pre-cut:


End of day 1: the main box section made and potentiometer fitted for the main joystick.


The helical gears were 3D printed.  I used an online gear-generator (can't remember which), but couldn't get it to download as a non-CAD 3D model for free, so I screen-grabbed and drew over it in Inkscape to get an SVG.  I then imported that SVG into Blender and extruded/rotated several times to get the helix.  It was a chore, but once neatened up with a scalpel, the prints work really nicely.
 
Day 2: base fitted


The cylindrical bearing in the foreground is a piece of dowel with a hole drilled through it.  It took four attempts to get the hole anywhere near the centre of the dowel section.  It also isn't as snug in the support as I'd like - there's a fair bit of play when you rotate it.

Day 2: stick-frame and Arduino fitted






It's an Arduino Micro with the ATMega32U4 so it can handle USB without an external module.

The extra bit of strip-board by the Arduino is to split out the VCC and GND connections so I can have multiple potentiometers easily attached to them.

Then I just needed to write a sketch with the Arduino IDE and MHerionimus' joystick library and both axes work!

Next is to design all the buttons/hats/bells/whistles that are going to go on the stick itself!



 

 


Comments

Popular posts from this blog

Micro:Bit and SPI display

DCS World with TrackIR under Ubuntu

Cardboard Mock-up of USB Joystick