Keszoox
SN74HC165N 8-Bit Parallel-In Serial-Out Shift Register IC DIP-16 – Pack of 5
SN74HC165N 8-Bit Parallel-In Serial-Out Shift Register IC DIP-16 – Pack of 5
Couldn't load pickup availability
SN74HC165N 8-Bit Parallel-In Serial-Out Shift Register — DIP-16, 2–6V (5-Pack)
The SN74HC165N is an 8-bit parallel-in serial-out (PISO) shift register in a DIP-16 through-hole package. It reads 8 parallel digital inputs simultaneously (on a load pulse) and shifts them out serially over a single data line, making it the standard IC for expanding the number of digital inputs on Arduino and other microcontrollers using only 3 signal wires (clock, load, data). Multiple SN74HC165N ICs can be daisy-chained for 16, 24, or more inputs.
Key Specifications
| Parameter | Value |
|---|---|
| Package | DIP-16 (through-hole) |
| Data Width | 8-bit |
| Operation | Parallel-In, Serial-Out (PISO) |
| Clock Edge | Positive edge (rising) |
| Supply Voltage | 2–6V |
| Output Current | ±25mA per pin |
| Max Clock Frequency | ~100MHz (VCC=5V) |
| Operating Temperature | -40°C to +125°C |
| Quantity | 5 pieces |
SN74HC165 vs SN74HC595 — Input vs Output Expansion
| IC | Direction | Function | Use Case |
|---|---|---|---|
| SN74HC165N | Input expansion | 8 parallel inputs → serial out | Read 8 buttons/switches with 3 MCU pins |
| SN74HC595 | Output expansion | Serial in → 8 parallel outputs | Control 8 LEDs/relays with 3 MCU pins |
Why Choose SN74HC165N?
- 8-to-1 input multiplexing — read 8 digital inputs using only 3 MCU pins (CLK, SH/LD, QH)
- Daisy-chainable — connect QH of first IC to SER of second for 16, 24, 32+ inputs
- Synchronous parallel load — all 8 inputs captured simultaneously on load pulse for glitch-free reading
- 2–6V operation — compatible with 3.3V (ESP32, STM32) and 5V (Arduino) systems
- 5-pack value — enough for a 40-input button matrix (5×8)
Compatible With / Common Use Cases
- Arduino button/switch matrix: Read 8 buttons with 3 Arduino pins using shiftIn() function
- Keyboard matrix scanning: Read mechanical keyboard switch states efficiently
- DIP switch reading: Read 8-position DIP switch configuration into MCU
- Sensor status monitoring: Read 8 digital sensor outputs (limit switches, reed switches) with minimal MCU pins
- Daisy-chain example: 3× SN74HC165N reads 24 inputs with same 3 MCU pins
Frequently Asked Questions
Q: How do I use SN74HC165N with Arduino to read 8 buttons?
A: Connect SH/̅L̅D̅ to a digital pin (e.g., D4), CLK to D5, QH to D6. Pull SH/̅L̅D̅ LOW to load parallel inputs, then HIGH. Clock out 8 bits by toggling CLK and reading QH each time: byte data = shiftIn(dataPin, clockPin, MSBFIRST); Each bit corresponds to one input pin (A–H).
Q: Can I mix SN74HC165N (input) and SN74HC595 (output) on the same SPI bus?
A: Yes, with separate chip-select/load pins. Use the same CLK and MOSI/MISO lines. SN74HC595 uses MOSI (data in), SN74HC165N uses MISO (data out). This allows simultaneous input reading and output control with minimal MCU pins.
Q: What is the maximum number of SN74HC165N ICs I can daisy-chain?
A: Theoretically unlimited — each additional IC adds 8 inputs and one clock cycle of latency. In practice, signal integrity limits the chain to ~10–20 ICs at standard clock speeds. For longer chains, use buffered clock signals and keep PCB traces short.
Package Contents
- 5× SN74HC165N 8-Bit Parallel-In Serial-Out Shift Register IC (DIP-16)
