<<<      Inputs in SimVimCockpit

When making cockpit controls you should define all types of inputs to be used and know what type of switches you need to control every function in your cockpit - toggle switch with maintained functions (OFF-ON), toggle switch with one or two momentary positions, push-button switch with either momentary or alternate functions, etc.

For more information about the different types of input actuators, see the tech guide pages.

Most of the systems in an aircraft cockpit are controlled with toggle switches, multi-position switches and momentary push-buttons. For parameter value increment/decrement two coupled momentary push-buttons (- and +) can be used in your cockpit. It can be buttons for map zooming, clock setting, trim adjustment, as well as for any other incremental inputs instead of using encoders.

Also, the rotary encoder is a commonly used input device for changing numerical data step-by-step. With SimVimCockpit you can configure any two input pins either for encoder or for a pair of increment/decrement buttons.


All multiplexers used for inputs are connected to the same bus as all output multiplexers. The difference is that for input only 4 address lines and 2 power lines are used.

The "EN" signal of each input extension board should be always logical "0" (set to GND). Usualy the multiplexer breakout board has a pull-down resistor on this 'EN" pin, so it can be already set to logical "0" but you need to be sure it is, so just connect it to GND.

The "SIG" output of every input multiplexer is connected directly to the pin assigned for this input extension.

1. To work with SimVimCockpit correctly, the throw terminals of every toggle switch or push-button should be connected to one input directly, without using any pull-up/pull-down resistors. Another, "pole" terminal is connected to the common GND bus:

2. To work with SimVimCockpit all encoders (or pair of push-buttons) should be connected to Arduino pins or multiplexer pins directly, without using any pull-up/pull-down resistors. Each encoder always occupies two adjacent inputs, and the common "C" terminal of each encoder is connected to the common GND bus:

NOTE: you need to know the positioning of the common ("C") terminal in each encoder, because it can be either in the middle or not.
Read more technical details about encoder types on this page: Tech Guides - Rotary Encoders

Toggle switches positioning

Before fasten your switches on your panel correctly you should test it. If you already have placed the switch on your panel and it works inverse, simply turn this switch aroubd by 180 degrees on the panel and fasten it.

Just remember - when you short the controller pin to the GND - it is always the "ON" state. All you need - is to test the toggle switch before and place it the way that it is in OFF state when not shorted to the GND.

For those who can't flip the installed switches around for some reason, we have added optional "i' flag, but it doesn't work for "single toggle command situation" (when just one toggle command is used for toggle switch in custom plane with link to one read-only dataref for position monitoring).

So, just place your switch in right position on your panel.

Encoder mode switches

You can use additional toggle switches or push-buttons to switch between different encoder modes, to control different parameters with this particular encoder:
  • 2-mode toggle switch (or push-button for press-and-hold operation) - if switch is in one position (or button is pushed and held), the encoder controls one parameter, when the switch is in the second position (or button is released), the encoder adjusts another parameter.
  • toggle mode push-button - to cycle betewen several modes. After each mode button press, the encoder will switch to the next parameter.
  • set of several push-buttons - to activate a specific mode out of several. Instead of cycling between several modes, each button sets a specific mode for the encoder.
If the encoder has a built-in push-button switch you can use it as any other "standalone" button for any simulator command, not linked with encoder itself, or as a mode switch described above.


You can group a set of switches into one module/panel using multiplexer extension boards. Place several modules in different parts of your cockpit and connect them to the main board using only one pin for each multiplexer and the system bus wires, 5 (or 4) wires, +5 and GND, that are laid across the cockpit to each multiplexer:

Other connection options

8-channel extension

Although we recommend to use the 16-channel multiplexers for inputs, even if you don't use all 16 channels, you can also use the 8-channel 74HC4051 multiplexer when you don't need many switches in one particular place.

There is no difference in code performance because the firmware function always counts it as 16-channel MUX.

Note: if you use the 8-bit multiplexer board you should not connect the "EN" input to the "GND". Instead you need to use the first 3 bus address lines for S0..S2 and connect the 4-th address line to the "EN" input of this multiplexer board.

Direct inputs connection

Any switch, button, or encoder can be connected to the main controller board directly, without using extension boards (MUX). You can use this if you have a very simple control panel with a few switches, or you just need to connect additional switches to your system and you don't want to add more extension boards.

© Copyright 2012-2018 - SimVim Design