Using SimVimCockpit, you can configure as many LED annunciators and LED bar indicators for your cockpit as you need, even if you need more than 500 of them.
1. Any Mega2560 pin can be used as a single digital output when one output pin controls one LED. If your panel has just a few annunciators, you can simply connect the LEDs (or other digital devices) directly to Mega2560 board output pins, taking in account some limitations as described on this tech guide page. This is a simple, but very inefficient method.
2. Much more effective is using one of output extension methods, when one controller output can drive multiple LEDs. The one commonly used for controlling multiple LEDs is the "serial shift" method (serial-to-parallel data conversion), when a line of N bits is shifted one-by-one to one output. The shift register connected to this output receives all N bits, sequentially shifting them to the corresponding parallel N outputs and latching them at the end of the data sequence.
You can use 16-bit LED driver DM13A or other similar IC (see the list in the "Components" section) as serial LED output. This driver is a shift register with a latch (memory), that also provides 16 constant-current outputs for 16 separate LEDs or LED bars.
As an option, 8-bit 74HC595 registers can be used instead, as described on the tech guide pages. But no doubt, using 16-bit LED drivers is more efficient and doesn't require a lot of current-limiting resistors as in case of simple shift registers.
In SimVimCockpit you can have from 8 to 64 serial LEDs connected to one output, depending on location of the LED groups in your panels. For example, you may have 16 LEDs controlled by one single DM13A driver connected to pin #8, another group of 30 LEDs controlled by 2 daisy-chain connected DM13A drivers on pin #40, etc.
The maximum number of LEDs with serial shift control on one output is 64, for that you can use 4 daisy-chain connected DM13A drivers (or 8x shift registers if you want to use 74HC595 chips or breakout boards):
As such, you can have either one or several separate LED modules located in different areas of your cockpit. Each module has 3 input signal lines (besides power lines). You need to connect the "S" input to the Arduino pin assigned for extended output. Two other signal inputs - "D" and "L" - should be connected to the corresponding common bus lines ("D" and "L" output signals). Read more information about digital output use on the tech guide pages.
Another method of multiple LEDs control is using a LED matrix, you can have up to 64 LEDs using one MAX7219 driver. It's the same driver that is used for 7-segment displays.
It is not "Serial LED output" - all diodes are connected as matrix or "grid". To ease the using of LEDs with MAX7219, you can buy one of the MAX7219 dot matrix module (example link), which is good for testing purposes (it has detachable LED matrix). To test all your assigned annunciators you can use this dot matrix and then detach it and connect two rows of wires (anodes, cathodes) that go to your LEDs.
In the configurator, select any parameter suitable for digital output (such as annunciator) or variable parameter for linear LED graph indicator, and assign it to a digital pin (if direct connection is used) or to one of the LED Driver outputs (from 0 to 63), either serial or matrix.
Remember, you should select the "LEDs Serial" or "LED Matrix" extension type in the configurator, not "Output Mux", when assigning an output pin for LED extension!
To display some parameter value as a linear or circle graph indicator you can assign it as multiple LEDs in the configurator. For this, you have to select only the output number to which the first LED will be connected and then insert the number of LEDs your indicator includes.
All LEDs forming this indicator should be connected to the first specified digital output and all consequent outputs without skipping. You can use either separate LEDs arranged in the form you need (circle or linear) or LED bar graph indicators.
Note: The LED bar display modules with built-in voltage-controlled driver (like LM3914N) can not be used with digital outputs - you need to use PWM-controlled output for such displays instead.
With all options provided by SimVim you probably will not need this, but if you want to reduce the number of pins occupied, or you have a spare output on the multiplexer used for 7-segment displays, you can connect control input (S) to this multiplexer:
Note that this configuration option is not added in the configurator, and if you need you can assign it manually, adding the MUX output number between the pin number and the LED number: