Where I’m Stuck

I have followed all the steps outlined below to set up my ESP32-2432S028 board with a TFT display. However, I’m currently stuck at the point where the ESP32 board’s LED turns on briefly during upload but turns off afterward, and the TFT display shows nothing (blank screen). According to Grok, the three possible reasons for this are:

  • Need external power to the USB hub to provide more power to the TFT display (e.g., using a powered USB hub with an AC adapter to handle the 310mA max draw).
  • TFT user_setup.h configuration issues (e.g., mismatched pin definitions or driver settings in the TFT_eSPI library).
  • The board is broken (e.g., hardware fault with the ESP32 or TFT, requiring a replacement).

Introduction

This blog post documents the process of setting up an ESP32-2432S028 board with a TFT display using the Arduino IDE. The board specs are as follows (from Shopee product description):

  • Low-power dual-core 32-bit CPU, main frequency up to 240MHz, computing power up to 600 DMIPS.
  • Built-in 520KB SRAM, 32Mbit SPI Flash.
  • WiFi: 802.11 b/g/n/e/i; Bluetooth: 4.2 BR/EDR and BLE.
  • Operating Voltage: 4.75–5.25V; Power Consumption: Up to 310mA (flash on, max brightness).
  • Interfaces: UART, SPI, I2C, PWM, ADC, DAC; TF card support (up to 4GB).
  • Default Baud Rate: 115200bps.
  • Environment: Operating Temperature -20℃ ~ 70℃.

The process includes some critical steps I initially missed, such as installing ESP32 board support in Arduino and using the Serial Monitor for debugging.

Step 1: Flash the ESP32 Board

Flashing the ESP32 involves uploading firmware or sketches using the Arduino IDE. The board comes with a pre-installed bootloader, so no separate flashing tool is needed. Use the USB-C port to connect to your computer. Specs: ESP-32S ESP-WROOM-32 module with WiFi + Bluetooth, dual-core 240MHz CPU, 520KB SRAM, 32Mbit Flash.

Technical Command: No specific command; handled by Arduino IDE upload (esptool v5.0.0 in the background).

Step 2: Install Arduino

Download and install the Arduino IDE from the official website (arduino.cc). Use version 1.8.19 for macOS, as it’s stable for ESP32. Launch the IDE and ensure it recognizes your board.

Missed Critical Step: Install ESP32 board support in Arduino IDE.


Go to File > Preferences.
Add "https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json" to Additional Board Manager URLs.
Go to Tools > Board > Boards Manager, search for "esp32", and install the "esp32 by Espressif Systems" package (version 2.0.17 or similar).
        

Step 3: Get Your Port Number on Terminal

On macOS, open Terminal and list available serial ports to identify the ESP32 port (e.g., /dev/cu.usbserial-1110).


ls /dev/cu.*
        

Select this port in Arduino IDE: Tools > Port > /dev/cu.usbserial-1110.

Step 4: Add Libraries to Arduino

Install the TFT_eSPI library for the display, and others like WiFi, HTTPClient, ArduinoJson if needed.


Go to Sketch > Include Library > Manage Libraries.
Search for "TFT_eSPI" by Bodmer and install it.
Search for "ArduinoJson" and install it.
        

Missed Critical Step: Install ESP32 core libraries if not already done in Step 2.

Step 5: Configure TFT Config, user_setup.h, and Upload Speed Setting

Edit user_setup.h in the TFT_eSPI library folder (Documents/Arduino/libraries/TFT_eSPI) to match your ESP32 pins and driver.


// Example user_setup.h
#define ILI9341_DRIVER
#define TFT_MISO 19
#define TFT_MOSI 23
#define TFT_SCLK 18
#define TFT_CS 15
#define TFT_DC 2
#define TFT_RST 4
#define TFT_BL 22
#define TFT_BACKLIGHT_ON HIGH
#define SPI_FREQUENCY 27000000
        

Set upload speed in Arduino IDE: Tools > Upload Speed > 115200.

Missed Critical Step: Set board type (Tools > Board > ESP32 Dev Module) and partition scheme (Tools > Partition Scheme > Default 4MB with spiffs).

Step 6: Compile Sketch

Verify the sketch in Arduino IDE to check for errors.


Click the Verify button (checkmark icon) in the IDE.
        

Missed Critical Step: Use the Serial Monitor (Tools > Serial Monitor) for debugging output at 115200 baud.

Step 7: Upload Sketch

Upload the compiled sketch to the board.


Click the Upload button (right arrow icon) in the IDE.
        

Missed Critical Step: Enter bootloader mode if needed (hold BOOT button, press RESET, release BOOT).

Conclusion

This guide covers the full process. If stuck, check power, config, or hardware. For more, refer to Arduino forums or ESP32 docs.

Next Steps

Once your ESP32 is set up with the TFT, proceed to connect it to https://display.regardingwork.com for data display integration.