Skip to main content

wokwi-7segment Reference

Seven segment LED display

Pin names

NameDescription
ATop segment
BTop-right segment
CBottom-right segment
DBottom segment
EBottom-left segment
FTop-left segment
GMiddle segment
DPDot LED
COMCommon pin*
DIG1Digit 1 pin*
DIG2Digit 2 pin*
DIG3Digit 3 pin*
DIG4Digit 4 pin*
CLNColon pin (optional)

* COM is the common pin for a single digit 7-segment display. For multi digit displays, use DIG1…DIG4.

By default, the segment pins (A…G, DP, CLN) are connected to the anode (positive side) of the LEDS, and the common pins (COM, DIG1…DIG4) are connected to the cathode (negative side) of the LEDs. You can set the "common" attribute to "cathode" to reverse this behavior.

The segment mapping is as follows:

7-segment display segment mapping

And the digit mapping:

7-segment display digit mapping

Attributes

NameDescriptionDefault value
commonThe common pin: "cathode" or "anode""anode"
digitsNumber of digits: "1", "2", "3" or "4""1"
colonSet to "1" to show the colon (clock mode)""
colorThe color of the segment LEDs"red"

Examples

ResultAttrs
{ "color": "green" }
{ "color": "#d040d0" }
{ "digits": "2" }
{ "digits": "4" }
{ "digits": "4", "colon": "1" }

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