Back to Step by Step Course by Robojax

Lesson 110: Build up to 8 digits Seven Segment display using 74HC595 Shift Register | Robojax

Please select other codes for this lecture from the links below.

Related or required files and link to this lesson

LED Seven Segment Display using 74HC595

This vode is to introduct the 74HC595 to driver 8 LED lights and turn them ON from 0 to 8 one by one while keeping each LED ON.

Projects in this video using 74HC595

  • Project 1: Basic Shifting LED lights
  • Project 2: Single Digit Seven Segment at 6:29 of video
  • Project 3: Two digits dispaly at 15:28 of this video
  • Project 4: Up to 8 Digits display is explaiend at 31:47
  • Project 5: Adjusting delay of each digits using potentiometer at 57:32
  • Project 6: Measuring DC voltage and dispalying on the LCD at 1:00:41

In Project 2 we control direction of rotation of stepper motor using keyboard on our computer via serial monitor.

Timing of chapters in the video

00:00 Start
2:19 Code-1 Walking light
4:02 code-1: demonstration
4:49 connecting seven segment to walking light code
6:19 Code-2 single digit display
8:13 code-2: wiring
12:20 code-2: code explained
14:35 code-2: demo
15:28 code-2: two digits wiring (main wiring)
24:25 code-3: two digits Seven Segment display using 74HC595 code
29:06 How to digits display works
31:47 Code-4: Up to 8 digits Seven Segment display using 74HC595
36:16 All digits code explained
50:43 All digits demo
55:38 two display in parallel
56:30 Common Anode/Common Cathode test
57:32 Code-5: Adjusting delay with potentiometer
1:00:42 Code-6: Pot voltage
1:03:36 driving display with transistor
1:04:01 wiring explained
1:05:29 demo: transistor driver

Build up to 8 digits Seven Segment display using 74HC595 Shift Register 
Watch full video instruction on YouTube
written and explained by Ahmad Shamshiri on

const int DATA_DS_PIN14    = 10; //Pin connected to DATA_DS_PIN14 of 74HC595 
const int LATCH_STCP_PIN12 = 11;//Pin connected to ST_CP of 74HC595
const int CLOCK_SHCP_PIN11 = 12;//Pin connected to SH_CP of 74HC595 

int datArray[] = {B00000000, B00000001, B00000011, B00000111, B00001111, B00011111, B00111111, B01111111, B11111111};

void setup ()
  Serial.println("Code 0: 74HC595 2 digit display driver");
void loop()
  for(int num = 0; num <=8; num++)
    digitalWrite(LATCH_STCP_PIN12 ,LOW); //ground ST_CP and hold low for as long as you are transmitting
    //return the latch pin high to signal chip that it 
    //no longer neeDATA_DS_PIN14 to listen for information
    digitalWrite(LATCH_STCP_PIN12 ,HIGH); //pull the ST_CPST_CP to save the data
    delay(2000); //wait for a second


The least I expect from you is to give the video a thumbs up and subscribe to my channel. I appreciate it. I have spent hundreds of hours making these lectures and writing code. You don't lose anything by subscribing to my channel. Your subscription is a stamp of approval for my videos, helping more people find them and, in turn, helping me. Thank you!

If you found this tutorial helpful, please support me so I can continue creating content like this. support me via PayPal

**** AFFILIATE PROGRAM **** We are a participant in the Amazon Services LLC Associates Program, an affiliate advertising program designed to provide a means for us to earn fees by linking to and affiliated sites.

Right Side