The fact is that over the past 20 years I could see many home cockpit projects on the Internet which just have been started and then eventually stopped, or became never been finished projects, eating a lot of money for years. This is not to say that this is only due to the lack of a good interface, but if you need to become a qualified programmer or electronics specialist just to make a few LEDs and displays work in your cockpit, this could frustrate and stop many enthusiast.
The idea of this project grew out of the need to have a convenient interface that will allow an home cockpit builder to concentrate on building the cockpit itself, not thinking about how to make it work with simulator and don't waste money.
The SimVimCockpit is the 6th generation of our input-output interface for X-Plane. All history of development you can find here.
SimVimCockpit interface doesn't require some specialized and expensive electronics components, it has "modular" structure based on cheap, easily accesible, ready-to-use breakout boards and modules listed in the "Components" page and one Arduino Mega or compatible board.
So, all you need is to buy these cheap components (and all needed common switches and buttons) and connect them as described on our website. Some components, LED drivers or stepper drivers may need basic soldering skills (like this breakout board)
The system architecture includes the parallel "address bus" (a set of signal wires) that is used to extend the number of inputs/outputs to hundreds (using simple input extension boards and output drivers) and allows you to make a full set of inputs/outputs for any complex cockpit.
The main part of this interface is the SimVimCockpit Plugin that need to be added to your X-Plane as usual plugin.
The second software part is the SimVim firmware that need to be uploaded to input/output controller (Atmega2560 board) from the plugin menu.
The SimVimCockpit Plugin is the main program that makes most of data processing work and provides a link with SimVim firmware to send and receive data. The SimVim firmware is like multifunctional hardware driver for many input-output devices.
SimVimPanel is an additional, standalone program providing a set of realistic, fully-functional aircraft instrument panels to be displayed on a computer that is connected by network to the main computer with X-Plane.
Note: if you are going to start building your cockpit for the first time you should realize that it could be a complex and very long process. You should have enough knowledge about aircraft systems, have handwork, wiring and soldering skills. Some knowledge about data structure of X-Plane would be useful if you plan to use some custom aircraft models that are not already supported in SimVimCockpit (to know how they work with "DataRefs" and controlled with "Commands").
To start building your home cockpit with SimVim interface first read all wiring and configuration pages on this website, collect all needed components and then start wiring all needed switches, extensions, displays, LEDs, following the plan that you should have.
The SimVimCockpit project is always in a constant development state, it still has a lot of potential, and its functionality can be improved and changed during the development process.
Though the main input/output connection options mostly stay intact, the configuration protocol and hardware connections can be changed, sometimes drastically.
Please don't rush to make some kind of complex PCBs, modules for yourself (and especially proposing them to the community).
Besides, the SimVim architecture is specifically designed the way that anyone can simply buy ready-to-use, cheap modules and breakout boards listed on this website on the "Components" page, connect them as described on our pages, and that's all.
- Main Features (see below)
Main Features currently supported
Direct digital input for any of available 70 pins for switches, buttons, encoders.
Multiplexed 1x16 digital input extension for any of available 70 pins (totally about 500 inputs)
Direct analog input for any of 16 pins for snalog sensors.
Additioanl Multiplexed 1x16 analog input extension for ONE of available analog pins.
Axis calibration in the plugin menu, zero-position (for pitch/roll/rudder) and movement range.
Key-Matrix Input. Additional slave Nano/Uno board with SimVim Key-Matrix firmware supports 160 momentary buttons grid, released in v 0.9.34
The initial states of all toggle switches and rotary switches connected are sent on start to the plugin for proper synchronization the switches in virtual cockpit.
LEDs or digital outputs
Direct digital output (LEDs Relays, control signals) for any of available 70 pins (see limitations) .
Multiple Matrix LED outputs based on MAX7219 LED driver (same as for 7-segment displays), 64 LEDs for one module
Support for LED bargraph output (i.e. linear flaps or trimmer position indication), for any indicator lenght
Universal configurable output for any type of 7-Segment Displays (built around shift-latch registers, LED drivers or complete modules, MAX7219, TM1637)
Any display can be configured to output several parameter values, each with its own position shift and data display options.
A display can be configured to output different parameters, depending on changed conditions.
"Text" output support (custom text, conditional output) for 7-segment displays (Read more here)
Brightness control for MAX2719 or TM1637 displays from plugin. Any display can be associated with specific regulator. You will be able to link a brightness knob with any display.
Brightness control for 7-segment displays assembled on DM13A LED drivers. Controlled by separate PWM signal - you need to assign brighness parameter to any PWM output and connect it to your module
PWM outputs (analog output)
(for moving-coil meters, DC motors, adjustable LEDs, other PWM controlled devices)
1. Direct PWM outputs (8-bit) can be used with several PWR-ready pins only.
2. PWM outputs (12-bit) using one 24-channel PWM driver board -
Direct (older) and "slave" LCD display support. Configurable output to 16x2, 16x4, 20x2, 40x2 etc. character display.
Any numeric data values can be easily assigned to be displayed in any position along with any custom text. Read more...
Selecting "LCD conditional text" for annunciator-type parameters is an easier way to assign "conditionally" displayed text to LCD.
Mechanical drives, motors
Output to the stepper motors using external SimVimStepper controller board. Supported since v 0.9.26
Direct support for X27.x stepper motors with dedicated controllers as default for SimVimCockpit firmware. Other controllers (EasyDriver etc) and other steppers (28BYJ-48 etc.) should work but need more tests.
Servo output support, using additional "slave" Nano or Uno controller board connected to the SimVim Master board and used as SimVimServo controller for 18 servos. Supported since v 0.9.27
Plugin has gauge calibration tool - you can easily set ranges and mapping values for stepper, PWM, and servo gauges inside the plugin, while directly controlling the gauge position.
Modes and conditions
Flexible system of preassigned and dynamic conditions for any input and output types. Inculding: Input states, assigned switche states, output (assigned LED) state, cyclic mode button, bus voltage, pre-assigned parameter states...
Any input or output can be activated/deactivated on specific conditions, you can define as many conditional states as you need, to use them for programming some input logic or for conditional outputs (like displaying different data on one indicator)
Other features and options
Assigning output devices to a power bus number, what allows you to make instruments and gauges that work only in specified voltage range accordingly with tech spec and turned off if the voltage drops below specified.
Some of the input parameters use flight model properties for their range values (plugin reads them from plane flight model on start), such as RPM range for "constant-speed" props in radians per seconds, flaps detents number, etc
The posiibility to assign multiple LED modules (serial/matrix) to the same extension board with 7-segment displays (to output multiplexer)
Some parameter values can be stored in memory stack with memory button (COM radio frequency channels).
Loading any specified parameter values on startup (frequencies, fuel quantity etc.)
Custom. Parameters Converter for custom commands/datarefs included into the plugin. Users can launch X-Plane and convert parameters that are not working by default for selected specific plane. Online shared data "repository" on the SimVim website for custom planes, where users can create and edit the tables with custom commands/datarefs for any specific plane to use them as refernce for custom data conversion tool.