P6 led module + esp8266

Iam a newbie and tried compiling p6 rgb led module with esp8266. But my module is not having D and E pin out... I tried severals codes but nothing worked seems like pin D Nd E is necessary... Any help regarding this wud b appriciated. Iam trying morphing clock and other allied things which can be done with the display.

D and E are not mandatory, depends on panel type.
Please show link to your panel, the letters "p6" means nothing more than pixel pitch in mm

|R1|B1|
|
|G1|GND|

|R2|B2|

|G2|GND|

|A|B|

|C|NC|

|CLK|LAT|

|OE|GND|

these are the connectors input pins

So it is a standart HUB75 connector.
It also says nothing about the panel.
Please show a clear photo of the reverse side of the panel or at least an ID - the text like "p6-16x32-2121-s8-v1.4"

DS6-3232-2021A(ITS MENTION ON THE BACK PLASTIC TILE )

Thank you. It is what I asked:
P6-2727-32x32-s8

You have "8scan" panel, it doesn't need a D and E pins. What the library did you used?

type or paste code here
// REQUIRES the following Arduino libraries:
// - RGB matrix Panel Library: https://github.com/2dom/PxMatrix
// - Adafruit_GFX Library: https://github.com/adafruit/Adafruit-GFX-Library
// - Adafruit_BusIO Library: https://github.com/adafruit/Adafruit_BusIO
// - esp8266 library (nodemcu) found at https://github.com/esp8266/Arduino
// - package_esp8266com_index.json found at http://arduino.esp8266.com/stable/package_esp8266com_index.json

#include <ESP8266WiFi.h>
#include <time.h>
#include <Adafruit_GFX.h>
#include <FreeMonoBold12pt7b.h>
#include <kongtext4pt7b.h>
#include <PxMatrix.h>
#include <Ticker.h>
#include <WiFiUdp.h>
#include <WiFiClientSecure.h>
#include <NTPClient.h>

Ticker display_ticker;
#define P_LAT 16
#define P_A 5
#define P_B 4
#define P_C 15
#define P_D 12
#define P_OE 2
// Pins for LED MATRIX
#define matrix_width 32
#define matrix_height 32

char ssid[]     = "TECHLOGICS_7598111110";  // your network SSID (name)
char password[] = "9487100100";  // your network key

// Define NTP Client to get time
WiFiUDP ntpUDP;
NTPClient timeClient(ntpUDP, "pool.ntp.org");

static uint32_t lastTime = 0; // millis() memory
static bool flasher = false;  // seconds passing flasher
uint8_t frameDelay = 15;  // default frame delay value

int h, m, s, d;
uint8_t dow;
int  day;
uint8_t month;
String date;
String text;
String Message1 = "Please Subscribe to my YouTube channel : www.youtube.com/techlogicsindia";
String MessageDate =  "";
uint8_t r = 0, g = 0, b = 0;
unsigned int NewRTCh = 24;
unsigned int NewRTCm = 60;
unsigned int NewRTCs = 10;
char szTime[4];

// This defines the 'on' time of the display is us. The larger this number,
// the brighter the display. If too large the ESP will crash
uint8_t display_draw_time = 10; //10-50 is usually fine
PxMATRIX display(32, 32, P_LAT, P_OE, P_A, P_B, P_C, P_D);

//PxMATRIX display(matrix_width,matrix_height,P_LAT, P_OE,P_A,P_B,P_C);
//PxMATRIX display(64,64,P_LAT, P_OE,P_A,P_B,P_C,P_D,P_E);

// Some standard colors
uint16_t myRED = display.color565(255, 0, 0);
uint16_t myGREEN = display.color565(0, 255, 0);
uint16_t myBLUE = display.color565(0, 0, 255);
uint16_t myWHITE = display.color565(255, 255, 255);
uint16_t myYELLOW = display.color565(255, 255, 0);
uint16_t myCYAN = display.color565(0, 255, 255);
uint16_t myMAGENTA = display.color565(255, 0, 255);
uint16_t myShadow = display.color565(255, 0, 0);
uint16_t myROSE = display.color565(253, 18, 111);
uint16_t myBLACK = display.color565(0, 0, 0);

