

The Adafruit ESP32-S3 Reverse TFT Feather (Part ID: 5691) is a compact and versatile development board built around the ESP32-S3 microcontroller. It is designed for low-power IoT applications and features integrated Wi-Fi and Bluetooth connectivity. The standout feature of this board is its reverse-mounted 240x135 pixel TFT display, which provides a convenient way to display visual output directly on the board.
This board is ideal for projects requiring wireless communication, graphical interfaces, or low-power operation. It is particularly well-suited for IoT devices, wearable electronics, and portable data visualization tools.








The Adafruit ESP32-S3 Reverse TFT Feather has a standard Feather pinout. Below is a table summarizing the key pins and their functions:
| Pin | Name | Description |
|---|---|---|
| 1 | USB | USB-C connector for power and programming |
| 2 | BAT | Battery input (LiPo battery via JST-PH connector) |
| 3 | 3V3 | 3.3V regulated output |
| 4 | GND | Ground |
| 5 | A0 - A5 | Analog input pins (ADC capable) |
| 6 | D5 - D13 | Digital GPIO pins (PWM capable) |
| 7 | SCL, SDA | I2C clock and data lines |
| 8 | MOSI, MISO, SCK | SPI interface pins |
| 9 | RX, TX | UART communication pins |
| 10 | EN | Enable pin to reset the board |
| 11 | TFT_CS | Chip select for the TFT display |
| 12 | TFT_DC | Data/command pin for the TFT display |
| 13 | TFT_RST | Reset pin for the TFT display |
| 14 | TFT_BACKLIGHT | Backlight control for the TFT display |
Powering the Board:
Programming the Board:
Connecting Peripherals:
Using the TFT Display:
Below is an example sketch to display text on the TFT screen:
#include <Adafruit_GFX.h> // Core graphics library
#include <Adafruit_ST7789.h> // Driver for the TFT display
#include <SPI.h>
// Define TFT display pins
#define TFT_CS 10 // Chip select pin
#define TFT_RST 9 // Reset pin
#define TFT_DC 8 // Data/command pin
// Initialize the TFT display
Adafruit_ST7789 tft = Adafruit_ST7789(TFT_CS, TFT_DC, TFT_RST);
void setup() {
// Initialize serial communication
Serial.begin(115200);
Serial.println("Initializing TFT...");
// Initialize the TFT display
tft.init(240, 135); // Initialize with screen dimensions
tft.setRotation(1); // Set screen rotation
tft.fillScreen(ST77XX_BLACK); // Clear the screen
// Display text
tft.setTextColor(ST77XX_WHITE);
tft.setTextSize(2);
tft.setCursor(10, 10);
tft.println("Hello, ESP32-S3!");
}
void loop() {
// Nothing to do here
}
Board Not Detected by Arduino IDE:
TFT Display Not Working:
Wi-Fi or Bluetooth Not Connecting:
Overheating:
Can I use 5V peripherals with this board?
No, the board operates at 3.3V logic levels. Use a level shifter for 5V peripherals.
What is the maximum current draw for the board?
The maximum current draw depends on the peripherals connected, but the ESP32-S3 itself can draw up to 500mA under heavy load.
Can I use the board without a battery?
Yes, the board can be powered solely via USB-C.
Is the TFT display backlight adjustable?
Yes, the backlight can be controlled via the TFT_BACKLIGHT pin using PWM.
This concludes the documentation for the Adafruit ESP32-S3 Reverse TFT Feather.