To make it quick, I designed a PCB with 4 74hc595s daisy chained. I made an other one with 3 and works vanilla. PCB got optoisolators, and 595 outputs are buffered with ulns. Got several big caps and little ones as close as possible. And 7805 regulator is used.
The thing is, I use 4 lines os shiftOut to run all ics. However, the problem is whenever I set a pin, the pin before also act. How?
set pin 5 and pin 4 is high with 5, set pin 4 and pin 3 is high with 4. goes on.
What on earth does make this? Older pcb got closer "opto to port" lines, and new one a bit longer. Other thing, arduino has a resistor to run opto, and opto uses two resistor, one for pulldown and other to port on each output (data, clock and latch pins flow thru optos)