

The CD74HC4067 is a versatile 16-channel analog multiplexer/demultiplexer. It features a digital control interface that allows one of 16 inputs to be connected to a single output. This component is widely used in applications requiring multiple analog or digital signals to be routed to a single point, such as in data acquisition systems, signal routing, and sensor multiplexing.








| Parameter | Value |
|---|---|
| Supply Voltage | 2V to 6V |
| Input Voltage | 0V to Vcc |
| On-State Resistance | 70Ω (typical) at Vcc = 4.5V |
| Propagation Delay | 6ns (typical) at Vcc = 5V |
| Control Inputs | 4-bit binary (S0, S1, S2, S3) |
| Enable Input | Active Low (EN) |
| Operating Temperature | -55°C to 125°C |
| Pin No. | Name | Description |
|---|---|---|
| 1 | S1 | Control Input 1 |
| 2 | S2 | Control Input 2 |
| 3 | S3 | Control Input 3 |
| 4 | S4 | Control Input 4 |
| 5 | Z | Common Output/Input |
| 6 | Y15 | Channel 15 Input/Output |
| 7 | Y14 | Channel 14 Input/Output |
| 8 | Y13 | Channel 13 Input/Output |
| 9 | Y12 | Channel 12 Input/Output |
| 10 | Y11 | Channel 11 Input/Output |
| 11 | Y10 | Channel 10 Input/Output |
| 12 | Y9 | Channel 9 Input/Output |
| 13 | Y8 | Channel 8 Input/Output |
| 14 | Y7 | Channel 7 Input/Output |
| 15 | Y6 | Channel 6 Input/Output |
| 16 | Y5 | Channel 5 Input/Output |
| 17 | Y4 | Channel 4 Input/Output |
| 18 | Y3 | Channel 3 Input/Output |
| 19 | Y2 | Channel 2 Input/Output |
| 20 | Y1 | Channel 1 Input/Output |
| 21 | Y0 | Channel 0 Input/Output |
| 22 | EN | Enable Input (Active Low) |
| 23 | Vcc | Supply Voltage |
| 24 | GND | Ground |
// Example code to use CD74HC4067 with Arduino UNO
const int S0 = 2; // Control pin S0 connected to Arduino pin 2
const int S1 = 3; // Control pin S1 connected to Arduino pin 3
const int S2 = 4; // Control pin S2 connected to Arduino pin 4
const int S3 = 5; // Control pin S3 connected to Arduino pin 5
const int EN = 6; // Enable pin connected to Arduino pin 6
const int Z = A0; // Common output connected to Arduino analog pin A0
void setup() {
pinMode(S0, OUTPUT);
pinMode(S1, OUTPUT);
pinMode(S2, OUTPUT);
pinMode(S3, OUTPUT);
pinMode(EN, OUTPUT);
digitalWrite(EN, LOW); // Enable the multiplexer
Serial.begin(9600);
}
void loop() {
for (int channel = 0; channel < 16; channel++) {
selectChannel(channel);
int value = analogRead(Z); // Read the value from the selected channel
Serial.print("Channel ");
Serial.print(channel);
Serial.print(": ");
Serial.println(value);
delay(500); // Wait for 500ms before reading the next channel
}
}
void selectChannel(int channel) {
digitalWrite(S0, channel & 0x01);
digitalWrite(S1, (channel >> 1) & 0x01);
digitalWrite(S2, (channel >> 2) & 0x01);
digitalWrite(S3, (channel >> 3) & 0x01);
}
No Signal Output:
Incorrect Channel Selection:
Signal Distortion or Noise:
By following these guidelines and best practices, you can effectively use the CD74HC4067 in your projects and applications.