The Waveshare ESP32-S3 2inch Capacitive Touch Display is a compact and versatile display module designed for interactive applications. Featuring a 2-inch IPS panel with a resolution of 240x320 pixels, it delivers vibrant colors and wide viewing angles. The module integrates seamlessly with the ESP32-S3 microcontroller, making it ideal for IoT projects, smart home devices, handheld interfaces, and educational tools. Its capacitive touch functionality enables intuitive user interaction, enhancing the usability of your projects.
Parameter | Specification |
---|---|
Display Type | IPS LCD |
Screen Size | 2 inches |
Resolution | 240×320 pixels |
Touch Type | Capacitive |
Touch Points | Single-point |
Controller | ILI9341 (Display), FT6236 (Touch) |
Interface | SPI |
Operating Voltage | 3.3V |
Backlight Control | PWM |
Dimensions | 40.8mm × 55.8mm |
Pin Name | Description |
---|---|
VCC | Power input (3.3V) |
GND | Ground |
SCK | SPI clock input |
MOSI | SPI data input |
MISO | SPI data output (not used in some configurations) |
CS | Chip select for the display |
DC | Data/Command control pin |
RST | Reset pin |
BL | Backlight control (PWM supported) |
INT | Interrupt pin for touch controller |
SDA | I2C data line for touch controller |
SCL | I2C clock line for touch controller |
To use the Waveshare ESP32-S3 2inch Capacitive Touch Display, connect the module to the ESP32-S3 microcontroller as follows:
Display Pin | ESP32-S3 Pin |
---|---|
VCC | 3.3V |
GND | GND |
SCK | GPIO18 |
MOSI | GPIO23 |
CS | GPIO5 |
DC | GPIO16 |
RST | GPIO17 |
BL | GPIO4 |
SDA | GPIO21 |
SCL | GPIO22 |
Below is an example of how to initialize and use the display with the ESP32-S3 using the Arduino IDE. This example uses the Adafruit_GFX
and Adafruit_ILI9341
libraries for the display and the Wire
library for touch input.
#include <Adafruit_GFX.h>
#include <Adafruit_ILI9341.h>
#include <Wire.h>
// Define pins for the display
#define TFT_CS 5 // Chip select
#define TFT_DC 16 // Data/Command
#define TFT_RST 17 // Reset
#define TFT_BL 4 // Backlight control
// Initialize the display
Adafruit_ILI9341 tft = Adafruit_ILI9341(TFT_CS, TFT_DC, TFT_RST);
void setup() {
// Initialize serial communication for debugging
Serial.begin(115200);
Serial.println("Initializing display...");
// Initialize the display
tft.begin();
tft.setRotation(1); // Set display orientation
tft.fillScreen(ILI9341_BLACK); // Clear the screen
// Display a test message
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(2);
tft.setCursor(10, 10);
tft.println("Hello, ESP32-S3!");
// Turn on the backlight
pinMode(TFT_BL, OUTPUT);
digitalWrite(TFT_BL, HIGH);
}
void loop() {
// Add your main code here
}
Adafruit_GFX
and Adafruit_ILI9341
libraries in the Arduino IDE for display control.Display Not Turning On
No Display Output
Touch Not Responding
Flickering or Dim Display
Q: Can I use this display with a 5V microcontroller?
A: No, the display operates at 3.3V. Using a 5V microcontroller requires level shifters for the SPI and I2C lines.
Q: How do I adjust the screen brightness?
A: Use the BL pin to control the backlight brightness via PWM or connect it to 3.3V for full brightness.
Q: What libraries are required for this display?
A: The Adafruit_GFX
and Adafruit_ILI9341
libraries are recommended for display control. For touch functionality, use an I2C library like Wire
.
Q: Can I use this display in landscape mode?
A: Yes, the display orientation can be changed using the setRotation()
function in the code.