I just bought this product: Adafruit IS31FL3741 13x9 PWM RGB LED Matrix Driver - STEMMA QT / Qwiic PRODUCT ID: 5201
I am using the arduino ide 1.8.10, library manager to install version 2.0.0 of the Adafruit_IS31FL3731 and trying to run the sample code in Arduino\libraries\Adafruit_IS31FL3731_Library\examples\gfxdemo the gfxdemo folder.
I am using it with a UNO board that has a qwiic connector and it compiles ok but the serial output window says:
17:44:51.798 -> ISSI manual animation test
17:44:51.798 -> IS31 not found
here is a pic, no wiring per say, just using a qwiic cable
thanks
Adafruit IS31FL3741 13x9 PWM RGB LED Matrix
Moderators: adafruit_support_bill, adafruit
Please be positive and constructive with your questions and comments.
- jimk123
- Posts: 708
- Joined: Sun Dec 26, 2010 7:04 pm
Re: Adafruit IS31FL3741 13x9 PWM RGB LED Matrix
As another test I tried a Adafruit QT PY (SAMD21) board and selected 'Adafruit QT PY (SAMD21)' as the board type and the port "COM5 Adafruit QT PY (SAMD21))". It compiled OK and seemed to load
Write 21500 bytes to flash (336 pages)
[===== ] 19% (64/336 pages)
[=========== ] 38% (128/336 pages)
[================= ] 57% (192/336 pages)
[====================== ] 76% (256/336 pages)
[============================ ] 95% (320/336 pages)
[==============================] 100% (336/336 pages)
done in 0.181 seconds
Verify 21500 bytes of flash with checksum.
Verify successful
done in 0.034 seconds
CPU reset.
but nothing shows up in the serial monitor window and the RGB board is dark.
thanks
Write 21500 bytes to flash (336 pages)
[===== ] 19% (64/336 pages)
[=========== ] 38% (128/336 pages)
[================= ] 57% (192/336 pages)
[====================== ] 76% (256/336 pages)
[============================ ] 95% (320/336 pages)
[==============================] 100% (336/336 pages)
done in 0.181 seconds
Verify 21500 bytes of flash with checksum.
Verify successful
done in 0.034 seconds
CPU reset.
but nothing shows up in the serial monitor window and the RGB board is dark.
thanks
- jimk123
- Posts: 708
- Joined: Sun Dec 26, 2010 7:04 pm
Re: Adafruit IS31FL3741 13x9 PWM RGB LED Matrix
I added a i2cScan function wondering maybe I need to specify the address on the matrix.begin() line and got some really strange output:
18:59:07.544 -> Scanning I2C devices...
18:59:07.544 -> Unknown error at address 0x01
18:59:07.544 -> I2C device found at address 0x3
18:59:09.544 -> I2C device found at address 0x5
18:59:11.554 -> I2C device found at address 0x7
18:59:13.563 -> I2C device found at address 0x9
18:59:15.556 -> I2C device found at address 0xB
18:59:17.551 -> I2C device found at address 0xD
18:59:19.550 -> I2C device found at address 0xF
18:59:21.532 -> I2C device found at address 0x11
18:59:23.534 -> I2C device found at address 0x13
18:59:25.568 -> I2C device found at address 0x15
18:59:27.524 -> I2C device found at address 0x17
18:59:29.527 -> I2C device found at address 0x19
18:59:31.539 -> I2C device found at address 0x1B
18:59:33.544 -> I2C device found at address 0x1D
18:59:35.560 -> I2C device found at address 0x1F
18:59:37.535 -> I2C device found at address 0x21
18:59:39.542 -> I2C device found at address 0x23
18:59:41.533 -> I2C device found at address 0x25
18:59:43.533 -> I2C device found at address 0x27
18:59:45.545 -> I2C device found at address 0x29
18:59:47.534 -> I2C device found at address 0x2B
18:59:49.547 -> I2C device found at address 0x2D
18:59:51.530 -> I2C device found at address 0x2F
18:59:53.538 -> I2C device found at address 0x31
18:59:07.544 -> Scanning I2C devices...
18:59:07.544 -> Unknown error at address 0x01
18:59:07.544 -> I2C device found at address 0x3
18:59:09.544 -> I2C device found at address 0x5
18:59:11.554 -> I2C device found at address 0x7
18:59:13.563 -> I2C device found at address 0x9
18:59:15.556 -> I2C device found at address 0xB
18:59:17.551 -> I2C device found at address 0xD
18:59:19.550 -> I2C device found at address 0xF
18:59:21.532 -> I2C device found at address 0x11
18:59:23.534 -> I2C device found at address 0x13
18:59:25.568 -> I2C device found at address 0x15
18:59:27.524 -> I2C device found at address 0x17
18:59:29.527 -> I2C device found at address 0x19
18:59:31.539 -> I2C device found at address 0x1B
18:59:33.544 -> I2C device found at address 0x1D
18:59:35.560 -> I2C device found at address 0x1F
18:59:37.535 -> I2C device found at address 0x21
18:59:39.542 -> I2C device found at address 0x23
18:59:41.533 -> I2C device found at address 0x25
18:59:43.533 -> I2C device found at address 0x27
18:59:45.545 -> I2C device found at address 0x29
18:59:47.534 -> I2C device found at address 0x2B
18:59:49.547 -> I2C device found at address 0x2D
18:59:51.530 -> I2C device found at address 0x2F
18:59:53.538 -> I2C device found at address 0x31
Code: Select all
void scanI2C()
{
byte error, address;
int nDevices;
Serial.println("Scanning I2C devices...");
nDevices = 0;
for (address = 1; address < 127; address++ )
{
// The i2c_scanner uses the return value of
// the Write.endTransmisstion to see if
// a device did acknowledge to the address.
Wire.beginTransmission(address);
error = Wire.endTransmission();
if (error == 0)
{
Serial.print(F("I2C device found at address 0x"));
Serial.println(address, HEX);
nDevices++;
delay(2000);
}
else if (error == 4)
{
Serial.print("Unknown error at address 0x");
if (address < 16)
Serial.print("0");
Serial.println(address, HEX);
}
}
}
- jimk123
- Posts: 708
- Joined: Sun Dec 26, 2010 7:04 pm
Re: Adafruit IS31FL3741 13x9 PWM RGB LED Matrix
looking at the back the of RGB matrix board it looks like the jumper is set for 0x30
- adafruit_support_mike
- Posts: 67391
- Joined: Thu Feb 11, 2010 2:51 pm
Re: Adafruit IS31FL3741 13x9 PWM RGB LED Matrix
Try connecting power and SDA/SCL directly. The output from the I2C address scan looks like the SDA line is being held low.
- jimk123
- Posts: 708
- Joined: Sun Dec 26, 2010 7:04 pm
Re: Adafruit IS31FL3741 13x9 PWM RGB LED Matrix
using the UNO blackboard posted in the first pic I first used the qwiic/stemma connector on the RGB board and manually wired it to SDA (blue), SCL(yellow) GND and 3.3v on the blackboard, same results, Then I used the qwiic/stemma connector on the blackboard UNO and wired it to the pins on the RGB board, same result.
Then I found a adafruit huzzah esp32 and a feather wing oled stemma display and used that and a qwiic cable to the RGB and the output showed:
21:32:52.097 -> entry 0x400806a8
21:32:53.222 -> Scanning I2C devices...
21:32:53.222 -> I2C devices found: 0
21:32:53.222 -> ISSI manual animation test
21:32:53.222 -> IS31 not found
not sure what to make of the results.
thanks
Then I found a adafruit huzzah esp32 and a feather wing oled stemma display and used that and a qwiic cable to the RGB and the output showed:
21:32:52.097 -> entry 0x400806a8
21:32:53.222 -> Scanning I2C devices...
21:32:53.222 -> I2C devices found: 0
21:32:53.222 -> ISSI manual animation test
21:32:53.222 -> IS31 not found
not sure what to make of the results.
thanks
- jimk123
- Posts: 708
- Joined: Sun Dec 26, 2010 7:04 pm
Re: Adafruit IS31FL3741 13x9 PWM RGB LED Matrix
fyi - on the blackboard I unplugged the RGB board, restarted the board and it still displays false devices, not sure why ?
7:00:17.328 -> Scanning I2C devices...
07:00:17.328 -> Unknown error at address 0x01
07:00:17.328 -> I2C device found at address 0x3
07:00:17.564 -> I2C device found at address 0x5
07:00:17.845 -> I2C device found at address 0x7
07:00:18.068 -> I2C device found at address 0x9
....
7:00:17.328 -> Scanning I2C devices...
07:00:17.328 -> Unknown error at address 0x01
07:00:17.328 -> I2C device found at address 0x3
07:00:17.564 -> I2C device found at address 0x5
07:00:17.845 -> I2C device found at address 0x7
07:00:18.068 -> I2C device found at address 0x9
....
- adafruit_support_mike
- Posts: 67391
- Joined: Thu Feb 11, 2010 2:51 pm
Re: Adafruit IS31FL3741 13x9 PWM RGB LED Matrix
Electrically that means the SDA pin is being held low somehow. I'm not familiar with that specific board, so I don't know if that's normal or not.
As a sanity check, can you get a working I2C connection to any device from that board?
As a sanity check, can you get a working I2C connection to any device from that board?
- jimk123
- Posts: 708
- Joined: Sun Dec 26, 2010 7:04 pm
Re: Adafruit IS31FL3741 13x9 PWM RGB LED Matrix
I did some more testing with the adafruit ESP32 feather and the QT PY and got a little further so let's leave out the blackboard for now.
QT PY test
I got the QT PY code to run in the serial console (was missing while(!Serial); in setup)
19:37:58.915 -> Scanning I2C devices...
19:37:58.915 -> I2C devices found: 0
19:37:58.915 -> ISSI manual animation test
19:37:58.915 -> IS31 not found
after adding a wire.begin in setup and specify the address on the matrix.begin I see this which looks ok but the display is blank. I added a Serial.println("clear"); in the loop function and can see it in the serial monitor every few seconds so the code is looping ok I think, but the RGB board never lights up.
20:04:38.401 -> Setup
20:04:38.401 -> Scanning I2C devices...
20:04:38.401 -> I2C device found at address 0x30
20:04:38.651 -> I2C devices found: 1
20:04:38.651 -> ISSI manual animation test
20:04:38.698 -> IS31 Found!
20:04:38.698 -> clear
ESP32 test
using the adafruit esp32 feather with a Adafruit FeatherWing OLED (since it has a stemma connector)
This looks better, 0x30 is the RGB board and 0x3C is the OLED featherwing, it discovered the RGB board in the I2C scan but the matrix.begin() fails to start ?
19:45:52.387 -> Scanning I2C devices...
19:45:52.387 -> I2C device found at address 0x30
19:45:52.621 -> I2C device found at address 0x3C
19:45:52.903 -> I2C devices found: 2
19:45:52.903 -> ISSI manual animation test
19:45:52.903 -> IS31 not found
so I added 0x30 to the if (! matrix.begin(0x30)) { line and then got this for output
19:53:27.360 -> Scanning I2C devices...
19:53:27.407 -> I2C device found at address 0x30
19:53:27.643 -> I2C device found at address 0x3C
19:53:27.927 -> I2C devices found: 2
19:53:27.927 -> ISSI manual animation test
19:53:27.975 -> IS31 Found!
but nothing on the display. I added a Serial.println("clear"); in the loop function and can see it in the serial monitor every few seconds so the code is looping ok I think.
question: When I installed the code I used the arduino library manager and in Adafruit_IS31FL3731_Library folder I noticed 3 folders under examples, but when I went to the URL in the product page https://www.adafruit.com/product/5201 it took me here https://github.com/adafruit/Adafruit_IS31FL3741 and under examples it only shows two folders; gfxdemo and rgbswirldemo, are the code libraries out of sync ?
thanks
QT PY test
I got the QT PY code to run in the serial console (was missing while(!Serial); in setup)
19:37:58.915 -> Scanning I2C devices...
19:37:58.915 -> I2C devices found: 0
19:37:58.915 -> ISSI manual animation test
19:37:58.915 -> IS31 not found
after adding a wire.begin in setup and specify the address on the matrix.begin I see this which looks ok but the display is blank. I added a Serial.println("clear"); in the loop function and can see it in the serial monitor every few seconds so the code is looping ok I think, but the RGB board never lights up.
20:04:38.401 -> Setup
20:04:38.401 -> Scanning I2C devices...
20:04:38.401 -> I2C device found at address 0x30
20:04:38.651 -> I2C devices found: 1
20:04:38.651 -> ISSI manual animation test
20:04:38.698 -> IS31 Found!
20:04:38.698 -> clear
ESP32 test
using the adafruit esp32 feather with a Adafruit FeatherWing OLED (since it has a stemma connector)
This looks better, 0x30 is the RGB board and 0x3C is the OLED featherwing, it discovered the RGB board in the I2C scan but the matrix.begin() fails to start ?
19:45:52.387 -> Scanning I2C devices...
19:45:52.387 -> I2C device found at address 0x30
19:45:52.621 -> I2C device found at address 0x3C
19:45:52.903 -> I2C devices found: 2
19:45:52.903 -> ISSI manual animation test
19:45:52.903 -> IS31 not found
so I added 0x30 to the if (! matrix.begin(0x30)) { line and then got this for output
19:53:27.360 -> Scanning I2C devices...
19:53:27.407 -> I2C device found at address 0x30
19:53:27.643 -> I2C device found at address 0x3C
19:53:27.927 -> I2C devices found: 2
19:53:27.927 -> ISSI manual animation test
19:53:27.975 -> IS31 Found!
but nothing on the display. I added a Serial.println("clear"); in the loop function and can see it in the serial monitor every few seconds so the code is looping ok I think.
question: When I installed the code I used the arduino library manager and in Adafruit_IS31FL3731_Library folder I noticed 3 folders under examples, but when I went to the URL in the product page https://www.adafruit.com/product/5201 it took me here https://github.com/adafruit/Adafruit_IS31FL3741 and under examples it only shows two folders; gfxdemo and rgbswirldemo, are the code libraries out of sync ?
thanks
- adafruit_support_mike
- Posts: 67391
- Joined: Thu Feb 11, 2010 2:51 pm
Re: Adafruit IS31FL3741 13x9 PWM RGB LED Matrix
It's possible you have an older version of the library. Try using the latest version and see what happens.
- jimk123
- Posts: 708
- Joined: Sun Dec 26, 2010 7:04 pm
Re: Adafruit IS31FL3741 13x9 PWM RGB LED Matrix
that was it, when I downloaded and unzipped the file from here: https://github.com/adafruit/Adafruit_IS31FL3741 it worked !
Thank you !
Thank you !
- adafruit_support_mike
- Posts: 67391
- Joined: Thu Feb 11, 2010 2:51 pm
Re: Adafruit IS31FL3741 13x9 PWM RGB LED Matrix
Glad to hear you got things working. Happy hacking!
Please be positive and constructive with your questions and comments.