MAX6969 blinking

I recently ordered a bunch of sample MAX6969 from MAXIM. These are 16 ports current LED drivers I’m planning to use to drive optoisolators (MOC3041). In my first attempt, I used an Arduino plus a bunch of LED and made them blink of course.

A resistance R_set is connected between the ground and pin 23 to set the intensity delivered to LEDs: I_out = 18000 / R_set.

According to documentation R_set value must fit into 327.3 to 1.5k ohms (I_out from 55 to 12mA). I chose a 1.2k resistor to obtain a 15mA current in my LEDs.

The use of a the circuit is pretty straightforward as displayed in my Arduino code below. The /OE pin is connected to ground and DIN, CLK and LE respectively to pins 13, 12 and 11 of the Arduino board. LED anode (+) is connected to V+ and cathode (-) to the one of the OUT pins. I used only the 8 first outputs.

int DIN = 13;
int CLK = 12;
int LE  = 11;

void setup() {
  pinMode(DIN, OUTPUT);     
  pinMode(CLK, OUTPUT);     
  pinMode(LE , OUTPUT);     

void clk() {
  digitalWrite(CLK, LOW);
  digitalWrite(CLK, HIGH);

void latch() {
  digitalWrite(LE, LOW);
  digitalWrite(LE, HIGH);

void max_write(boolean data) {
  digitalWrite(DIN, data);

void loop() {
  /** Only 8 LEDS */
  for (int i = 0; i <; 7; i++) {

The result is pretty awesome with so few components and outputs required on the Arduino:

One Reply to “MAX6969 blinking”

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.