¿Qué podría estar causando una salida poco confiable para 3 chips IS31FL3731 diferentes?

Tengo una placa que usa el desglose de Adafruit del IS31FL3731 para controlar 81 interruptores iluminados. Tengo un código que se ejecuta en un Arduino que debería encender todas las luces, pero solo la mitad de las luces se encienden, una mitad aparentemente aleatoria.

Tengo tres chips IS31FL3731 y cada uno enciende un conjunto diferente de luces, así que creo que el problema son los chips o cómo los uso.

Hay tantos lugares diferentes donde las cosas podrían salir mal (diseño de la placa, soldadura, código, chips defectuosos, muy pocos amperios, etc.), pero espero que alguien esté familiarizado con un problema como este. Si es así, podría ahorrarme muchos problemas.

También vale la pena señalar que cuando la placa tiene los registros de desplazamiento en su lugar, parece haber algún tipo de cortocircuito: la corriente aumentó a aproximadamente 1.3A antes de que el controlador Arduino se apagara.

Mi parte del código y las imágenes a continuación.

void loop() {
    int numLEDS = 81;
    for(int i = 0; i< numLEDS; i++){
        LED_PWM(i, 255);
        Serial.write(i);
        delay(20);
    }
}

Error 1

Iluminación defectuosa 2

La falla en mi tablero

Esquemático

Entonces, si hay un cortocircuito, ¿por qué sería un problema de software?
Dudo que las personas puedan derivar la funcionalidad de la placa de las fotos (o incluso de miles de fotos) que proporcionan un esquema. Si quisiera que la gente depurara un proyecto por mí, también proporcionaría formas de onda.
+1, se requiere esquema. Además, su chip es un controlador de LED de matriz, así que verifique si los LED que no funcionan pertenecen a la misma columna o línea.
Las fotos son solo para referencia. Puede que no sea un cortocircuito, pero tal vez se esté consumiendo demasiada corriente. No estoy buscando a nadie para que haga la búsqueda de fallas por mí; Solo pensé que esto podría ser un síntoma de un problema obvio. No puedo ver ninguna correlación entre las columnas de los controladores y qué interruptores no se iluminan. He añadido un esquema.
Cada controlador tiene una función, verifique el nodo para la función esperada

Respuestas (1)

Creo que ya está solucionado. Los chips tienen algunos registros internos que controlan qué LED deben estar encendidos y no los había borrado. Parece que no son volátiles. Siento molestar a todos.Laboral

Ignora esos 3 que no he soldado correctamente.