NLSF595 tri-color LED driver

ON Semiconductor's NLSF595: a 595 shift register whose eight outputs are open drain, made to sink the cathodes of RGB LEDs.

Aliases: NLSF595, serial tri-color LED driver, Wokwi's wokwi-nlsf595. Its datasheet calls it functionally similar to the 74VHC595, and each chip drives two common-anode RGB LEDs (six of its outputs) on three pins.

Pins

Pin What it does
SI Serial data in.
SCK Shift clock: a rising edge moves the register along and takes SI.
RCK Register clock: a rising edge copies the shift register to the outputs.
OE Output enable, active low. Tie it to GND if unused.
SCLR Clears the shift register, active low. Tie it to VCC if unused.
QA to QH The open-drain outputs, rated to sink over 12 mA.
SQH Serial out, push-pull, to the next chip's SI.
VCC, GND Supply, 2 to 5.5 V.

Driving it from an Arduino

shiftOut() and a latch pulse, exactly as for a 74HC595:

digitalWrite(rckPin, LOW);
shiftOut(siPin, sckPin, MSBFIRST, pattern);
digitalWrite(rckPin, HIGH);

The outputs sink: a common-anode RGB LED's anode goes to 5 V and each cathode, through its own resistor, to an output. A 0 bit lights that color and a 1 turns it off, the other way from a 74HC595 driving LEDs to ground.

What the model gets right

From the NLSF595 datasheet (NLSF595/D): the function table (shift on the rising edge of SCK, latch on the rising edge of RCK, SCLR clearing the shift register only, OE high floating the outputs), the double-buffered outputs, the push-pull SQH, and the pin positions of the TSSOP-16. The outputs pull low for a stored 0 and let go for a 1.

What it does not model

The output's exact on-voltage (0.6 V at 25 mA at most, on a 4.5 V supply), the overvoltage-tolerant inputs, and the 25 MHz clock limit.

Common mistakes

Wiring a common-cathode LED: the outputs cannot source current, so it never lights. Expecting a 1 to light a color: on this chip a 0 does.