A2A
How To...?

How To...Build Flightsim Panel Switches

By Arthur Burke (12 April 2004)

Finished Prototype Like many flightsimmers, I have studied many approaches to flying without the keyboard. Although I've discovered there are times one just can't do without it (unless one is willing to ignore cost!), numerous people have discovered different approaches to eradicating use of the keyboard. This is just one more; perhaps not the least expensive, but it works quite well for me.

Rather than start with the ugly stuff and all the boring details, let's start with the finished product. I was originally going to consider this my "prototype," but a friend of mine thought I already had enough of the basics to make it all work out. The top part, where all the switches are accessed, is made of clear acrylic. I found it in, of all places, Office Depot. It was originally designed to support a telephone in an office environment, with room underneath for papers, stapler and other office paraphernalia. After my first mistake of trying to make one of these things out of sturdy, strong sheet metal (virtually unworkable without the proper tools/equipment!), I decided wood and plastic (perhaps thin plexiglass?) would work much better.

This "model" was designed to meet all the needs for my beloved DC-3, but there are a couple of functions not found on that plane, so I could adapt its use for some of the other planes in my fleet as well.

The phone stand was originally clear. My friend Jim said, "Paint the whole thing black. Flat black. Goes with everything!" So I took his advice. The wooden base is solid wood. It's left over pieces from what used to be my computer platform. (Yes, I sometimes do throw things away, but not very often!)

Keyboard Encoder The heart of this project is the Keyboard Encoder. This particular board is the KE72 from Hagstrom Electronics (www.hagstromelectronics.com). They have several products along this line and I have a particular reason why I chose this specific one. Some of their models scan the inputs, but this one doesn't actually scan. It just converts switched impulses into keystrokes. I guess I shouldn't say just, because the beauty of this beast is in the keyboard macros. When turning a switch on, up to 32 keystrokes can be executed. When the switch goes to the "off" position, up to 16 keystrokes can be executed. It shouldn't take very long to figure out the power of what could be done. This was the prime reason I chose this approach for my switching over cannibalizing a keyboard or keyboard chip. I'll come back and address the macros in a moment.

The Encoder Board is built on a PC board. I found it impractical to actually mount the board in my PC, however. I couldn't figure out a practical approach to get from the PC to the switch panel and I didn't have an extra slot in my PC. The bottom of the board has "fingers" for mounting in a PCI (or similar) slot, but without contacts. There is no electrical connection (none is needed) provided by the PC. All necessary power for the board is provided via the keyboard plug. The encoder board plugs into your keyboard socket via a mini-DIN plug. If you have the larger style, there are adapters available. Then your keyboard plugs into the Encoder Board. The Encoder Board looks, to the PC, like a keyboard. If you want to get really fanatical, you can leave the keyboard off your sim system and boot with just the encoder board attached. If you look carefully at the top of the Encoder Board, there are two sets of pins. Each set provides 36 inputs. My particular setup has 34 switches, so I'm using only about half of the total power of this board. I suppose if you decide to build a 747 cockpit you would either need several of these boards or go the EPIC route instead. Fortunately, Hagstrom provided a nice interface for using the two sets of pins. A little bit more cost, but well worth the money.

Breakout Board Here's a picture showing Hagstrom's breakout board. Each side of the board has a ground connection and nine inputs, thereby providing a total of 36 to the encoder board. Connection is via an IDE-type ribbon cable. One end of each wire is soldered to an appropriate switch. The other end need not be soldered at all. Each side of the breakout board has a little metal "gate" that clamps the wire securely into the terminals. I "daisy-chained" all my grounds and ran just a single ground wire to the breakout board. The remaining 34 wires all run to individual inputs. For clarity sake in the above picture, I temporarily removed the ribbon cable. The one provided with the breakout board is about a foot long. I checked with my local PC gurus and they tell me you wouldn't want one to be more than about three feet max.

The Guts Here's the "behind the scenes" view of the project. My first attempt was with solid wire. An electronic "no-no," but I had a gob of it in my junk box. Besides, every time I moved something, the breakout box tagged along, like some kind of mindless, metal dog! Once I knew everything would work the way I expected, I got some 20-gauge, stranded wire and the other necessary odds and ends to permanently wire the switches. Keeping track of the individual wires and what switch they were connected to didn't turn out too badly. I started trying to label each wire, but that got much too tedious. I eventually just worked with each row of switches and terminated each wire into the next successive terminal. I only made one mistake, and that was easily corrected with the software (which is also provided with the Encoder Board).

