

The LILYGO AMOLED 1.64 ESP32 S3 is a compact development board that integrates a 1.64-inch AMOLED display with the powerful ESP32-S3 microcontroller. This versatile board is designed for IoT projects, wearable devices, and other applications requiring a high-resolution display and wireless connectivity. With built-in Wi-Fi and Bluetooth capabilities, it is an excellent choice for developers looking to create innovative and connected solutions.








| Feature | Specification |
|---|---|
| Microcontroller | ESP32-S3 dual-core Xtensa LX7 |
| Display | 1.64-inch AMOLED, 280x456 resolution |
| Wireless Connectivity | Wi-Fi 802.11 b/g/n, Bluetooth 5.0 LE |
| Flash Memory | 16 MB |
| PSRAM | 8 MB |
| Operating Voltage | 3.3V |
| Power Supply | USB-C (5V input) |
| GPIO Pins | 14 (configurable for various peripherals) |
| Communication Interfaces | I2C, SPI, UART |
| Dimensions | 44mm x 30mm |
| Pin | Name | Description |
|---|---|---|
| 1 | GND | Ground |
| 2 | 3V3 | 3.3V power output |
| 3 | GPIO0 | General-purpose I/O, can be used for boot mode |
| 4 | GPIO1 | General-purpose I/O |
| 5 | GPIO2 | General-purpose I/O |
| 6 | GPIO3 | General-purpose I/O |
| 7 | SDA | I2C data line |
| 8 | SCL | I2C clock line |
| 9 | MOSI | SPI data out |
| 10 | MISO | SPI data in |
| 11 | SCK | SPI clock |
| 12 | RX | UART receive |
| 13 | TX | UART transmit |
| 14 | RST | Reset pin |
Below is an example of how to initialize the AMOLED display and print text using the Arduino IDE:
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1351.h>
// Define display pins
#define OLED_CS 5 // Chip select pin
#define OLED_DC 16 // Data/command pin
#define OLED_RST 17 // Reset pin
// Initialize the display (280x456 resolution)
Adafruit_SSD1351 display = Adafruit_SSD1351(280, 456, &SPI, OLED_CS, OLED_DC, OLED_RST);
void setup() {
// Initialize serial communication for debugging
Serial.begin(115200);
Serial.println("Initializing display...");
// Initialize the display
if (!display.begin()) {
Serial.println("Failed to initialize display!");
while (1); // Halt execution if initialization fails
}
// Clear the display and set text color
display.fillScreen(SSD1351_BLACK);
display.setTextColor(SSD1351_WHITE);
// Display a message
display.setCursor(10, 10);
display.setTextSize(2);
display.println("Hello, LILYGO!");
display.display();
}
void loop() {
// Add your main code here
}
OLED_CS, OLED_DC, OLED_RST) if your setup uses different pins.Display Not Turning On:
Program Upload Fails:
Wi-Fi or Bluetooth Not Working:
Overheating:
Can I power the board with a battery? Yes, the board supports battery operation. Use a compatible LiPo battery and connect it to the designated JST connector.
What is the maximum current draw of the board? The maximum current draw depends on the peripherals and Wi-Fi/Bluetooth usage but typically ranges between 200-500mA.
Is the display touch-enabled? No, the 1.64-inch AMOLED display does not have touch functionality.
Can I use this board with MicroPython? Yes, the ESP32-S3 is compatible with MicroPython. Flash the MicroPython firmware and use the appropriate libraries for the display.
This concludes the documentation for the LILYGO AMOLED 1.64 ESP32 S3.