MAX7219 in series with ESP8266 (NodeMCU) - flickering and lightens only up

Hey together,

in the meantime i have 4 max7129 modules, because i wanted to be sure, if they have to be compatible with each other, after all, you often have to run them with a different config. Now it still doesn't work, although I have 2 modules from the same seller and simply put them in series. Of course I paid as much attention as possible to the solder connection, but it still doesn't work. The second matrix glows completely sometimes and sometimes only with a few blocks. Does anyone have a tip? I'm running on the 3 Volt voltage. With the 5 V voltage both modules flicker completely. Here is my code:

#include <ESP8266WiFi.h>
#include <SPI.h>
#include <ESP8266HTTPClient.h>
#include <MD_Parola.h>
#include <MD_MAX72xx.h>
#include <ArduinoOTA.h>

#define MAX_DEVICES 8
#define HARDWARE_TYPE MD_MAX72XX::FC16_HW
#define CLK_PIN   D5 // or SCK
#define DATA_PIN  D7 // or MOSI
#define CS_PIN    D3 // or SS

const char* ssid = "XXX";
const char* password = "XXX";
const char* apiHost = "http://XXXX";

uint8_t degC[] = {5, 6 , 15 , 9 , 15 , 6 };

//MESSAGE
textEffect_t scrollEffect = PA_SCROLL_LEFT;
uint8_t frameDelay = 60;
uint8_t messagePause = 100;
char curMessage[300]   = "Smart Notification";
MD_Parola Parola = MD_Parola(HARDWARE_TYPE, CS_PIN, MAX_DEVICES);

void setup() {
  Serial.begin(115200);
  Serial.println("Setup");

  Parola.begin();
  Parola.addChar('

, degC);
Parola.displayClear();
Parola.displaySuspend(false);
Parola.setIntensity(1); // Values from 0 to 15
scrollEffect = (PA_SCROLL_LEFT);
Parola.setTextEffect(scrollEffect, scrollEffect);
Parola.setPause(messagePause);

WiFi.begin(ssid, password);

while (WiFi.status() != WL_CONNECTED) {
Serial.println("Error connection to Wifi");
delay(500);
}

Serial.print("Connected: "); Serial.println(WiFi.localIP());
String successMessage = "Successfully connected to Wifi Network";
successMessage.toCharArray(curMessage, sizeof(curMessage));

ArduinoOTA.begin();
}

void loop() {
ArduinoOTA.handle();

if (Parola.displayAnimate()) {
Parola.displayScroll(curMessage, PA_LEFT, scrollEffect, frameDelay);
Serial.println("Text displayed");
getApiData();
}
}

void getApiData() {
WiFiClient client;
HTTPClient http;

Serial.print("[HTTP] begin...\n");
if (http.begin(client, apiHost)) {

Serial.print("[HTTP] GET...\n");
int httpCode = http.GET();

if (httpCode > 0) {
  Serial.printf("[HTTP] GET... code: %d\n", httpCode);

  if (httpCode == HTTP_CODE_OK || httpCode == HTTP_CODE_MOVED_PERMANENTLY) {
    String payload = http.getString();
    Serial.println(payload);
    payload.toCharArray(curMessage, sizeof(curMessage));
  }
} else {
  Serial.printf("[HTTP] GET... failed, error: %s\n", http.errorToString(httpCode).c_str());
}

http.end();

} else {
Serial.printf("[HTTP} Unable to connect\n");
}
}


![|500x170](upload://1GBrN78H2msASYdJ4JRZz5XFFJ0.jpeg)

freddyde:
The second matrix glows completely sometimes and sometimes only with a few blocks. Does anyone have a tip? I'm running on the 3 Volt voltage. With the 5 V voltage both modules flicker completely. Here is my code:

I am seriously impressed by your skill - as a first time poster - in using the image embedding facility of this forum and the clever behaviour of "imageupload" in serving the image itself.

In the configuration you show, it is clear that there is no problem whatsoever with the code or the connections to the right hand display.

I am not sure what you mean by "I'm running on the 3 Volt voltage." The MAX7219 is not specified to operate at less than 4 V, so this would not be a valid test. Unlike operating WS2812 "NeoPixels" from 3.3 V logic, the MAX7219 - though not specified for 3.3 V logic- does seem to operate reliably and as is evident, the right hand side display is working just fine. Although the data signal is regenerated to 5 V passing through the chain, the two control signals are of course, not. So that is not the problem.

I am not sure from the photo detail, whether these display matrices are soldered or socketed but as I cannot see the markings (which would be on the bottom edge) I conclude that they are not inserted upside down, so that is not the problem. The display is simply failing to initialise.

You refer to soldering and to having four modules. The obvious test would be to exchange modules but if you have soldered them, that is going to be difficult. My suspicion at this point is that you have damaged the connections by de-soldering the right-angle pins on the slave display. When I have done this, I have removed the pins one at a time from the "out" spill, then bent the right angle pins over into a "U" to solder back into that spill so that there is only one connector to remove. :grinning:


The "flicker completely" on 5 V suggests that the USB supply is not able to power both displays if they happen to light all LEDs before initialising.