What are your thoughts on using something like this?
SparkFun Analog/Digital MUX Breakout - CD74HC4067 - BOB-09056 - SparkFun Electronics :
"Description: This is a breakout board for the very handy 16-Channel Analog/Digital Multiplexer/Demultiplexer CD74HC4067. 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 (see the datasheet for details). 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”)."
It's appealing to me because you can expand the UART, I2C, and SPI, at the cost of PWM space, which, if I'm not mistaken, you can also expand via MUX/DEMUX or en/decoding. This seems (at a glance) to be the simplest solution for expanding these various channels generally, including the accommodation of 2-way serial communication, is there any reason one wouldn't want to use this device? Is there a simpler or more effective way of doing this / are there any inherent drawbacks doing it this way? Thank you for your patience and support. Your responses help a lot.