Introduction: Seven Segment Display Tutorial

About: Preapering for my medical entrance exams

How many TV shows and movies have some mysterious device counting down to zero those displays are 7 segment displays.With the 7 segment displays you can display any number or some alphabets that your heart desires.

At first controlling a 7 segment display seems quite complex but it quickly becomes clear.

What follows is a quick guide to control a 7 segment display with a arduino board

If you want to jump ahead to any other part here's your chance:

Step 1 - What Is A Seven Segment Display?
Step 2 - Parts & Tools
Step 3 - Testing
Step 4 - Built The Circuit
Step 5 - Project 1- One Digit Count Down Timer
Step 6 - Multiplexing
Step 7 - Project 2 - Two Digit Count Down Timer

This instructable is a entry in the arduino contest so if you like it please vote.

Step 1: What Is a Seven Segment Display?

A seven-segment display (SSD), or seven-segment indicator, is a form of electronic display device for displaying decimal numerals that is an alternative to the more complex dot-matrix displays. Seven-segment displays are widely used in digital clocks, electronic meters, and other electronic devices for displaying numerical information.A seven segment display, as its name indicates, is composed of seven elements. Individually on or off, they can be combined to produce simplified representations of the arabic numerals.The seven segments are arranged as a rectangle of two vertical segments on each side with one horizontal segment on the top, middle, and bottom. Additionally, the seventh segment bisects the rectangle horizontally. There are also fourteen-segment displays and sixteen-segment displays (for full alphanumerics

Step 2: Parts & Tools

~ 2 x Seven Segment Display (Common Cathode)- Red,Blue
~ 1 x 330 ohm resistor -
~ Arduino Uno(Or equivalent) -
~ Breadboard -
~ Some jumper wires -

~ The arduino programming Environment -
~ USB Cable A-B -
~ Soldering Iron -
~ Solder Wire - Leaded or Lead Free

The total cost should be about 8.10 $ assuming that you have a arduino,breadboard and all the tools

Step 3: Testing the Display

Before we connect the seven segment display to our arduino its a good idea to give it a test.

Consult the datasheet of your display for the PIN-OUT and other specs

Wire up your display for testing
~Plug the display into your breadboard
~Connect the two common cathodes together and attach a resistor to them
~Connect the common cathode resistor to the -5v
~Test each segment by connecting its pin to +5v
~Experiment and try to make different numbers by lighting one or more segments at the same time 

Step 4: Built the Circuit

Now lets move on to controlling the seven segment display with the arduino.

The circuit is pretty straight forward connect the common cathode's to gnd with a 330 ohm current limiting resistor. Connect the seven segment displays pin number 7(A) to arduino pin2 , 6(B) to arduino pin3 , 4 (C) to arduino pin 4 , 2 (D) to arduino pin5 , 1 (E) to arduino pin6 , 9 (F) to arduino pin7 , 10 (G) to arduino pin8 , 5 (DP) to arduino pin9.For the 2nd project first make the multiplexing circuit below and then follow these connections pattern.Segment A to pin 7, Segment B to pin 8, Segment C to pin 4, Segment D to pin 3, Segment E to pin 2, Segment F to  pin 6, Segment G to pin 5, Gnd1 via resistor to pin 11, Gnd2 via resistor to pin 9.

I have also included the fritzing digram(The worst you can get as I am not good at making circuit diagrams)  for the multiplexed circuit and the simple circuit and pinout of the seven segment display .

Step 5: Project 1- One Digit Count Down Timer

The first project we are going to do is one digit count down timer.This project will count down from nine to zero.This project does not use any multiplexing but the project 2 includes multiplexing.The circuit digram can be found on step four.

To get started and get playing with this just follow the following these simple steps.
~ Copy or download the code below and paste it in an empty arduino sketch
~ Compile the sketch and upload it to your board. If any problem occurs feel free to ask
~ And now enjoy your count down timer.
~ I have included two files the first one is a compact verson of the  code and the second one is the longer more longer one but is really easy to understand.

Here is a short video of it in action:

Step 6: Multiplexing

In the technique of multiplexing the entire display is not driven at one time. Instead, sub-units of the display (typically, rows or columns for a dot matrix display or individual characters for a character orientated display, occasionally individual display elements) are multiplexed, that is, driven one at a time, but the electronics and the persistence of vision combine to make the viewer believe the entire display is continuously active.In senven segment displays the various segments of each character are connected in a two-dimensional matrix and will only illuminate if both the "row" and "column" lines of the matrix are at the correct electrical potential. The light-emitting element normally takes the form of a diode so electricity will only flow in one direction, keeping the individual "row" and "column" lines of the matrix electrically isolated from each other.

A multiplexed display has several advantages compared to a non-multiplexed display:
~Fewer wires (often, far fewer wires) are needed
~Simpler driving electronics can be used
~And both lead to reduced cost
~Reduced power consumption

For information please refer to this page

Step 7: Project 2 - Two Digit Count Down Timer

In the first project we made a one digit count down timer but now its time to move to the next level.This project counts down from twenty to zero.The two seven segment displays are multiplexed to reduce the number of I/O pins used.The circuit digram can be found on step four.

To get started and get playing with the count down timer just follow these simple steps:
~ Copy or download the code below and paste it in an empty arduino sketch
~ Compile the sketch and upload it to your board. If any problem occurs feel free to ask
~ And now enjoy your count down timer.

Here is a short video of it in action:

Step 8: Final Thoughts

 By this point of time you have mastered controlling a seven segment display all that is left is comming up with ideas on how to use it.A seven segment display can be used for various purposes.Some other applications can be found here.Hope this project inspires further experimentation.Dont forget to follow mores comming up.

I have lots of plans for the displays.If you make something innovative please post some pictures or E-mail me at

Make It Real Challenge

Participated in the
Make It Real Challenge

Arduino Challenge

Participated in the
Arduino Challenge