One of the many supported devices with DUELink is Arduino Modulino modules. Modulino® — Arduino Online Shop
Of course, like all other similar modules on the market (Qwiic/STEMMA) , these are simply I2C devices. No smart Daisylink Daisylink | DUELink here. Yes they physically connect in a chain like DUELink modules, but the wires are only I2C, where the wires on DUELink are smart DUELink connection that the internal engine take care of.
However, since DUELink is awesome, you can switch the Downlink socket to I2C Mode Downlink | DUELink and then use it to connect any I2C device, including Arduino Modulino!
The first module tested was Modulino Pixels!
Inspecting the Arduino code, looks like it takes 32 bytes, 4 bytes for each of the 8 pixels. You need 0xe0 in the first byte of each pixel + brightness. Max brightness is 31 and we are just going to fix it to 25 in the code.
The remaining 3 bytes are Red, Green, and Blue.
You can use any DUELink module, which you can code from Python or whatever language you like, but we will use DUELink Scripts Scripting Language | DUELink . This example generates random colors and sweeps through all LEDs.
fn init()
DLMode(5,0)
Dim B1[32]
for _a in range (32)
b1[_a]=0xe0
next
fend
fn setled(i, r,g,b)
b1[i*4+0]=0xe0 | 25
b1[i*4+1]=b
b1[i*4+2]=g
b1[i*4+3]=r
fend
fn showled()
_x= DLI2CWr(54,B1,[])
fend
init()
################
while 1
_r = rnd(3)*5
_g = rnd(3)*5
_b = rnd(3)*5
for _i in range(8)
setled(_i,_r,_g,_b)
showled()
wait(10)
next
wend



