Due to high demand expect some shipping delays at this time, orders may not ship for 1-2 business days.

64x32 Ghosting Issue with ESP32 and ProtoMatter Lib
Moderators: adafruit_support_bill, adafruit

Please be positive and constructive with your questions and comments.

64x32 Ghosting Issue with ESP32 and ProtoMatter Lib

by CWatts90 on Thu Oct 28, 2021 11:33 am

I apologise but I really dont know where to start with these displays.. this ISNT an adafruit display, but a HUB75 AliExpress model (im not made of money..) which should be to all intents and purposes compatible. However, I am getting a weird ghosting on the display and I am not sure where to start debugging this..
I have attached a picture of the display. The code shown below is set for a single pixel to be turned on and yet i have two lit brightly on the display and 1 dimly (but definitely lit, maybe not clear on camera..).

I have played around with different pins to see if that fixes (no luck there).
I have noted on multiple pages on adafruit that the pins are recommended/must be on the same port, but i have no idea how to tell if its the same port on the ESP32 as its literally "GPIO25" etc.

I have checked the wiring, but am definitely going to re-check it.. I also have a spare board I havent checked yet (to rule out hardware issues) but it seems confusing to me.
See the additional "Image(5).png", where i spotted the issue first trying to draw just a single rectangle!

Any suggestions and debugging ideas are very much welcomed and needed!
Code: Select all | TOGGLE FULL SIZE
#include <Arduino.h>
#include <SPI.h>
#include <Wire.h>
#include <Adafruit_Protomatter.h>
//                    R1,G1,B1,R2,G2,B2
uint8_t rgbPins[]  = {23,22,21,18,19,5};
//                     A,  B,  C,  D
uint8_t addrPins[] = {16,4,0,2};
uint8_t clockPin   = 25;
uint8_t latchPin   = 26;
uint8_t oePin      = 15;

Adafruit_Protomatter matrix(
  64, 4, 1, rgbPins, 4, addrPins, clockPin, latchPin, oePin, false);

void print(void);

void setup(void) {

  // Initialize matrix...
  ProtomatterStatus status = matrix.begin();
  Serial.print("Protomatter begin() status: ");
  if(status != PROTOMATTER_OK) {
    Serial.print("Protomatter begin() not happy");


void loop(void) {
  Serial.print("Refresh FPS = ~");

void print (void){
  matrix.drawPixel(1,1,matrix.color565(0, 255, 0));
ghostLED.png (471.17 KiB) Viewed 61 times
image (5).png
image (5).png (612.8 KiB) Viewed 61 times

Posts: 1
Joined: Thu Oct 28, 2021 11:21 am

Please be positive and constructive with your questions and comments.