Connecting 8 channel dimmer via I2C to a third party SBC

I am looking at trying to connect the 8 channel dimmer (SKU: PR21-13) via I2C to a third party SBC. The SBC provides access to its I2C bus via four non-contiguous pins on a standard 16-pin 0.1"- pitch header.

How do I physically connect dimmer to the SBC header? The product page says I need a ‘nodeLynk Master Adapter’. Is one available, or can I connect the dimmer cable’s four conductors directly to my SBC’s I2C pins?



The board has 4 connections.
SCL, SDA, GND and 5V . connect these to the SBC SCL, SDA, GND and 5V. The PR21-13 I2C is 5V so if the SBC I2C is 3.3V than you will need a level shifter.

If the SBC I2C is 5V tolerant than it can be directly connected to PR21-13.


Thanks for the rapid reply. The SBC I2C is 5V, so it sounds like a simple connection.

Good news all the way around. Thanks again.



I have moved forward with the board, and now am having some trouble getting the 8 channel dimmer to turn a small LED on and off.

I have the 8 channel dimmer (SKU: PR21-13) and have successfully connected it to my third-party SBC. It turns out that I did need the level shifter, so that is in place. Also in place is the external 12V power supply, attached via the barrel connector.

The SBC (Debian) sees the board (address 0x40) and I can get and set the registers using the standard command line tools (i2cdetect, i2cdump, i2cget, and i2cset).

I have connected a small LED to the plus and minus connectors on switch 0 of the PR21-13, configuring it as a low side switch between the LED and ground.

I can set the registers so that the on-board LED on the PR21-13 adjacent to the switch 0 connectors comes on, using the following commands:

i2cset -y 2 0x40 0x00 0

i2cset -y 2 0x40 0x06 0x00
i2cset -y 2 0x40 0x07 0x00
i2cset -y 2 0x40 0x08 0xff
i2cset -y 2 0x40 0x09 0x0f

However, even though the on-board LED comes on, the LED connected to the switch 0 screw terminals does not; a voltmeter shows +12V between the switch 0 screw terminals. An oscilloscope does not show any PWM.

I have played around with a fair number of other register settings (e.g. using the full on setting, and all full on settings), and nothing seems to work.

Is there some other chip setting I am missing? Do you have a command line example for turning one of the circuits on and off?



I will recommend trying this lib

The on board led should change its brightness as you change the PWM.


Thanks very much for you reply. Unfortunately, I was unable to get the lib to build and install on my SBC.

However, since I was already able to change the brightness of the on board LED, I looked elsewhere for the problem and finally realized I had mis-wired the load. I was making things more complicated than they needed to be. Simply wiring the load directly into the +/- screw terminals was all I needed to do.

Thanks again