I have a question.

I have a 4067 multiplexer connected to my Raspberry Pi, 4 GPIOs turned on or off, control the channel of the multiplexer.

My problem is that if no channel is changed, my code is working great (LEDs connected for test on those GPIOs turned on and off accordingly).

So I am thinking of connecting a pcf8574 so I can drive the 4 address pins of multiplexer with five volts! Am I on the right path? Is it possible? Should I start thinking differently?

  • \$\begingroup\$ A complete circuit diagram of the 4067 add-on (including its DC power connection) is worthwhile. After abandoning your initial effort, you learn nothing. We can only guess what connections are faulty. \$\endgroup\$ – glen_geek Jan 13 '19 at 18:49

Most 74**4067 chips will support the CMOS (3.3 V) logic levels of your Raspberry Pi, however depending on the exact part you are using the required supply voltage may differ.

According to this data sheet for the TI version of the parts, the 74HC4067 is intended for use with CMOS logic and will work with a supply voltage from 2 V to 6 V while the 74HCT4067 is meant to be compatible with TTL logic and requires a supply voltage from 4.5 V to 5.5 V. That said, both should be compatible with CMOS logic on the inputs.

It seems likely that your problem is not actually with the levels you are providing to the selection inputs. It might be a good idea to try playing with the chip without the Raspberry Pi (manually connecting the selection inputs to VCC or GND) and make sure that the rest of your circuit is working properly before trying it with the Pi.

If you do end up needing level translation for something, an IO expander is probably not the best way to accomplish that. There is a Stack Exchange question here which covers the topic of level shifting for the Raspberry Pi.

  • 1
    \$\begingroup\$ The 74HCT family is CMOS, but the inputs are modified slightly to reliably accept TTL level signals, where an output High voltage may be as low as 2.4 volts. \$\endgroup\$ – Peter Bennett Jan 13 '19 at 19:32
  • \$\begingroup\$ Thank you, I should have clarified TTL compatible rather specifically TTL based. I have edited the answer to correct it. \$\endgroup\$ – Samuel Dewan Jan 13 '19 at 19:57

The PCF8574 by itself does not do voltage translation. The CD4067 will (more or less) work at 3.3V so there should be no problem. At 3.3V, the 74HC4067 will work better (lower series resistance).

If you NEED to operate the MUX from 5V and connect it to the 3.3V Pi, you can use the 74HCT4067 which will operate with control signals 0/3.3V

If you need a 5V PCF8574 expander for other purposes, you can use a voltage translation chip or the classic MOSFET translation circuit between the Pi and the expander.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.