Black screen with ESP32-2343S024

Briefing: I am quite new on playing around ESP32 boards and I have couple different dev boards, ESP32-2424S012 which work just fine and ESP32-2343S024 which screen stays black.

I have ESP32-2432S024 (https://www.aliexpress.com/item/1005005865107357.html) dev board with touch screen (ILI9341). When I received dev board I tested it by connecting it to USB and it worked just fine showing some demo application and even touch was working. Now I have been trying to get some different TFT_Espi examples working but screen stays black. I get prints on terminal so code is running anyways.
Have anyone been able to get this board working correctly, both display and touch?

I have tried following User_Setup.h configuration without luck:

#define ILI9341_DRIVER 
#define TFT_WIDTH  240 
#define TFT_HEIGHT 320

#define TFT_MOSI 13
#define TFT_MISO 12
#define TFT_SCLK 14
#define TFT_CS 15
#define TFT_DC 2
#define TFT_RST 12
#define TFT_BL 21
#define TOUCH_MOSI 32
#define TOUCH_MISO 39
#define TOUCH_SCLK 25
#define TOUCH_CS 33

#define TFT_BACKLIGHT_PIN 32
#define TFT_BACKLIGHT_ON HIGH

Other info:
Arduino IDE:

  • Boards manager - esp32 2.0.13
  • TFT_eSPI 2.5.43


Finally I got it working with following files and yes I am using CST816D.h.

! With CST820.h I didn't get it work, it registered touch, but touch position is always 0,0.

User_Setup.h

// User defined information reported by "Read_User_Setup" test & diagnostics example
#define USER_SETUP_INFO "User_Setup"

#define ILI9341_DRIVER       // Generic driver for common displays

#define TFT_WIDTH  240
#define TFT_HEIGHT 320 // ST7789 240 x 320

#define ESP32_DMA
#define TFT_BL   27            // LED back-light control pin
#define TFT_BACKLIGHT_ON HIGH  // Level to turn ON back-light (HIGH or LOW)
#define TFT_MISO 12
#define TFT_MOSI 13 // In some display driver board, it might be written as "SDA" and so on.
#define TFT_SCLK 14
#define TFT_CS   15  // Chip select control pin
#define TFT_DC   2  // Data Command control pin
#define TFT_RST  -1  // Reset pin (could connect to Arduino RESET pin)
//#define TOUCH_CS 33     // Chip select pin (T_CS) of touch screen


#define LOAD_GLCD   // Font 1. Original Adafruit 8 pixel font needs ~1820 bytes in FLASH
#define LOAD_FONT2  // Font 2. Small 16 pixel high font, needs ~3534 bytes in FLASH, 96 characters
#define LOAD_FONT4  // Font 4. Medium 26 pixel high font, needs ~5848 bytes in FLASH, 96 characters
#define LOAD_FONT6  // Font 6. Large 48 pixel font, needs ~2666 bytes in FLASH, only characters 1234567890:-.apm
#define LOAD_FONT7  // Font 7. 7 segment 48 pixel font, needs ~2438 bytes in FLASH, only characters 1234567890:-.
#define LOAD_FONT8  // Font 8. Large 75 pixel font needs ~3256 bytes in FLASH, only characters 1234567890:-.
//#define LOAD_FONT8N // Font 8. Alternative to Font 8 above, slightly narrower, so 3 digits fit a 160 pixel TFT
#define LOAD_GFXFF  // FreeFonts. Include access to the 48 Adafruit_GFX free fonts FF1 to FF48 and custom fonts


#define SMOOTH_FONT

#define SPI_FREQUENCY  80000000

// Optional reduced SPI frequency for reading TFT
#define SPI_READ_FREQUENCY  80000000

// The XPT2046 requires a lower SPI clock rate of 2.5MHz so we define that here:
#define SPI_TOUCH_FREQUENCY  2500000  //2500000

Piece of test code:

#include <CST816D.h>
#include <TFT_eSPI.h>  // Hardware-specific library
#include <SPI.h>

// #define I2C_SDA 4
// #define I2C_SCL 5
// #define TP_INT 0
// #define TP_RST 1

#define I2C_SDA 33
#define I2C_SCL 32
#define TP_RST 25
#define TP_INT 21

CST816D touch(I2C_SDA, I2C_SCL, TP_RST, TP_INT);

TFT_eSPI tft = TFT_eSPI();

void setup() {
  Serial.begin(115200);
  touch.begin(); 
  tft.begin();
  tft.fillScreen(TFT_YELLOW);
}

void loop() {
  bool touched;
  uint8_t gesture;
  uint16_t touchX, touchY;
  touched = touch.getTouch(&touchX, &touchY, &gesture);

  if (!touched) {
  } else {
    Serial.println((String) "Touch Data x: " + touchX + (String) ", y: " + touchY + (String) ", gesture: " + gesture);
    //Drawing
    tft.fillCircle(touchX, touchY, 5, TFT_BLACK);
  }
}

Gesture detection is not working, unfortunatelly, but I try to figure it out why not.

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