Preview build — page text is a draft awaiting human review. Code badges come from real compiles. The flasher is real but not yet hardware-tested; the Playground is still a preview.

74HC595 8-bit shift register (DIP-16)

74HC595 DIP-16 pinout (DS, SH_CP, ST_CP, OE, MR, Q0–Q7, Q7S), shiftOut() wiring, current limits per pin, 3.3 V boards, and daisy-chaining several chips.

GPIO

Community draft — report a mistake

CategoryActuator
InterfaceGPIO
Voltage2–6 V
Typical price₹15

3.3 V or 5 V? Power it from the same voltage as your board: 3.3 V on ESP32 and Pico, 5 V on Uno. At 5 V the 74HC595 needs about 3.15 V for a HIGH, so a 3.3 V board driving a 5 V-powered chip is marginal — use a 74HCT595 at 5 V for that.

The 74HC595 turns 3 GPIOs into 8 outputs — and more if you chain chips. You clock in 8 bits one at a time on DS and SH_CP, then a pulse on ST_CP latches them onto Q0–Q7 all at once, so the outputs never flicker through the in-between states. Arduino’s built-in shiftOut() does the clocking; no library is needed.

To get 16, 24 or more outputs, connect Q7S of one chip to DS of the next and share SH_CP and ST_CP; shift out two or three bytes, then latch once. Hardware SPI can drive it too, for fast LED matrices.

Current limits: about 6 mA per pin recommended (35 mA absolute max) and 70 mA for the whole chip. That is enough for indicator LEDs through 1 kΩ resistors, not for relays, motors or bright LEDs — for those, put a ULN2803 darlington array or transistor after each output. Pin names differ between makers (NXP vs TI); the pin numbers above don’t.

Prices are indicative (Nov 2026) and vary by seller.

Pinout

PinWhat it does
VCCPin 16 — 2–6 V supply
GNDPin 8 — ground
DSPin 14 — serial data in (SER on TI datasheets)
SH_CPPin 11 — shift clock (SRCLK). Each rising edge shifts one bit in.
ST_CPPin 12 — latch / storage clock (RCLK). A rising edge copies the 8 bits to the outputs.
OEPin 13 — output enable, active LOW. Tie to GND (or PWM it for brightness).
MRPin 10 — master reset, active LOW (SRCLR). Tie to VCC.
Q0Pin 15 — output 0 (QA)
Q1Pin 1 — output 1
Q2Pin 2 — output 2
Q3Pin 3 — output 3
Q4Pin 4 — output 4
Q5Pin 5 — output 5
Q6Pin 6 — output 6
Q7Pin 7 — output 7 (QH)
Q7SPin 9 — serial out (Q7′ / QH′). Connect to DS of the next chip to chain.

Use it with

Common errors

LEDs flicker or show random patterns

MR or OE is floating. Tie MR to VCC and OE to GND, and add a 100 nF capacitor across VCC and GND right at the chip.

Outputs change while data is still shifting in

ST_CP and SH_CP are swapped. Shift with SH_CP, then pulse ST_CP once to latch: digitalWrite(latch, LOW); shiftOut(data, clock, MSBFIRST, value); digitalWrite(latch, HIGH);

LEDs get dim when several are on, or the chip runs hot

The chip is rated for 70 mA in total. Use 1 kΩ resistors (about 3 mA each), or drive heavier loads through a ULN2803 or transistors.

↑↓ to move · Enter to open