I've had a very time-consuming and frustrating problem where my 8-Bit shift register blinks very fast (10-20 times per second) randomly, sometimes it stops, sometimes it does it slower.
I am using circuits.io to model out my design, and then I build it on my breadboard. My design is this (circuits.io), and it seems to work. You make the sideswitches on the left to connect the wires. The LED represents the state of QO, or output 0. Everything seems fine on the test, but in real life, it does not work at all. I've tried more resistor value (up to 440Ω), and it still flickers. Here's what I'm doing differently in real life than the stimulation:
- I am using the Raspberry Pi as a 5v power source.
- I am not using side switches, rather I am manually placing connector wires down, very inefficient but I don't want to run over to RadioShack and buy some buttons at the moment ;) (They are a bit... overpriced)

Do you think that it is the 74HC595's problem, and I should replace it with another, or I have done my wiring wrong, or I am going crazy? Thanks for any help.

EDIT: I made the circuits.io stimulation look cleaner.

  • \$\begingroup\$ Your schematic is unreadable. Can you rearrange it to make it clear what circuit you built? \$\endgroup\$ – The Photon Feb 10 '17 at 1:56
  • \$\begingroup\$ Sorry, I'll make sure to rearrange it momentarily to make it cleaner. \$\endgroup\$ – Blake Feb 10 '17 at 1:58
  • \$\begingroup\$ As shown, your "circuit" is meaningless. You do not show the 595 drive circuits. You need to learn to use the site's schematic editor. Chose Edit for your post, the click on the icon with the diode and resistor, or hit ctrl-m. You need to show ALL your circuit. \$\endgroup\$ – WhatRoughBeast Feb 10 '17 at 2:05
  • \$\begingroup\$ You are making incredibly difficult for others to help you. Make it simple and easy for others to understand you situation and then maybe some kind souls will identify the issues for you. \$\endgroup\$ – dannyf Feb 10 '17 at 2:07
  • \$\begingroup\$ I'll make sure to make a schematic next time. Thank you for telling me; the accepted answer is below. \$\endgroup\$ – Blake Feb 10 '17 at 2:12

It's hard to tell from your diagram (please use a real schematic, not just a drawing of the breadboard!), but from what I can tell, it looks like you are giving the 74HC595 inputs from switches which toggle between VCC and no connection.


simulate this circuit – Schematic created using CircuitLab

This fails to work correctly because inputs to CMOS parts, like the 74HC595, must always be pulled either high or low. If the input is allowed to float, it will oscillate randomly, which would explain the behavior you're seeing.

You can do this by either tying the other pole of each switch to GND, or by attaching a pulldown resistor to each of the pins involved:


simulate this circuit

  • \$\begingroup\$ Exactly what I wanted to know. I had the issue with having OE or output enable not connected to anything, but I didn't know it was the same for this. \$\endgroup\$ – Blake Feb 10 '17 at 2:12
  • \$\begingroup\$ ALL input pins (including those for an unused section - like unused gates in a 74HC00) MUST ALWAYS be connected to either ground or power, either directly or through a resistor. \$\endgroup\$ – Peter Bennett Feb 10 '17 at 7:40

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.