Multi-position switches

Multiposition rotary switches are an essential part of the control system in many aircraft cockpits.

This type of switches is used mainly when you need to control one parameter that has more than two states, for example select one mode for radio equipment (e.g. transponder mode switch), set map range, select navigation source from several ones. Also such control actuators as flaps lever may be considered a multiposition switch.

Rotary switches for your home cockpit

A rotary switch consists of a disc contactor (connected to pole terminal) operated by rotation of the spindle, and several contacts (connected to throw terminals) arranged in a circle along the contactor path. While you rotare an actuator (knob, handle), the "pole" disc connects to the "throw" contacts one by one.

Every rotary switch has a detent mechanism that allows it to "jump" from one position to another momentarily. As any other switches, rotary switch has at least one "Pole" terminal and several "Throw" terminals. Also, it can have several poles, each one commutating its own group of throw contacts.

To make a rotary switch for your panel you need to buy a switch that has suitable size and positions number and find or make the knob yourself (using 3D-printing, for example). Then connect each position output terminal of this switch to digital inputs of the controller board as described here.

DIY cheap Magneto/Starter Key Switch

If you need a magneto/starter 5-position switch with a key (like in Cessna and other similar aircraft), you can make it yourself using a simple key latch and a multi-position rotary switch.

A cheap key latch can be found easily (such as for a tool box, furniture, etc.) - see example links from Ebay here. Just fit the key latch onto your panel, place the suitable multi-position rotary switch behind the panel, and connect them together:

Using several momentary push-button switches

A multi-position switch can consist of a group of push-buttons, so you can make any mechanical actuator that has either linear or rotary movement. As example here is diagram for a 9-position flaps lever.

When the handle is pulled up no buttons are pressed, and when the lever is moved to the next position and released, the spring returns it down and the button in this position is actuated and stays pressed until the lever is moved again.

Besides, you may just have a group of momentary push-buttons on your aircraft panel, without any type of actuator, that will work the same way as multi-position switch. When you click one button, the parameter will take the value that is configured for its "position":


Same as in our previous interfaces (ArdSimX, XPData ..), you can either use an analog input for a single rotary switch, that has a divider with several resistors, as described on this page, or a group of digital pins.

However, since SimVimCockpit supports multiple extensions, when assigning multi-position linear or rotary switches in SimVimCockpit, you can simply use a group of extended digital inputs, when one input is assigned for each switch position. So, one Arduino digital pin can be used for several rotary switches along with other buttons/switches.

Physically, a multi-position switch can be just a group of push-buttons for some equipment when each button switches this device into specific mode.

Multi-position switch on analog input

To prepare the rotary switch to work as a position sensor for analog input you need to solder a number of resistors to the switch leads as shown in the diagram below.

For an N-position rotary switch you will need N-1 resistors of the same value (1...5k each), soldered between consecutive terminals. The sum of all resistor values can be between 3...50 kOhm. The first terminal is connected to the GND bus, the last one - to +5V.

Also, one 100 ohm resistor and one 1..5 uF capacitor need to be connected to the pole terminal - the resistor goes to an analog input and the capacitor to the GND bus.

A simplified way to make a rotary/linear switch is using a potentiometer as a voltage divider. Connect the middle terminal of a potentiometer directly to an analog input, and the other two - to +5v and GND. The potentiometer shaft is attached to the lever axis and the lever has several mechanical detents. To use full potentiometer rotation range you can add gears between the lever axis and the potentiometer shaft.

Note: the method with a potentiometer (non-fixed resistors) can only be used for linear value mapping, i.e. when the potentiometer lever position corresponds to the parameter value (this may be suitable for some flaps levers). For example, if you have a range of parameter values from 0 to 10, the lever position of 33% will set the value to 3.3, at 80% the value will be set to 8, and so on. You cannot assign parameter value 5 at 70% position.

© Copyright 2012-2018 - SimVim