Using old NXP HEF4094BP shift register chips, for the reason of fixing some old hardware. These chips were popular in the 90's because they could accept 3-15V VCC and directly drive series+parallel LED chains. Think: gas station price signs, etc.

I'm green. Using this post and the 4094 datasheet, I've successfully modeled your typical shift register count-to-100 binary, with an LED on each SR out. Powered by 5V, works great. This was phase 1 for me.

For phase 2, I powered the Arduino via 12V (via p30, Vin). Still supplying 5V to the 4094 (Nano pin 27 output), works great.

Phase 3, I need help. I remove the 5V jumper that was from Nano pin 27 going into 4094's VCC pin. In it's place, I run 12V directly from the (regulated) PS and I get NO LED output. I know I haven't burned anything out because at 12V I get brief "flashes" when I'm "plugging" in the 12V power supply. I can revert to 5V VCC input and it works fine as before.

I've read the datasheet 3X and it's not clear how the chip's output pin voltage is managed when you alter the VCC to be higher (is it limiting current or voltage on the outputs?)

1 Answer 1


The part of the datasheet you need to understand is this bit:

enter image description here

That's the input logic levels, and as you can see they vary depending on the supply voltage.

At 10V you need to supply at least 7V to get a HIGH registered. At 15V you need 11V or more. So at 12V you can expect that level to be around 9V and upwards.

The Arduino outputs 5V. That's nowhere near 9V, so the chip completely ignores it.

These chips are not designed to be level translators. They are designed to work with other chips that also run at the same voltage. To use it at a higher voltage that the chip that's driving it you will need to employ some form of 5V to 12V level translation.

  • THANK YOU for the perfect answer. I get it -- signal requirements "scale" relative to the VCC so I need to boost the signal lines after leaving the Arduino. I haven't done this type of thing yet, but I've read all the SparkFun transistor tutorials more than once, and just need to "do" it. Cheers. Jun 20, 2018 at 0:20
  • Not that I would change my design (I actually need to follow this approach to salvage something cool), but out of curiosity does anybody make a chip that functions how I was assuming things worked (5V high input expected regardless of VCC into the SR)? I'm surprised by the variety of SRs one can choose from, and from a novice user POC they're a pretty fun way to learn! Jun 20, 2018 at 0:23
  • @Crossfit_and_Beer I'm not sure if there's a single chip solution off hand, but normally people use a low voltage shift register coupled with a higher voltage IO driver chip, such as the ULN2803. There are LED driving shift registers with constant current sinks available which run off 5V or 3.3V and can sink 12V happily, as well as I2C equivalents, both constant current and open-drain (TLC59116). I am not aware of a single chip solution though, but I will have a google around for you.
    – Majenko
    Jun 20, 2018 at 9:33
  • Ah, a ULN2803. I'll look at that next, TY. Yeah I suppose if one were creating a fresh design, I2C (or the ws2812s) would be the way to go - solving the problem neatly for nearly any type of signage. Jun 21, 2018 at 1:41

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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