I must have read it wrong. You're right. Never mind. ![]()
In any case, I've fiddled a bit more, but the max either locks itself to all on or all off. It seems to happen randomly if I remove the data wire.
I've done some measurements with a constant output in loop with no delay. The clock pin has a "constant" voltage of around 1.5V. The load pin has 70 mV. However, the data pin seems completely silent. It shows 1.5 mV. If I turn all communication down, all the pins has 1.5 mV, so I guess that's the relative low.
Here's the code I run now:
byte data = 12;
byte clk = 11;
byte latch = 10;
byte status = 13;
byte max_noop = 0x00;
byte max_d0 = 0x01;
byte max_d1 = 0x02;
byte max_d2 = 0x03;
byte max_d3 = 0x04;
byte max_d4 = 0x05;
byte max_d5 = 0x06;
byte max_d6 = 0x07;
byte max_d7 = 0x08;
byte max_decode_mode = 0x09;
byte max_intensity = 0x0A;
byte max_scan_limit = 0x0B;
byte max_shutdown = 0x0C;
byte max_test = 0x0F;
void output(byte address, byte data) {
 digitalWrite(clk, LOW);
 shiftOut(data, clk, MSBFIRST, address);
 shiftOut(data, clk, MSBFIRST, data);
 digitalWrite(latch, HIGH);
 digitalWrite(latch, LOW);
}
void setup() {
 Serial.begin(9600);
 pinMode(data, OUTPUT);
 pinMode(clk, OUTPUT);
 pinMode(latch, OUTPUT);
 pinMode(status, OUTPUT);
 digitalWrite(data, LOW);
 digitalWrite(clk, LOW);
 digitalWrite(latch, LOW);
 output(max_shutdown, 0x01);
 output(max_decode_mode, 0x00);
 output(max_scan_limit, 0x07);
}
void loop() {
 for(byte i = 0; i<8; i++){
  output(i+1, 0x00);
 }
 digitalWrite(status, LOW);
 delay(100);
 for(byte i = 0; i<8; i++){
  output(i+1, 0xFF);
 }
 digitalWrite(status, HIGH);
 delay(100);
}