

The CD74HC4067 is a high-speed analog multiplexer module manufactured by GENERIC. It is a versatile component that allows the selection of one of 16 input signals to be routed to a single output. Built using CMOS technology, it offers low power consumption and high performance, making it suitable for a wide range of applications.








The following table outlines the key technical details of the CD74HC4067:
| Parameter | Value |
|---|---|
| Supply Voltage (Vcc) | 2V to 6V |
| Input Voltage Range | 0V to Vcc |
| Maximum Current (Icc) | 80 µA (typical) |
| On-Resistance (Ron) | 70Ω (typical) at Vcc = 4.5V |
| Propagation Delay | 6 ns (typical) at Vcc = 5V |
| Operating Temperature | -55°C to +125°C |
| Package Type | DIP, SOIC, TSSOP |
The CD74HC4067 has 24 pins, with the following configuration:
| Pin Number | Pin Name | Description |
|---|---|---|
| 1-16 | S0-S15 | Analog input channels (16 total) |
| 23 | COM_OUT | Common output for the selected input channel |
| 24 | Vcc | Positive power supply |
| 12 | GND | Ground |
| 10 | EN | Enable pin (active low) |
| 11 | S0 | Address select bit 0 |
| 9 | S1 | Address select bit 1 |
| 8 | S2 | Address select bit 2 |
| 7 | S3 | Address select bit 3 |
The CD74HC4067 can be easily interfaced with an Arduino UNO for channel selection. Below is an example code snippet:
// Define the address select pins
const int S0 = 2; // Connect to CD74HC4067 pin S0
const int S1 = 3; // Connect to CD74HC4067 pin S1
const int S2 = 4; // Connect to CD74HC4067 pin S2
const int S3 = 5; // Connect to CD74HC4067 pin S3
// Define the enable pin
const int EN = 6; // Connect to CD74HC4067 pin EN (active LOW)
// Define the analog input pin
const int COM_OUT = A0; // Connect to CD74HC4067 COM_OUT pin
void setup() {
// Set address pins and enable pin as outputs
pinMode(S0, OUTPUT);
pinMode(S1, OUTPUT);
pinMode(S2, OUTPUT);
pinMode(S3, OUTPUT);
pinMode(EN, OUTPUT);
// Enable the multiplexer
digitalWrite(EN, LOW);
// Initialize serial communication
Serial.begin(9600);
}
void loop() {
for (int channel = 0; channel < 16; channel++) {
// Set the address pins to select the channel
digitalWrite(S0, channel & 0x01);
digitalWrite(S1, (channel >> 1) & 0x01);
digitalWrite(S2, (channel >> 2) & 0x01);
digitalWrite(S3, (channel >> 3) & 0x01);
// Read the analog value from the selected channel
int value = analogRead(COM_OUT);
// Print the channel number and value
Serial.print("Channel ");
Serial.print(channel);
Serial.print(": ");
Serial.println(value);
// Wait for a short delay
delay(500);
}
}
No Output Signal:
Incorrect Channel Selection:
Signal Distortion:
High On-Resistance:
Q1: Can the CD74HC4067 handle digital signals?
Yes, the CD74HC4067 can route both analog and digital signals, provided the signal voltage is within the supply voltage range (0V to Vcc).
Q2: What happens if the EN pin is left floating?
Leaving the EN pin floating may cause unpredictable behavior. It is recommended to tie the EN pin to a defined logic level (HIGH or LOW).
Q3: Can multiple CD74HC4067 modules be cascaded?
Yes, multiple modules can be cascaded to expand the number of input channels. However, additional logic will be required to manage the enable pins and address selection.
Q4: Is the CD74HC4067 bidirectional?
Yes, the CD74HC4067 is bidirectional, meaning signals can flow in either direction between the selected input and the common output.