Thus far, I’ve done essentially nothing on the next-generation projection screen front; which is to say, there’s a big pile of wood in my hallway waiting to be turned into a 180 degree wraparound screen. I had intended to get onto that this weekend, but as it turned out my DIY skills were needed on the existing sim.
This week, for reasons unknown, the magneto extracted from my Saitek switch panel stopped working. I think it might have had something to do with the relatively poor mounting of the switch in my temporary simpit, which kept coming loose. When loose, turning the switch would result in the switch itself rotating, and eventually the switch barrel seems to have broken. Oh well.
To add insult to injury, the landing gear lever stopped working as well. In this case I think it was a cable issue, and since the cables for the gear module and the magneto went to the same connector block, I suspect the twisting of cables was the fault in both cases.
I wasn’t able to replace the rotary switch with an exact replica, and I wasn’t sure if any other switch would work – the Saitek gear can be fussy, in my experience – and so I decided to press into service one of my Leo Bodnar cards. If you don’t know what one of those is, it’s basically a circuit board with a large number of spring terminals into which you connect switches, potentiometers and rotary encoders. You plug a USB cable into it, and it looks to the operating system like a game controller. Really very handy for cockpit building!
I took everything apart and soldered new cables onto the gear switch, and then used a 12-way rotary switch that I had on-hand (I ordered a bunch of them way back in 2009 when the cockpit project first began and finally I get to use one) to replace the failed magneto rotary. These switches can be configured with a stop so they can be anywhere from 2-way to 12-way, and for this application I needed five switch positions – off, left, right, both, start – so I set this one to stop 6 and removed the other terminals. I trimmed down the shaft to the correct length, and then using my Dremel with a sanding disk I sanded the edge of the shaft flat to match the D-shaped hole in the knob from the Saitek panel. Then I soldered cables onto this.
The idea was that each position of the rotary would trigger a joystick button on the Bodnar card. Now, each button requires a signal wire and a ground wire, and I didn’t want to deal with all those grounds, so underneath the board I cross-soldered a piece of solid wire across the ground terminals of buttons 1 to 4. I assumed that the ‘off’ position would not require a button as the absence of any button press would equate to ‘off’. More on that later…
I wired up the cables to the live terminals for buttons 1-4 with a single ground on button 1 connected to the common ground of the rotary switch, plugged in the card, and bingo. On the controller calibration panel I could see the various lights illuminating as I rotated the switch.
I also connected the gear lever. The switch for this is a double-pole single-throw with a common ground and positions for Up and Down. I connected each to a button terminal – again, with a common ground wired on the board – and could flip the gear lever and see the button lights illuminate.
While I was soldering, I took the time to re-solder the USB cable to the PCB from the original Saitek switch panel. This was bodged last time with cables joined together – always a bad move – and more than once the connection had broken and caused the panel to fail. So I re-soldered the cable directly to the board, removing the old end of the original cable, and to protect the fragile joints – I’m just not that good at soldering on surface-mount-sized boards – I covered the whole thing in hot glue. This is a technique I learned a while ago when making bridge boards: when you have thin wires exposed without the protection that being inside a case or a cable sheath gives them, you can expect joints to snap and fail – the cable is very thin after all – and so I cover the entire area in hot glue and let it solidify into a nice protective lump. Problem solved.
I could have re-wired the whole console switch panel to the Bodnar board, and gotten rid of the Saitek panel guts, but I decided against it. For one thing, the Saitek PCB has the gear lights on it, and the logic to illuminate them correctly. So now I have the Saitek PCB controlling the switches and the gear lights, but the Bodnar card controlling the gear lever and the magneto switch. It’s an odd arrangement, but it works.
Finally, I needed to mount the magneto back to the console front, and rather than try using the old method which had failed badly, I took a different tack. From Maplin I bought an RF antenna wall plate and removed the board and RF socket from it, leaving me with a power-socket-sized plate with a hole in the middle. I mounted the rotary switch through that, and secured it tightly with the washer and nut provided. Using a hole-cutting drill-bit, I expanded the hole in the console until it was larger than the diameter of the switch body, then mounted the plate + switch assembly on the front of the console. The whole arrangement is much more secure, and the switch stays in place when you use it. Better.
The final piece of the puzzle was to get it all working in the simulator. The Saitek panels know how to interface with FSX / P3D, but the Bodnar board looks like any other joystick. So I needed to bind the making and breaking of the buttons to appropriate actions in the simulator. Here’s where Pete Dowson’s FSUIPC comes in. If you don’t know about this, go look it up – it’s the single product that makes home cockpit-building possible. It’s our interface into the simulator. And one thing it does out of the book is allow joystick button presses to translate into either simulated keypresses, or simulator actions. I bound the gear up and down buttons to keypresses of ‘G’, and the rotary switch I bound to the appropriate magneto commands – left, right, both and start.
It’s worth noting that all of the switches here are continuous, not momentary – that is, when you operate the switch the circuit gets made and stays made until you turn the switch off. It’s a bit like holding down a key on the keyboard. So you need to configure FSUIPC to not let the button press / operation repeat.
This was when I realised I’d made an error using only four buttons and not wiring up the ‘off’ position – because the only way the sim can know that the magneto switch should be in the off position is when the button for ‘left’ stops being pushed, which happens when you turn the switch to the left and to the off position. FSUIPC lets you send a further command when a button is released, so that works. But the button for ‘left’ also stops being pushed when you turn to the ‘right’ stop, of course. Oops. So as I was turning the switch to the right, it would return to the ‘off’ position. Sometimes it would then go on to the ‘right’ position as intended, but not always. This was because of the sequence of commands being sent to the simulator; specifically, you can’t know for sure what order they will be received in when two get sent at the same time.
At this point I wasn’t willing to get the soldering iron out again for what is a temporary solution, so I bodged it. When the ‘left’ button stops being pushed on the way to ‘right’ the sim gets the command to move to ‘off’, but then it also gets the command to move to ‘right’. Since these don’t always arrive in the right order, I made the ‘right’ button repeat, so even if the magneto switches off first, it’ll go straight back to ‘right’. It’s not like I spend time watching the animation anyway… I only care that the switch does its job. When I do this for the new console, it’ll be done right.
That’s it, really. I now have a functioning gear lever and a working magneto switch. I’m back to status quo ante. This keeps my temporary simpit working properly and lets me fly. Next weekend, I will finally put mitre saw to pine baton and start building the frame for my wraparound screen.
No, honest. I will.