uint16_t myCOLORS[90] = {myRED, myGREEN, myWHITE, myMAGENTA, myBLUE, myYELLOW, myCYAN, myRED, myGREEN, myMAGENTA,
                         myBLUE, myWHITE, myCYAN, myRED, myGREEN, myYELLOW, myMAGENTA, myBLUE, myRED, myYELLOW, 
                         myCYAN, myRED, myGREEN, myMAGENTA, myBLUE, myWHITE, myYELLOW, myCYAN, myBLUE, myWHITE,
                         myBLUE, myWHITE, myYELLOW, myCYAN, myRED, myGREEN, myMAGENTA, myBLUE, myRED, myYELLOW, 
                         myCYAN, myRED, myGREEN, myMAGENTA, myBLUE, myGREEN, myYELLOW, myCYAN, myBLUE, myWHITE,
                         myRED, myGREEN, myMAGENTA, myBLUE, myWHITE, myYELLOW, myCYAN, myRED, myGREEN, myMAGENTA,
                         myBLUE, myWHITE, myYELLOW, myCYAN, myRED, myGREEN, myMAGENTA, myBLUE, myGREEN, myYELLOW, 
                         myBLUE, myWHITE, myYELLOW, myCYAN, myRED, myGREEN, myMAGENTA, myBLUE, myShadow, myYELLOW, 
                         myCYAN, myRED, myGREEN, myMAGENTA, myBLUE, myWHITE, myYELLOW, myCYAN, myBLUE, myShadow};


// ISR for display refresh
void display_updater()
{
  display.display(display_draw_time);
}
void display_update_enable(bool is_enable)
{
  if (is_enable)
    display_ticker.attach(0.002, display_updater);
  else
    display_ticker.detach();
}

const char* months []= 
{"Jan", "Feb", "Mar", "Apr", "May", "Jun","Jul", "Aug", "Sep", "Oct", "Nov", "Dec"};

const char* dofw []= 
{"Sunday", "Monday", "Tuesday", "Wednesday","Thursday", "Friday", "Saturday"};

//Ticker display_ticker;
WiFiClientSecure client;

void dofw_text(uint8_t yp)
{
  text = dofw[dow];
  uint16_t text_length = text.length();
  int xpo = (matrix_width - text_length * 7) / 2;
  display.setCursor(xpo, yp);
  display.fillRect(0, yp, 64, 8, myBLACK);
  display.setFont(&kongtext4pt7b);
  for (int y = 0; y < 9; y++) {
    display.setTextColor(myCOLORS[y+r]);
    display.print(text[y]);
  }
  display.setFont();
}
void Date_text(uint8_t yp)
{
  text = months[month];
    time_t epochTime = timeClient.getEpochTime();
  struct tm *ptm = gmtime ((time_t *)&epochTime); 
  int currentYear = ptm->tm_year+1900;
  display.setCursor(1, yp);
  display.fillRect(0, yp, 64, 8, myBLACK);
  display.setFont(&kongtext4pt7b);
  display.setTextColor(myRED);
  if (day < 10) {
    display.print("0");
  }
  display.print(day);
  display.setTextColor(myYELLOW);
  display.print(text);
  display.setTextColor(myGREEN);
  display.print(currentYear);
  display.setFont();
}
void getDate()
{
  timeClient.update();

  time_t epochTime = timeClient.getEpochTime();
  struct tm *ptm = gmtime ((time_t *)&epochTime); 
  int currentYear = ptm->tm_year+1900;
    day = ptm->tm_mday;
  month = ptm->tm_mon;
    dow = ptm->tm_wday;
  text = months[month];
  MessageDate =String(day) + "/" + text + "/" + String(currentYear);
}

void getTim(char *psz)
{
  if (flasher)
  {
    display.fillRect(54, 10, 10, 6, myBLACK);
    display.setCursor(20, 8);
    display.setTextSize(2);
    display.setTextColor(myCOLORS[g]);
    display.print(":");
    b = random(0,8);
  }else
  {
    display.fillRect(24, 12, 2, 6, myBLACK);
    display.setCursor(54, 10);
    display.setTextSize(1);
    display.setFont(&kongtext4pt7b);
    display.setTextColor(myCOLORS[b]);
    display.print("*");
    display.setFont();
    g = random(0,8);
  }
  if (NewRTCs != s / 10)
  {  
    display.fillRect(51, 17, 13, 6, myBLACK);
    NewRTCs = s / 10;
    r = random(0,8);
  } else
  {
    display.fillRect(58, 17, 6, 6, myBLACK);
  }
  sprintf(psz, "%02d", s);
    display.setCursor(51, 16);
    display.setTextSize(1);
    display.setTextColor(myCOLORS[r]);
    display.setFont(&kongtext4pt7b);
  display.print(szTime);
    display.setFont();
   if (NewRTCm != m)
      {
  sprintf(psz, "%02d", m);
  display.setCursor(26, 16);
  display.setFont(&FreeMonoBold12pt7b);
  display.setTextColor(myCYAN);
  display.fillRect(26, 8, 25, 15, myBLACK);
  display.print(szTime);
  display.setFont();
  NewRTCm = m;
      }
  if (NewRTCh != h)
      {
  sprintf(psz, "%02d", h);
  display.setCursor(0, 16);
  display.setFont(&FreeMonoBold12pt7b);
  display.setTextColor(myCYAN);
  display.fillRect(0, 8, 24, 15, myBLACK);
  display.print(szTime);
  display.setFont();
  NewRTCh = h;
      }
}
void scroll_text(uint8_t ypos, unsigned long scroll_delay, String text)
{
  int y = 0;
  uint16_t text_length = text.length();
  // Asuming 5 pixel average character width
  for (int xpos = matrix_width; xpos > -(matrix_width + text_length * 7); xpos--)
  {
 // webServer.handleClient();    
    display.setCursor(xpos, ypos);
    display.fillRect(0, ypos, 64, 8, myBLACK);
    display.setFont(&kongtext4pt7b);
  for (int x = 0; x < text_length; x++) {
    display.setTextColor(myCOLORS[x+r]);
    display.print(text[x]);
  }
    display.setFont();
    delay(scroll_delay);
    yield();
    if (millis() - lastTime >= 1000)
    {
      lastTime = millis();
      updateTime();
      getTim(szTime);
      flasher = !flasher;
    }
  }
}

