Hi,
I was wondering if it is possible to change the i2c address on the Grove 8x8 RGB Matrix? Looks like it is currently hardcoded to 0x65, but I’d like to use multiple ones on the same bus.
Thanks,
Darren.
Hello,
the Grove - RGB LED Matrix has an stm32 chip to receive I2C signal, whose programmable port are not lead out, so you can not change the address.
I hope the information will help you.
I also wanted to do the same and I found this post.
Looking at the code for the library I found this. It didn’t work for me, just bricked the matrix.
void GroveTwoRGBLedMatrixClass::changeDeviceBaseAddress(uint8_t newAddress) {
uint8_t data[2] = {0, };
if (!(newAddress >= 0x10 && newAddress <= 0x70)) {
newAddress = GROVE_TWO_RGB_LED_MATRIX_DEF_I2C_ADDR;
}
data[0] = I2C_CMD_SET_ADDR;
data[1] = newAddress;
baseAddress = newAddress;
i2cSendBytes(currentDeviceAddress, data, 2);
currentDeviceAddress = baseAddress + offsetAddress;
delay(200);
}
if i cannot change the address, then there is no way to interface more than one rgb matrix?
in other words…i want to interface multiple rgb matrices to one arduino. i was hoping that it could be done by changing the i2c address. so is there any other alternative way?
Hi there , I too don’t see why the hard-coding is necessary I think you need this device right here. Overcomes the short comings of the Seeed hardware.
Digital 1-to-8 I2C Multiplexer
dfrobot got this.
[Gravity: Digital 1-to-8 I2C Multiplexer - DFRobot)
HTH
GL PJ
thanks a ton @PJ_Glasso for suggesting this alternative.
Seeed also has its own i2c multiplexer board
have placed an order. lets see how that goes.
I2C multiplexer seems to be the only solution.
https://www.dfrobot.com/product-1780.html
I like the non-grove pins and flexibility & reliability, I have used this one and it does the job for $6 bucs
no other grove cables required.smaller too, Seeds is too Looooong .IMO LOL
HTH
GL PJ
link was wrong in previous post btw, sorry