16 CHANNEL ANALOG MULTIPLEXER HC4067
74HC4067 16-Channel Analog Digital Multiplexer Breakout Board Module
The 74HC4067 can operate on voltages between 2 and 6V DC, which allows use with 3.3V and 5V microcontrollers and boards such as Arduino and Raspberry Pi.
(If for some reason you have the 74HCT4067 it can only work on 4.5~5.5V DC)
This chip is like a rotary switch - it internally routes the common pin (COM in the schematic, SIG on the board) to one of 16 channel pins (CHANxx).
It works with both digital and analog signals (the voltage can’t be higher than VCC), and the connections function in either direction.
To control it, connect 4 digital outputs to the chip’s address select pins (S0-S3), and send it the binary address of the channel you want . This allows you to connect up to 16 sensors to your system using only 5 pins!
Since the mux/demux also works with digital signals, you can use it to pipe TTL-level serial data to or from multiple devices.
For example, you could use it to connect the TX pins of 16 devices to one RX pin on your microcontroller. You can then select any one of those 16 devices to listen to.
If you want two-way communications, you can add a second board to route your microcontroller’s TX line to 16 device’s RX lines. By using multiple boards, you can create similar arrangements for I2C, SPI, etc.
The internal switches are bidirectional, support voltages between ground and VCC, have low "on" resistance and low "off" leakage, and to prevent crosstalk, perform "break-before-make" switching.
The board also breaks out the chip’s "enable" pin, which when driven high, will completely disconnect the common pin (all switches "off").