Cirkit Designer LogoCirkit DesignerYour all-in-one circuit design IDE Launch Cirkit Designer App

How to Use LILYGO AMOLED 1.64 ESP32 S3: Examples, Pinouts, and Specs

Image of LILYGO AMOLED 1.64 ESP32 S3Design with LILYGO AMOLED 1.64 ESP32 S3 in Cirkit Designer

Introduction

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.

Explore Projects Built with LILYGO AMOLED 1.64 ESP32 S3

Use Cirkit Designer to design, explore, and prototype these projects online. Some projects support real-time simulation. Click "Open Project" to start designing instantly!
Image of ESP32-Powered OLED Display with 18650 Battery: A project utilizing LILYGO AMOLED 1.64 ESP32 S3 in a practical application
ESP32-Powered OLED Display with 18650 Battery

This circuit features an ESP32 microcontroller powered by a single 18650 battery, which drives a 0.96" OLED display. The ESP32 communicates with the OLED via I2C protocol, using GPIO21 and GPIO22 as SDA and SCL lines, respectively. The purpose of the circuit is to display the message 'Hello, World!' on the OLED screen.

Open Project in Cirkit Designer
Image of ESP32-Based Portable NFC/RFID Reader with OLED Interface: A project utilizing LILYGO AMOLED 1.64 ESP32 S3 in a practical application
ESP32-Based Portable NFC/RFID Reader with OLED Interface

This circuit features an ESP32 microcontroller connected to a 0.96" OLED display via I2C (SCK and SDA lines), multiple pushbuttons interfaced to various GPIO pins for input, and a LiPoly battery connected through a TP4056 charging/protection module to power the system. A step-up boost power converter adjusts the battery voltage to supply the ESP32 and OLED display. The toggle switch controls the power flow from the battery to the converter, enabling an on/off functionality for the circuit.

Open Project in Cirkit Designer

Common Applications and Use Cases

Technical Specifications

Key Technical Details

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 Configuration and Descriptions

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

Usage Instructions

How to Use the Component in a Circuit

  1. Powering the Board: Connect the board to a USB-C power source (5V input). The onboard voltage regulator will provide the required 3.3V for the ESP32-S3 and other components.
  2. Connecting Peripherals: Use the GPIO pins to connect sensors, actuators, or other peripherals. Ensure that the voltage levels of connected devices are compatible with the 3.3V logic of the board.
  3. Programming the Board: The board can be programmed using the Arduino IDE, PlatformIO, or the ESP-IDF framework. Install the necessary drivers and libraries for the ESP32-S3 and the AMOLED display.

Important Considerations and Best Practices

Example Code for Arduino UNO

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
}

Notes:

Troubleshooting and FAQs

Common Issues and Solutions

  1. Display Not Turning On:

    • Ensure the board is receiving power (check the USB-C connection).
    • Verify that the display pins are correctly connected and match the pin definitions in your code.
  2. Program Upload Fails:

    • Check that the correct COM port and board type are selected in the Arduino IDE.
    • Hold the BOOT button on the board while uploading the code to enter bootloader mode.
  3. Wi-Fi or Bluetooth Not Working:

    • Ensure that the ESP32-S3 firmware is up to date.
    • Verify that the Wi-Fi credentials or Bluetooth pairing process is correctly implemented in your code.
  4. Overheating:

    • Avoid running the board at maximum performance for extended periods without proper ventilation.
    • Use a heat sink if necessary for high-performance applications.

FAQs

This concludes the documentation for the LILYGO AMOLED 1.64 ESP32 S3.