Two is31fl3741 boards in serial STEMMA crash on example code

CircuitPython on hardware including Adafruit's boards, and CircuitPython libraries using Blinka on host computers.

Moderators: adafruit_support_bill, adafruit

Please be positive and constructive with your questions and comments.
Locked
User avatar
richsad
 
Posts: 60
Joined: Wed Mar 19, 2014 8:58 am

Two is31fl3741 boards in serial STEMMA crash on example code

Post by richsad »

First of all: The little is31fl3741 RGB LED 13x9 matrix is GORGEOUS! I am so happy I was able to grab two before they sold out for now.

I experienced a reproducible crash attempting to run two is31fl3741 with the two RGB Matrix boards in serial over STEMMA QT connector. I was using unmodified CircuitPython demo code from the learn guide with the slow rainbow color sweep. Devices are listed below. Problem is reproducible 100% of all listed devices. Note: using just one RGB Matrix the code appears to run fine on the same dev boards. Used two short 50mm STEMMA QT male to STEMMA QT male connectors. Tried demo with power over USB C and also with only power from a charged lipo battery.

In all cases with two matrixes in serial, the demo runs for 10 seconds or so (don't quote me on the exact time) and appears to work mirroring the actions on both matrix boards. Then it crashes and cause the mcu to restart (much like a soft reboot when a file is saved). Reproducible every time, with any combo mcu board and power option.

The example code runs fine with a single RGB Matrix board. When a second RGB Matrix is added in serial, the code appears to work at first mirroring the two the RGB Matrix boards. But after some number of seconds it crashes and the board reboots.

I tested this rainbow color sweep sample code from the learn guide on all the STEMMA QT-equipped dev boards I had handy: Adafruit Trinkey RP2040, Feather RP2040, SparkFun Thing Plus Lipo 2040, Pimoroni Pico Lipo 2040. All were running freshly flashed CircuitPython Version '7.0.0 on 2021-09-20'

This is not a critical issue for me. I was trying to wire two RGB Matrix boards in serial over STEMMA QT to see what happened. Code is below. Besides added import os and printing out os.uname() this is the demo from the Learn Guide at https://learn.adafruit.com/adafruit-is3 ... cuitpython

Code is shown here for convenience:

Code: Select all

# SPDX-FileCopyrightText: 2021 ladyada for Adafruit Industries
# SPDX-License-Identifier: MIT
import time
import busio
import board
import adafruit_is31fl3741
from random import randint
from rainbowio import colorwheel
from adafruit_is31fl3741.adafruit_rgbmatrixqt import Adafruit_RGBMatrixQT
import os

print(os.uname())

is31 = Adafruit_RGBMatrixQT(busio.I2C(board.SCL, board.SDA), allocate=adafruit_is31fl3741.PREFER_BUFFER)
is31.set_led_scaling(0xFF)
is31.global_current = 0xFF
is31.enable = True
wheeloffset = 0
while True:
    for y in range(9):
        for x in range(13):
            is31.pixel(x, y, colorwheel((y * 13 + x) * 2 + wheeloffset))
    wheeloffset += 1
    is31.show()


User avatar
adafruit_support_carter
 
Posts: 29150
Joined: Tue Nov 29, 2016 2:45 pm

Re: Two is31fl3741 boards in serial STEMMA crash on example

Post by adafruit_support_carter »

Try changing your loop to:

Code: Select all

while True:
    is31.pixel(0, 0, colorwheel(wheeloffset))
    wheeloffset += 1
    is31.show()
and see if the problem repeats.

This is a simple test to see if the issue is power related.

Locked
Please be positive and constructive with your questions and comments.

Return to “Adafruit CircuitPython”