74hc595 shift register control with button without arduino


                                         Tutorial  @Mr.ElectroUino

 74hc595 shift register tutorial 

Hello again,

In this blog, you will learn about how to control a 74hc595 shift registor without a arduino uno.We are using three push buttons to control 8 LEDs. I will also explain how it's works and pinout.This is part 1 of the shift register series. There is more to come.


1.  74hc595 shift register for controlling the led

2. 3 X Push Button to control the shiftRegistor

3. 8 X LEDs as a output

4.  8 X 220ohm Resistor to protect the Led

5. 4 X 10k Resistor to reduce electronic noice from button.

6. jumper wire for connection

7. breadboard to make prototype circuit.


8-bit, Serial In – Parallel out Shift register

Operating Voltage: 2V to 6V

Power Consumption: 80uA

Output source/sink current: 35mA

Output Voltage is equal to Operating voltage

Minimum high-level Input Voltage: 3.15V @(Vcc=4.5V)

Maximum low-level Input Voltage: 1.35V @(Vcc=4.5V)

Can be easily cascaded with more IC to get more outputs

Maximum Clock Frequency: 25Mhz @4.5V

Available in 16-pin PDIP, GDIP, PDSO packages


Expand the GPIO pin on a MCU/MPU

LED Matrix/Cube Projects

Interface LCD

Cascading applications

High logic level controller


Let’s take a look at the 74HC595 Shift Register Pinout.

 1. VCC pin:  

This pin is used to power the IC. We have to connect to an Arduino 5v pin.

 2. GND pin :  

Should be connected to the ground of Arduino.

 3. Q0 - Q7 pin: 

These are 8 output pin of shift registers and should be connected to LEDs, 7 segment display, LED matrix etc.

 4. Q7’ pin: 

It's used to add more shift registers by connecting Q7' pin to other ShiftRegister DS pin and send the same clock signal. With this technique, We can use only 3 digital pins of Arduino and control as many LEDs as you like.

 5. DS pin (Serial Data Input): 

This pin is used to send data into the shift register.

 6. SRCLK pin (Shift Register Clock):

 When it's high, this means the data shifted to the shift register.

 7. RCLK pin (storage Register Clock / Latch): 

When it's high, the data will be updated and it's will move to the output pin.

 8. SRCLR pin (Shift Register Clear):

It's used to reset the shift register.

a. When the pin is LOW means reset 

b. When the pin is high means no reset. 

 9. OE pin (Output Enable): 

This pin is used to turn on or of the output.

a. When the pin is LOW means turn on the outputs of the shift egister. 

b. When the pin is high means turn off the outputs of the shift register.


let's build the circuit.

Take a breadboard for creating a prototype circuit.

Next, connect the power connection on the both sides of the breadboard.

now attach the ShiftRegister on the breadboard.

After that connect the LEDs on the breadboard and make sure that the cathode pin is connected to the ground.

Don't forget to add a current limit resistor to the led Anode pin. Its value is 220 resistor.

First, connect the power connection for ShiftRegister.

connect pin 16 to 5v 

connect pin 8 to GND

connect pin 11 to 5v 

next, connect pin 13 to GND.

Now, Connect the output pin to the LED's.

Now, connect the 1 LEDs to ShiftRegister pin 15.

Now, connect the 2 LEDs to ShiftRegister pin 1.

Now, connect the 3 LEDs to ShiftRegister pin 2.

Now, connect the 4 LEDs to ShiftRegister pin 3.

Now, connect the 5 LEDs to ShiftRegister pin 4.

Now, connect the 6 LEDs to ShiftRegister pin 5.

Now, connect the 7 LEDs to ShiftRegister pin 6.

Now, connect the 8 LEDs to ShiftRegister pin 7.

Next, connect a button on the breadboard after that connect buttons pin 4 to 5v.

After that add a 10k resistor on buttons pin 1 to GND for avoiding the electronic noise.

Next, connect pin 14 to buttonA pin 1.

Next, connect pin 12 to buttonB pin 1.

Next, connect pin 11 to buttonC pin 1.

Leave the pin 10, It's used for turn on or off the output.

Also leave the pin 9, it's use for Daisy chain of shift register.

Next, connect the 5v power supply to the breadboard. now the circuit is completed.

Let's check how it works.  

so there is three button. 

1. Data button.                         

2. Clock button.

3. Latch button. 

First of all, there is no bits store in the shift register therefore all LED's are off.

When I press and hold the data button.

Now, we are receiving bits, but it's not stored yet in the shift register.

so We have to press the clock button then signal goes high to low and the bits are stored in the shift register but not goes to the output pin yet, that's why LED's is still off.

So we have to update the shift register for that, we have to press the latch button after that the bit is pushed to output, and the 1 LED is turned on.

The method is simple just hold data button and then press clock button after that press latch button.

 To off the led we have to press clock button after that press latch button. so 1 one led is off.

If you want to on three LEDs for that hold data button after that press clock button three time clock and then latch button, now the three leds on.

How many time you press clock botton that count of leds is on and off.

 Watch This Tutorial: 

This is how the shift register works.

In the next part, you will learn how to control the shift register by using Arduino. 

We are use only 3 Arduino digital pins to control as many LEDs as you want. All you need a shift register.

TAGS: 74hc595 3 pushbutton 8 LEDs, 74hc595 3 button without arduino, arduino 74hc595, arduino shift register, arduino shiftout, arduino shift register projects, 74hc595 pinout, 74hc595 projects.


Post a Comment


  1. Your description of the circuit contradicts the breadboard picture. You say "connect pin 11 to 5v " but the picture shows pin 10 to 5v. There are other contradictions and you do not say which is button A,B or C. Therefore I have spent an evening wiring up the circuit but dare not apply power for fear of blowing it up.

Post a Comment