void setup() {
  display.begin(16);
  // Initialize Serial Monitor
  Serial.begin(9600);
  display.setFastUpdate(true);
  display.setRotation(0); // we don't wrap text so it scrolls nicely
  display.setTextWrap(false);
  display_update_enable(true);
  display.clearDisplay();
  display.setTextColor(myCYAN);
  display.setCursor(2, 0);
  display.print("Connecting");
  display.setTextColor(myYELLOW);
  display.setCursor(2, 8);
 // display.print("to the");
  display.setTextColor(myGREEN);
  display.setCursor(2, 16);
  display.print("WiFi!");

  // Set WiFi to station mode and disconnect from an AP if it was Previously
  // connected
  WiFi.mode(WIFI_STA);
  WiFi.disconnect();
  delay(100);

  // Attempt to connect to Wifi network:
  Serial.print("Connecting Wifi: ");
  Serial.println(ssid);
  WiFi.begin(ssid, password);
  while (WiFi.status() != WL_CONNECTED) {
    Serial.print(".");
    delay(500);
    }
  Serial.println("");
  Serial.println("WiFi connected");
  Serial.println("IP address: ");
  IPAddress ip = WiFi.localIP();
  Serial.println(ip);

// Initialize a NTPClient to get time
  timeClient.begin();
  // Set offset time in seconds to adjust for your timezone, for example:
  // GMT +1 = 3600
  // GMT +8 = 28800
  // GMT -1 = -3600
  // GMT +5.30 = 19800  (India)
  // GMT 0 = 0
 // Example : india GMT is +5.30  So 5*3600 + 3600/2 = 19800
    timeClient.setTimeOffset(19800);

 #ifdef ESP8266
  // Required if you are using ESP8266 V2.5 or above
  client.setInsecure();
  #endif

}

void loop() {
  timeClient.update();
  getDate();
  Date_text(0);
  scroll_text(23, frameDelay, Message1);
 // dofw_text(23);
}

  

void updateTime()
{
  time_t epochTime = timeClient.getEpochTime();
 int currentHour = timeClient.getHours();

   String formattedTime = timeClient.getFormattedTime();
  Serial.print("Formatted Time: ");
  Serial.println(formattedTime);  


  int currentMinute = timeClient.getMinutes();
  Serial.print("Minutes: ");
  Serial.println(currentMinute); 
   
  int currentSecond = timeClient.getSeconds();
  Serial.print("Seconds: ");
  Serial.println(currentSecond);  

  String weekDay = dofw[timeClient.getDay()];
  Serial.print("Week Day: ");
  Serial.println(weekDay);   
  
//    struct tm *ptm = gmtime ((time_t *)&epochTime); 
  //Get a time structure
 struct tm *ptm = gmtime ((time_t *)&epochTime); 

   int monthDay = ptm->tm_mday;
  Serial.print("Month day: ");
  Serial.println(monthDay);

  int currentMonth = ptm->tm_mon+1;
  Serial.print("Month: ");
  Serial.println(currentMonth);

  String currentMonthName = months[currentMonth-1];
  Serial.print("Month name: ");
  Serial.println(currentMonthName);

  int currentYear = ptm->tm_year+1900;
  Serial.print("Year: ");
  Serial.println(currentYear);

  h = ptm->tm_hour;
  m = ptm->tm_min;
  s = ptm->tm_sec;
}

i have played with wled and it was fun so trying making display with clocks gifs etc tec .. i dnt have any idea about coding and all..

Try to initialize the display with a b c pins:

And you need to change

to

display.begin(8);

in the setup

done both the things its not turning on even

got this when i plug it in r1 b1 g1 instead of abc

I dont understand. Please show your connections in full.

these are the connections i have done

You should connect additionally at least R1

r1 to which pin


Connected r1 pin with p7 and got this

Great

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.