The CD74HC4067 is a highspeed CMOS 16channel analog multiplexer/demultiplexer that routes a common pin to one of 16 channel pins. This IC works like a rotary switch, allowing you to connect up to 16 sensors or devices using only 5 pins on your microcontroller. It supports both analog and digital signals with bidirectional functionality [citation:4][citation:8].
| Parameter | Value |
|---|---|
| Supply Voltage | 2V - 6V DC |
| On Resistance | 70Ω (typ @ 4.5V) |
| BreakBeforeMake | 6ns (typ @ 4.5V) |
| Frequency Bandwidth | 89MHz @ -3dB |
| Total Harmonic Distortion | 0.051% @ 1kHz |
| Off-Switch Feedthrough | -75dB |
| Operating Temp | -55°C to 125°C |
| Package Options | SOIC24, SSOP24, TSSOP24, VQFN24 |
= Key Features =
16 Channels - Select between 16 inputs/outputs using 4 address pins
Bidirectional - Signals flow in either direction
Low On Resistance - 70Ω typical for minimal signal loss
Fast Switching 6ns breakbefore-make switching prevents crosstalk
Enable Control - Disconnect common pin when driven high
Wide Voltage Range - 2V to 6V operation
Wide Temperature Range 55°C to 125°C
Digital/Analog Compatible - Works with TTL serial, I2C, SPI, and analog signals
| CD74HC4067 Pin | Arduino Pin | Description |
|---|---|---|
| VCC | 5V | Power Supply |
| GND | GND | Ground |
| SIG | A0 | Common Input/Output |
| S0 | D8 | Address Bit 0 (LSB) |
| S1 | D9 | Address Bit 1 |
| S2 | D10 | Address Bit 2 |
| S3 | D11 | Address Bit 3 (MSB) |
| EN | D3 | Enable (active low) |
> Connect EN to GND to keep multiplexer always active
## Channel Selection Truth Table
| Channel | S3 | S2 | S1 | S0 |
|---|---|---|---|---|
| 0 | 0 | 0 | 0 | 0 |
| 1 | 0 | 0 | 0 | 1 |
| 2 | 0 | 0 | 1 | 0 |
| 3 | 0 | 0 | 1 | 1 |
| 4 | 0 | 1 | 0 | 0 |
| 5 | 0 | 1 | 0 | 1 |
| 6 | 0 | 1 | 1 | 0 |
| 7 | 0 | 1 | 1 | 1 |
| 8 | 1 | 0 | 0 | 0 |
| 9 | 1 | 0 | 0 | 1 |
| 10 | 1 | 0 | 1 | 0 |
| 11 | 1 | 0 | 1 | 1 |
| 12 | 1 | 1 | 0 | 0 |
| 13 | 1 | 1 | 0 | 1 |
| 14 | 1 | 1 | 1 | 0 |
| 15 | 1 | 1 | 1 | 1 |
> Apply binary address to S0-S3 pins to select channel
## Arduino Test Code
// CD74HC4067 16-Channel Multiplexer Test
int s0 = 8;
int s1 = 9;
int s2 = 10;
int s3 = 11;
int sigPin = A0;
void setup() {
pinMode(s0, OUTPUT);
pinMode(s1, OUTPUT);
pinMode(s2, OUTPUT);
pinMode(s3, OUTPUT);
Serial.begin(9600);
}
void loop() {
for(int i = 0; i < 16; i++) {
selectChannel(i);
int value = analogRead(sigPin);
Serial.print("Channel ");
Serial.print(i);
Serial.print(": ");
Serial.println(value);
delay(100);
}
}
void selectChannel(int channel) {
digitalWrite(s0, channel & 1);
digitalWrite(s1, (channel >> 1) & 1);
digitalWrite(s2, (channel >> 2) & 1);
digitalWrite(s3, (channel >> 3) & 1);
}
√ Compatible with Arduino, ESP32, Raspberry Pi
√ Simple binary addressing
√ No external components required
√ 89MHz bandwidth for high-speed signals
√ Low distortion for audio applications
√ Industry-standard IC with mature library support
## What's Included
The CD74HC4067 is the perfect solution for expanding your microcontroller's I/O capabilities. With 16 channels controlled by just 4 pins, you can connect sensors, route signals, and build complex systems with ease.
CD74HC4067 MULTIPLEXER 16CHANNEL ANALOGMUX DIGITALMUX ARDUINO ESP32 IOT SENSOREXPANSION IC ROUTING SWITCH New Best Seller CD74HC4067