Skip to main content
Seven segment LED display

Pin names

A
pin
Top segment
B
pin
Top-right segment
C
pin
Bottom-right segment
D
pin
Bottom segment
E
pin
Bottom-left segment
F
pin
Top-left segment
G
pin
Middle segment
DP
pin
Dot LED
COM
pin
Common pin (for single digit displays)
DIG1
pin
Digit 1 pin (for multi-digit displays)
DIG2
pin
Digit 2 pin (for multi-digit displays)
DIG3
pin
Digit 3 pin (for multi-digit displays)
DIG4
pin
Digit 4 pin (for multi-digit displays)
CLN
pin
Colon pin (optional, for clock mode)
COM is the common pin for a single digit 7-segment display. For multi digit displays, use DIG1…DIG4.
With the default common attribute setting of anode, the segment pins (A…G, DP, CLN) are connected to the cathode (negative side) of the LEDS, and the common pins (COM, DIG1…DIG4) are connected to the anode (positive side) of the LEDs. Segments are lit by driving their pins low. Setting common to cathode reverses this behavior, with the segment pins turning on when high.

Attributes

common
string
default:"anode"
The common pin configuration: “cathode” or “anode”
digits
string
default:"1"
Number of digits: “1”, “2”, “3” or “4”
colon
string
default:""
Set to “1” to show the colon (clock mode)
color
string
default:"red"
The color of the segment LEDs

Using the 7-segment display

For a single digit, you’ll need 8 microcontroller GPIO pins. Each pin should be connected to a single segment through a resistor, and the common pin should be connected to 5V (or GND if you are using the common cathode variant). You can spare one pin (DP) if you don’t use the dot LED. Turn a segment on by driving the corresponding segment on (or HIGH for the common cathode variant). For multiple digits, you’ll need 8 microcontroller pins for the segments and the dot plus one extra microcontroller pin for each digit. So if you have 4 digits, you’ll need 12 microcontroller pins in total. Controlling the display in this mode is a bit tricky, as you’ll need to continuously alternate between the different digits. Luckily, there are libraries that can help:
  • On Arduino: Use the SevSeg library.
  • On the Raspberry Pi Pico: The PIO peripheral can take care of refreshing the display for you. See the examples below.
If you are out of microcontroller pins, consider using a 74HC595 Shift Register to drive the display.

Simulator examples

Build docs developers (and LLMs) love