Shift Register Power (74HC595N)

I am sure that I'm about to display a gross lack of understanding, but here we go ...

Standard exercise posted all over the internet; 2*Shift Registers, 16 LEDS.
Power supplied to Vcc Pin from Arduino USB 5v Pin.
I had some of the LEDs dimmed, so total current was around 80mA.

All works well :slight_smile:

However, in between tests, to save my eyes, I disconnected the wires to the arduino 5v, and the ground.
Yet my LEDs stayed illuminated !?!?
Ok, so they lost some brightness, but well lit all the same.
I had been under the assumption, that the Vcc-5v wire was providing the power for this exercise !?

The only other lines connected to my Uno:
Clock = 4
Latch = 3
Data = 2
OE = 5

Pulling each of these out in turn, reduced the brightness of the LEDs, but no individual wire kills power completely.
I tested the current going through each with the 5v connected & disconnected.
When 5v is disconnected, Latch goes from 0mA to 20mA.
So this is where 'most' of the power is coming from when 5v is not available.

However, even then..
The others get a draw of around 1-2 mA when 5v is disconnected.

Can anyone explain what is going on ?
Is this 'expected' or am I doing something stupid ?
Is my Arduino in danger of getting fried, if I start running 100 LEDs and then disconnect 5v ?

Many Thanks....

The shift registers are being parasitically powered by the data lines. This is not good for them. They are not designed for that and may fail quite quickly if you do that.

Is my Arduino in danger of getting fried, if I start running 100 LEDs and then disconnect 5v ?

Disconnect power to everything, not just part of the system. Or you may soon be replacing a lot of stuff.

Hi Nick and thanks ...

Do you know of any circuit wizardry that I can employ to safeguard myself?

I am thinking, if my LEDs are in the future powered by external power,
and that power runs out (battery) or otherwise dies ..
... then my Arduino will be hit by a demand way in excess of it's capabilities.

Thanks

You've stumbled onto the plutonium smuggling ring.

Use a different shift register - TPIC6B595.
This is an open drain part.
If the LED anode's seperate power source becomes unpowered, the Arduino connected to the clock/latch/data lines won't be affected.