Hello, young player here,
I was inspired by Dave's video series on his Nixie tube sub-counter 2 years back and finally got around to giving it a whirl. I got some PCB's made, assembled a board, wrote up some Arduino code and it doesn't quite work

. Spent several hours trying to troubleshoot it last night but couldn't figure it out. Don't know where to go from here, figured this is the right place to ask.
The first shift register works fine but the next three do not. Maybe there is something I don't understand about how cascading works?
I'm using the same circuit as Dave with TPIC6B595's, (Pictures attached, sorry if it's ugly).
Here's the relevant code:
void send_data(unsigned long encodedData){
for(int i=31; i>=0; i--){
digitalWrite(DIN, encodedData&(ONE<<i));
digitalWrite(DCK,HIGH);
digitalWrite(DCK,LOW);
}
digitalWrite(RCK,HIGH);
digitalWrite(RCK,LOW);
return;
}
There are 4 shift registers, 8 bits each so I'm storing the word as a 32 bit unsigned int.
I write the 32 bits from MSB to LSB while clocking DCK. At the end I pulse RCK.
DIN is the pin connected to SERIN on the first shift register.
DCK is the pin connected to shift register clock (SRCK)
RCK is the pin connected to the register clock (I think it's also known as the latch?)
I did some continuity testing and didn't find any problems, also checked the second chip is getting 5V power.
Any ideas for what could be wrong? What I should check next?
Thanks for your time,
Alex