The SimVimCockpit interface does not require any specialized and expensive electronic components. The system is based on one ATmega2560 "master" controller board and uses cheap, widely available expansion boards, ready-to-use display modules and of course common switches, buttons and encoders. In general, all components are simply connected as descibed in this pages, some components such as LED drivers or stepper drivers, may require 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). This architecture allows you to create a flexible modular system and you can make a full set of input controls for any complex cockpit and easily expand it by adding more extension modules to the bus at any time.
Potentially, you can have more than 500 digital inputs (plus extended button matrix slave board with 150+ inputs), up to 32 axis inputs, 300-500 LEDs, several LCDs and tens of 7-segment displays.
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 quite 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 (to know how it 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.
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 specially designed the way when anyone can simply buy ready-to-use, cheap modules and breakout boards listed on this website and in the "Components" page, connect them as described on our pages, that's all.
The SimVimCockpit interface uses only one (single!) "master" board as the central control unit. You can use one of the Mega2560 based controller boards available on the market. The SimVim firmware is uploading into it directly from the plugin menu.
There are many others manufacturers and sellers of various controller boards with this atmega2560 controller. In the photo you can see three mini controller boards that I have tested with SimVimCockpit, the firmware was uploaded to every of these boards from SimVim plugin menu without any problems.
There are some other atmega2560 controller boards on the market like "Crumbuino-Mega", various "core" modules. You can find them yourself using such keywords as "2560 core", "atmega2560 mini", etc.
All pins that are selectable in the CONFIGURATOR can be used for inputs/outputs and extensions. Several pins can be used for serial communication or reserved for Ethernet module (in LAN version) and 8 pins (# 22 ... 29) are reserved as system bus: 4-bit address lines used for all extended inputs/outputs and 4 control lines for output devices:
These signal lines are for outputs only - LCD, 7-segment displays and LED drivers, see more in the related sections:
NOTE: The +5V output pin can be used as a source for all multiplexers connected to SimVim bus and also it can be used to power some low-current output devices. See more detail about system powering here.
Note: These 8 pins are configured as outputs, so you may think about common precautions not allowing outputs overload when you mistakenly short the pin to the GND. You can add serial safety resistors (30 - 100 ohm to each signal line) for current limiting, but in SimVim firmware these outputs are always in "low level" and for only a very short period of program time they can be in a high level state, so it's unlikely you will overload the address line.