7-Segment Displays Wiring
Segment Indicators, Tech Guide

Numeric 7-segment LED indicators

The numeric indicators used in real airplanes can be replicated in your home cockpit using 7-segment LED modules, which can be a pretty realistic substitute, especially if you can find indicators with right size and color.


The term "7-segment" is related to the form of displaying numeric information, and not defines the type of the display itself, its construction and operation. There are many display types (LED, LCD, Gas, Incandescent etc) that use 7 segments to display numbers, as well as 9, 14 and 16 segments for alphanumeric symbols.

Using 7-segment LED indicators in home cockpit is an easy way to simulate various devices displaying decimal numbers. In real planes some displays are made using such LED indicators.

However, most real equipment devices (especially older ones) may rather have Gas Discharge displays (as in most of Bendix King equipment), Fluorescent display modules, Incandescent indicators, and even electro-mechanically controlled numeric displays.

Since all these types of displays form digits using a 7-segment matrix some of them can be reproduced using LED indicators of suitable size and color.

LCD displays

In newer equipment all these indicators are often replaced with LCD displays that have fixed 7-segment sectors or with LCD matrix displays.

Supported 7-segment controllers

SimVimCockpit firmware directly controls following display types:

  • LED display driver MAX7219 - pre-assembled 8-digit modules or custom-made displays
  • LED display driver TM1637 - pre-assembled 6-digit and 4-digit modules
  • 16-bit LED drivers (DM13A and similar, see details on below)
  • 8-bit shift registers (74HC595 and similar registers)
  • The SimVimCockpit© firmware program code has been developed from scratch according to tech specification of every device type, without using any libraries.

    Each connected display can consist of up to 8 digits and be used to output 2 or 3 parameters simultaneously when one parameter value is shifted relative to the other.

You can assemble displays yourself, with any number and size of digits, using the DM13A LED drivers, shift registers, or MAX7219 driver.

Also, there are various pre-assembled modules on the market, with MAX7219 or TM1637 drivers, or modules with 74HC595 registers - you just need to connect display module as described below and configure what to display on it and how.

Pre-assembled and DIY custom displays

Pre-assembled modules with drivers MAX7219 (or TM1637) allow you to quickly make some cockpit indicators, and you can use them right away - just connect module to one of the 16 extended outputs. Usually, the MAX7219 module has 8-digits (sometimes 6) and TM1637 - 6 digits installed.

But, the sizes of indicator digits can be not suitable for making an authentic display, usually they may be too big, and it can be hard to find an assembled display with the desired number of digits (if you don't need 6 or 8-digits).

There is a solution - instead of using pre-assembled display, you can always decide to make it yourself. It's not so hard, even if you don't have much experience in electronics.

1. DM13A driver wiring

One of the easiest way to drive 7-segment indicators is using the same LED driver ICs as for extended digital output in SimVimCockpit.

Trying this takes only a few minutes of your time, all you need is to take one DM13A driver or another similar IC and two 7-segment indicators. Also one constant or variable resistor 2 .. 10 kΩ is needed to set the desired brightness. Note: the indicators should have a common anode.

Thus, with a single driver, you can quickly assemble a 2-digit display, for example, for a voltage indicator. Adding more drivers to the chain, as shown in the diagram, you will get a display with any number of digits, from 2 to 8 for use with SimVimCockpit. Each IC in the chain drives 2 digits, and the last one - either one or two, depending on your needs.

Once the display module is assembled, connect the "S" input to the extended output assigned for this 7-segment display and two other signal inputs - "D" and "L" - to the common "D" and "L" output bus lines, as described on the "Connection" page.

Note: You can power the driver chip from the same +5V bus as your Arduino, but you should use appropriate power supply for the 7-segment indicators (+VLED). It can be a separate power supply or the same +5V source if it is powerful enough for all devices in your system.

2. 74HC595 Shift Registers wiring

Another option is to use the 74HC595 shift registers, which was implemented in ArdSimX. The difference from LED drivers is that one HC595 chip can drive one 7-segment indicator and it needs 8 resistors for each segment to be connected. The indicators should have a common cathode.

Note: You can use 7-segment indicators with common anode as well, connect the common anode terminal to +Vled power supply.

So, with a single chip, you can assemble a 1-digit display. Adding more registers to the chain, you will get a display with any number of digits. When joining several registers, you should connect together all "L" and "S" signals, as shown in the diagram below.

You can wire registers directly to the indicators or make a printed board. Another option is buying breakout boards with 74HC595 registers. You can find sample links on the "Components" page. All you need is to solder LED indicators with resistors to the board outputs.

3. MAX7219 driver

If pre-assembled modules with the MAX7219 driver do not meet your needs, you can buy a driver chip (for about $1 or less) and assemble your display using any number of digits with any size and color of LED indicators.

You can use either multi-digit LED indicators or separate (single-digit) indicators with common cathode (!).
Make all wiring following the diagram below:

  • connect all "Seg #" outputs of MAX7219 chip to a,b,c,d,e,f,g,h segments of indicator accordingly.
  • (If separate indicators are used, all the relevant segments of each indicator are connected in parallel).
  • connect "DIG #" outputs of MAX7219 chip to corresponding common cathode terminal of every digit (starting with DIG 0 on the right side).
  • select the appropriate "Rset" resistor value and connect it between terminal #18 and +5V to pre-set maximum segment current.

Note: The Rset resistor value can be from 10 to 50 kΩ according to MAX7219 datasheet, depending on the number of digits and maximum current. To start, you can try any resistor in range of 15 .. 30 kΩ .

In addition, you should use the "pull-down" R* resistor connected to the CLK with a value of ~1...2 kΩ to prevent the LEDs from being randomly lit on power ON and interference between different displays connected to one multiplexer. If you will use this display with "direct" connection you can omit this resistor.

Alternative method:

An easier alternative to the above method, instead of lots of wiring and making a PCB for the MAX7219 driver, you can buy a MAX7219 LED matrix board. You can remove the LED matrix module, and the board will allow you to make a single 8-digit display by wiring your 7-segment modules to the board outputs.

You can buy one of the MAX7219 dot matrix modules here (example link).

© Copyright 2012-2018 - SimVim