While I don't plan on removing the top very often, having some slack in the wires and having some semblance of bundling keeps everything halfway organized. Believe it or not, what you see in the above picture represents approximately 80 feet of wire. What it might take to do an entire cockpit kind of boggles the mind. As you might be able to tell from the photographs, the underside, front part of the "panel" is open. That makes it quite convenient to get my "umbilicals" (the cables for the keyboard inputs) to the PC without extra construction. There are no holes in the back or side for cable runs.

Programming the Encoder Board is quite simple. A configuration file is created and loaded to an EEPROM chip. Operating systems prior to Windows XP can load the config file directly via the keyboard port. Unfortunately, my OS is Windows XP Home, requiring the processing of the config file to be done via the serial (COM) port. I left plenty of room to get the serial cable into the switch box when any re-programming needs to be done - if ever. As an example of how easy the programming is, here are a couple of lines from my config file as an example:

IN08:[(+)TAB][V][(-)TAB]

(1) This is the "code" for input number 8.
(2) When the switch connected to this input is turned "on," the TAB key is pressed and held.
(3) Then the "V" key is pressed - momentarily
(4) Then the TAB key is released.

If using the keyboard directly, this just translates to TAB + V. In the "KEYS" section of FSUIPC, this particular switch action is defined in FS Controls as "Toggle Electric Fuel Pump 1." In my DC-3, it toggles the left booster pump (fuel pump). So, when the switch is turned "on" the left fuel pump switch is turned on. Now here's the other half of the "equation:"

IN08|[(+)TAB][V][(-)TAB]

The only difference in this "command" from its predecessor is right after the "8" entry. In the listing above, there's a colon ":" following the "8," while here, there's a "|" key (it's the character on the same key with the "backslash" just above the ENTER key on most keyboards). This indicates when the switch connected to the number 8 input is turned "off" it will again do a TAB + V to toggle the fuel pump to the "off" position.

When I got to the starters, I found a new problem, but the codes available provided a relatively easy answer. Have you noticed in many of the planes (and I've found this true in just about every version from Microsoft) you have to hold on to the left mouse button when starting an engine? The encoding here permits a similar action with the keys/switches.

IN09:[(+)TAB][S][(-)TAB]

I have input number 9 established as my left starter switch (TAB + S). I discovered that a momentary press of the key (just flipping the switch to on) didn't "cut the mustard." I had scanned the documentation a couple of times already and something about "repeat" had caught my eye. The "" sequence in the line above was the key. As long as the switch is "on," the "key" will be held down. Once I hear the engine start to rumble to life (or see the appropriate gauges on a jet panel), I can flip the starter switch to off. The programming in this particular case, only works when the switch is "on," so I don't need to make a statement in the config file for an "off" state.

I must confess. The day the encoder board arrived in the mail I burned up the phone line between my house and the sales force (actually the entire staff!) at Hagstrom Electronics. I kept stumbling around with just a couple lines of code and couldn't seem to avoid petty mistakes. But those petty mistakes kept the board from working properly. After about an hour of mistakes, misunderstandings (and reading the DOC file again!) and a couple of phone calls, I was in business. Fortunately, the guys at Hagstrom Electronics were very patient, understanding and very helpful.

The Cockpit Here's my current setup. I had originally planned on installing some switches in the console you see in the center of the picture. However, that puppy is made of some very solid steel. It didn't take too long to consider an alternative to drilling/cutting 1/8" steel. So now, with the completed switch panel to the left (simulating the overhead panel in some planes and behind-the-yoke in other planes), yoke and throttle quadrant in the center and avionics stack on the right, I'm flying mostly without the keyboard. My alter-persona (can't think of a better name than Walter Mitty) swells the ego when I get to do all that clicking and knob turning when I fly.

As a last note, I need to throw in the standard caveat: I am not employed by or in any way associated with Hagstrom Electronics (except as a very satisfied customer!).

Art Burke
aburkefl@comcast.net

www.hagstromelectronics.com


[ Back | Home | Main Menu | Logout | Help ]
Copyright © 2004 by FlightSim.Com. All Rights Reserved.