CD4014 – An 8-bit Shift Register With Parallel Inputs

Function diagram of the CD4014
CD4014 Function Diagram

The CD4014 is a CMOS IC that contains a shift register with eight bits. It has one serial input and eight parallel input pins to preload the register. You can use it as a parallel-to-serial converter, for example, to read the state of 8 buttons with only three Arduino pins.

A shift register is a component that is made up of D flip-flops connected in series so that each bit is shifted to the next flip-flop on every clock pulse. Below is a typical 4-bit shift register made from D flip-flops:

Shift register circuit made with d flip-flops
4-bit Shift Register circuit

Pin Overview

Pin NamePin #TypeDescription
VDD16PowerSupply Voltage (+3 to +15V)
GND8PowerGround (0V)
D0-D71,4,5,6,7,13,14,15InputParallel data input pins
Q5,Q6,Q72,3,12OutputBuffered outputs from the last three bits
PE9InputParallel Enable
CP10InputClock pin to sync the input
Ds11InputSerial input pin
Pin overview for the 4014 IC

How To Use The 4014 IC

4014 pinout
4014 Pinout

First of all, you need to connect the VDD pin to your positive supply terminal and the GND pin to your negative supply terminal. You can use a power supply voltage between 3V and 15V. Although, some versions of the 4014 chip support up to 20V. Check your datasheet for exact values.

To load data with the parallel inputs, set the Parallel Enable (PE) pin HIGH. Connect your input values to the parallel input pins (D0 – D7). On the next rising clock edge on the CLK pin, the parallel data will be loaded into the shift register.

To shift the data one position, use the CLK pin while keeping the Parallel Enable (PE) pin LOW. In this mode, you can also load data serially via the DS pin.

The CLK pin shifts the data on each rising edge.

CD4014 Example Circuit

Here’s a practical example that you can build with the CD4014. This circuit lets you read the state of 8 switches by using only three I/O pins on the Arduino:

IC 4014 Example Circuit: Reading 8 button inputs with two Arduino pins
Example circuit using the CD4014

To build this circuit you’ll need:

  • Arduino (or other microcontroller)
  • A 4014 chip, such as the CD4014BE
  • 8 x Resistors (100 kΩ)
  • 8 x Switches

In this circuit, you must create code so that the Arduino first sets D3 HIGH (Parallel Enable) and then provide a rising edge on D2 for the CLK pin. This loads in the current state of all the switches. Now the state of S8 can be read from pin D4.

To read the state of the next switch (S7), provide another rising edge on D2 for the CLK pin. Keep doing this until you’ve read all the eight switches.

Alternatives and Equivalents for CD4014

You likely find the 4014 IC marked as CD4014, NTE4014, MC14014, HCF4014, or HEF4014. Usually with a few extra characters at the end (Ex: CD4014BE).

This has to do with the manufacturer of the chip and the technology used. But the functionality and the pins are the same.

If you can’t find any 4014 chip in your local electronics store, check out my list of online stores or try one of the following IC alternatives that contain an 8-bit shift register:

  • 4021: 8-bit parallel-in serial-out shift register
  • 74HC165: 8-bit parallel-in serial-out shift register
  • 74HC166: 8-bit parallel-in serial-out shift register
  • 74HC198: 8-bit bidirectional shift register

4014 Datasheet

Download the PDF datasheet for the IC 4014 here:

CD4014B (Texas Instruments)
HEF4014B (Nexperia)

Go back to the full overview of the 4000-series integrated circuits

Leave a Comment