I had originally intended to use an Arduino with a plugin with X-Plane, but I couldn't get the plugin to work. During a clear out I cane across an old joypad. So old it wasn't even analogue!
Then I got the crazy idea of using it as the 'brains' of a switch box.
Step 1: Look. It's a Nekkid Joypad!
Cover your eyes!
With the joypad stripped down (which didn't take much) I was left to try and figure out how the buttons worked. Under the hard plastic button (which you press) is a little rubber plunger thing.
Pressing the little rubber thing against the contacts does indeed make a contact and a button press.
But rubber isn't a conductor.
Well, special conductive rubber is.
So, then I tried a bit of wire across the contacts. Yep. That works.
Step 2: We Have Contact!
I started with the shoulder buttons as I could follow the existing solder points around the board to see which button they did.
The switches I'm using are STDP. This effectively means they have two on states. So it will briefly make no contact as you switch up/down. Perfect.
The middle pin on the switch is ground and the outer pins are connected together.
There's no positive/negative here so you can solder them whichever way you want. As long as you have the middle wire going to one half of the button, and the other two wires going to the other half of the button.
Step 3: You Need Hands...
If you don't have a set of helping hands then may God help you.
You'll need it.
Step 4: Just Give It a Rub...
The non--shoulder button contacts were pretty shiny and needed a rub with a bit of sandpaper. This gives the solder something to grip on to.
The masking tape is covering three non-standard buttons. One was an auto-fire or something. Can't remember what the other two were, but they weren't recognised as ordinary buttons.
Step 5: Testing, Testing...
Probably not the done thing, but I left the joypad plugged into the USB port while I was soldering. This meant I could see whether or not the soldering was a success and the switch working.
I'm using a joystick testing application in Linux in this screenshot, but I'm sure you'll find something similar on that other operating system.
Step 6: Ooh I'm Showing Me Knobs...
That's everything in place.
The two rotary dials in the background are a bit of a test if nothing else. I know they won't work 100%, but I'm giving it a shot anyway.
Step 7: Give It a Good Push...
The enclosure is just a project box I came across on eBay. It has a sloped front which is handy.
The front plate was divided into two rows and four sections.
Far left column would be the two dials, and the remaining five points for five switches.
In case your wondering why I only have five switches yet started with so many buttons is because each rotary dial uses three buttons. Two dials and one push button per knob.
Tee hee. I said knob.
Drilled some holes, then bolted the switches and dials into place.
Getting the joypad and all the wires inside the box without popping anything off was a challenge...
Step 8: The Great Finale!
And here she is.
Aint she a beaut?
This is probably the first project I've ever completed where the end result didn't look like a dogs dinner.
Obviously, as far as any PC is concerned this is just a USB joypad.
Within X-Plane I configure it like a joystick by flicking a switch (which shows in X-Plane) and assign a task to it.
The down side of the dual rotary dials is that, of course, there's no way to tell the game, via the joypad whether you're dialling forward, or backward. The push button does work. So at the moment my X-Plane radio dial only dials up. Not a bad thing, but I might just configure the two dials for the radio. One for dialling coarse/fine up, and the other for coarse/fine down.
The good thing about it is that you don't need to rewire, or open it up, to reconfigure anything.