GUITION ESP32-2424S012N-I: ESP32-C3 и круглый дисплей 1,28″

GUITION / Shenzhen Jingcai Intelligent · ESP32-2424S012N-I (без сенсора)

Плата ESP32-C3 с круглым IPS-дисплеем GC9A01 240×240, Wi-Fi, Bluetooth LE и USB-C. Исполнение без сенсорного ввода.

Автор: SLDV LAB

Опубликовано · Обновлено

СложностьСредне
Проекты с компонентом

О МОДУЛЕ

Что делает ESP32-2424S012N-I (без сенсора)

ESP32-2424S012N-I — компактная плата GUITION со встроенным круглым дисплеем и микроконтроллером ESP32-C3. Она подходит для часов, небольших индикаторов, беспроводных панелей состояния и собственных интерфейсов. Отдельная Arduino или ESP32 для управления экраном не нужна.

Здесь описано исполнение N-I без сенсорного ввода. Варианты C-I с ёмкостным сенсором и комплекты в корпусе отличаются; изображённый в предложении ABS-корпус не означает, что он входит в выбранный комплект. Анимация часов на рекламном фото — пример интерфейса, а не подтверждение наличия датчиков шагов, пульса или другого измерительного оборудования.

SPI-дисплей уже соединён с контроллером. Для внешних устройств штатный четырёхконтактный разъём даёт питание 3,3 В, землю и две сигнальные линии UART. Не следует считать все GPIO микроконтроллера свободными выводами платы. Встроенной PSRAM нет, поэтому сложные интерфейсы LVGL нужно проектировать с учётом доступной RAM и размера графического буфера.

Для первого запуска достаточно USB с данными. Уровни GPIO — 3,3 В; прямое подключение к логике 5 В и RS-232 недопустимо. Параметры аккумуляторного узла и предельный ток 3V3-разъёма нельзя достоверно определить по внешнему виду. Подключайте батарею только после проверки полярности и документации именно своей ревизии; батарейный разъём не является входом 5 В.

Распиновка и пример ниже относятся к схеме ESP32-2424S012 V1.0. Перед подключением внешней периферии сравните маркировку, разъёмы и ревизию своего экземпляра. Номер PCB-ревизии не подтверждён по лицевому виду платы. Пример сверён с документацией и API библиотеки; аппаратного тестирования редакцией не было.

Источники

Характеристики

Производитель
GUITION / Shenzhen Jingcai Intelligent
Исполнение
ESP32-2424S012N-I: без сенсора и корпуса
Модуль контроллера
Espressif ESP32-C3-MINI-1U
Архитектура
32-бит RISC-V, 1 ядро
Максимальная частота CPU
160 МГц
Flash
4 МБ
SRAM микроконтроллера
400 КБ
ROM микроконтроллера
384 КБ
PSRAM
Нет
Дисплей
Круглый IPS TFT LCD
Диагональ
1.28 дюйм
Разрешение
240 × 240 пикселей
Диаметр активной области
32.4 мм
Цветность
16 бит, RGB565
Контроллер дисплея
GC9A01
Интерфейс встроенного LCD
SPI; MISO не используется
Сенсорный ввод
Нет
Wi-Fi
2,4 ГГц, IEEE 802.11 b/g/n
Bluetooth
Bluetooth 5 LE; Classic Bluetooth отсутствует
Антенна
ESP32-C3-MINI-1U с разъёмом внешней антенны; комплектность зависит от продавца
USB
USB Type-C: питание 5 В и встроенный USB Serial/JTAG ESP32-C3
Уровень логики
3.3 В
GPIO на внешнем SH1.0-4P
2 сигнала: TX/GPIO21 и RX/GPIO20; остальные два контакта — 3V3 и GND
Кнопки
BOOT/GPIO9 и RESET/EN; на плате также есть переключатель питания
Разъём аккумулятора
2 контакта; в документации обозначен JST1.25-2P. Полярность проверять по BAT+/BAT−
Размер платы
38,5 × 37,0 мм, без корпуса
Рабочая температура по спецификации
-20–70 °C
Температура хранения по спецификации
-30–80 °C
Потребление по спецификации
Около 100 мА; условия не приведены, не максимальный ток и не бюджет источника питания
Масса по спецификации
Около 20 г; состав взвешенного комплекта не уточнён
Ревизия и границы применимости
Плата семейства ESP32-2424S012N/C; ниже приведены цепи схемы V1.0. Ревизию покупаемого экземпляра нужно сверить отдельно
Интерфейс
SPI, UART, Wi-Fi, Bluetooth
Питание модуля
5 В через USB Type-C; логика и контакт 3V3 — 3,3 В. Не подавать 5 В на GPIO, 3V3 или BAT. Параметры батареи и её полярность проверять по конкретной ревизии.

ПРАКТИКА

Подключение

Схема подключения
Контакт модуляКонтакт платыНазначение
USB Type-C VBUS5 В USBПервый запуск от USB-A → USB-C кабеля с линиями данных. Внешний контроллер не нужен.
SH1.0-4P · GNDGNDОбщая земля внешнего устройства. Схема обозначает этот контакт P1.1; ориентацию проверять по маркировке платы.
SH1.0-4P · 3V3Шина 3,3 ВP1.2 по схеме; не подавать сюда 5 В. Допустимый ток внешней нагрузки не указан; не считать разъём универсальным входом питания.
SH1.0-4P · TXGPIO21 / U0TXDP1.3 по схеме; подключать к RX устройства с логикой 3,3 В. Может использоваться как GPIO при отключённом UART0.
SH1.0-4P · RXGPIO20 / U0RXDP1.4 по схеме; подключать к TX устройства с логикой 3,3 В. Не подключать непосредственно RS-232 или сигнал 5 В.
Встроенный LCD · SCLGPIO6Фиксированная внутренняя линия SPI SCK; это не I²C SCL.
Встроенный LCD · SDAGPIO7Фиксированная внутренняя линия SPI MOSI; это не I²C SDA.
Встроенный LCD · CSGPIO10Внутренний выбор дисплея; не свободный внешний GPIO.
Встроенный LCD · DCGPIO2Внутренний data/command; также strapping-вывод ESP32-C3.
Встроенный LCD · подсветкаGPIO3HIGH включает подсветку через транзистор; LOW выключает.
Встроенный LCD · RESREST / ENАппаратный общий сброс. В библиотеке задайте GFX_NOT_DEFINED / −1; GPIO0 и GPIO1 для сброса LCD не использовать.
BOOTGPIO9Кнопка активна при LOW. Для входа в загрузчик при сбросе GPIO9 должен быть LOW, а GPIO8 — HIGH; не замыкать GPIO8 на землю.
RESET / RESTENАппаратный сброс, не обычный GPIO.
USB D− / D+GPIO18 / GPIO19Заняты USB Serial/JTAG; не использовать параллельно для внешних цепей.
BAT+ / BAT−Разъём аккумулятораНе подавать 5 В USB. Химия, полярность и допустимый ток батареи должны быть подтверждены для конкретной ревизии до подключения.

Подходит для ESP32, Arduino. Выберите контакты по документации своей платы.

ВАШ ПРОЕКТ · ВАШ ДАТЧИК

Интегрируйте модуль с ChatGPT

Скопируйте запрос в ChatGPT. Укажите свою плату и среду разработки — получите подключение и код для своего проекта.

Помоги интегрировать GUITION ESP32-2424S012N-I: ESP32-C3-MINI-1U с круглым IPS GC9A01, 1,28 дюйма, 240×240, без сенсорного ввода. Сначала уточни мою задачу, IDE и версии библиотек, способ питания, подключаемую периферию и маркировку/ревизию платы. При несовпадении платы со схемой ESP32-2424S012 V1.0 запроси фото обратной стороны и документацию, а не переноси чужие GPIO.

Проверенные цепи схемы V1.0: SCK=GPIO6, MOSI=GPIO7, CS=GPIO10, DC=GPIO2, подсветка=GPIO3, active HIGH. LCD reset связан с EN/REST, поэтому в Arduino_GFX RST=-1. MISO не используется. BOOT=GPIO9; для загрузчика при сбросе GPIO9=LOW и GPIO8=HIGH. USB D-/D+=GPIO18/19. На SH1.0-4P находятся GND, 3V3, TX/GPIO21, RX/GPIO20; ориентацию проверять по маркировке. У варианта N-I нет touch-контроллера. Питание первого запуска — 5 В по USB, GPIO — только 3,3 В.

Предложи подключение, только нужные зависимости и полный минимальный пример с обработкой ошибки инициализации. Для Arduino можно начать с ESP32C3 Dev Module, USB CDC On Boot=Enabled и GFX Library for Arduino. Дай последовательность прошивки BOOT/RESET и визуальный тест цветов, ориентации и кнопки. Укажи, что успех begin() не подтверждает физическую работу LCD. Для LVGL отдельно согласуй версию API, буферы и callback обновления дисплея; готовый пример Arduino_GFX не выдавай за LVGL-пример. Не добавляй настройки сенсора CST816S/D для этой модели и не назначай GPIO0/1 сбросом экрана. Не обещай совместимость батареи, зарядный ток, защиту, доступный ток 3V3 или свободные ADC, если это не подтверждено для моей ревизии.

Библиотеки

Установите библиотеку для своей среды и откройте пример из её документации.

Что именно прописать

Arduino IDE · пакет плат
esp32 by Espressif Systems 3.3.6

Установить через Boards Manager. Это воспроизводимая версия для примера, не заявление о самой новой версии.

Arduino IDE · Board
ESP32C3 Dev Module

Выбирать семейство C3, не классический ESP32, C6 или S3.

Arduino IDE · Flash Size / CPU
4MB / 160MHz

Flash 4 МБ подтверждена спецификацией этой платы. Стандартной таблицы разделов достаточно для примера.

Arduino IDE · USB CDC On Boot
Enabled

Выбрать USB-порт платы. Встроенный USB ESP32-C3 работает как Serial/JTAG; DFU ему не назначать.

Arduino IDE · Serial Monitor
115200

Соответствует Serial.begin(115200). Скетч не ждёт открытия монитора бесконечно.

Arduino Library Manager
GFX Library for Arduino 1.6.8

Автор Moon On Our Nation. Пример использует эту библиотеку; LVGL для него не нужен.

Заголовочный файл
#include <Arduino_GFX_Library.h>

Добавить в начало полного скетча; конструкторы сверены по исходникам v1.6.8.

Дисплей
Arduino_GC9A01; 240×240; IPS=true

Параметры относятся к GC9A01 этой платы. Ориентация r=0; при другой сборке экрана сменить r на 0…3.

Внутренний SPI
SCK=6, MOSI=7, CS=10, DC=2, MISO=-1

Подключение уже выполнено на плате. Не добавлять внешние перемычки.

Сброс / подсветка LCD
RST=-1; BL=3; active HIGH

RST связан с EN/REST. В скетче не назначать GPIO0 или GPIO1 для LCD reset.

Частота SPI для первого теста
20000000

20 МГц выбраны консервативно для примера; это не заявленный предел дисплея.

Сенсорный ввод
Нет (вариант N-I)

Не устанавливать и не инициализировать CST816S/D. Контактные линии touch у варианта C не делают их доступным разъёмом на N.

Ручной вход в загрузчик
Удерживать BOOT → нажать и отпустить RESET → отпустить BOOT

Использовать при первом подключении или если порт не появляется. Во время сброса GPIO8 должен оставаться HIGH: сочетание GPIO8=LOW и GPIO9=LOW недопустимо. Не замыкать GPIO8 на землю. После загрузки при необходимости нажать RESET без BOOT.

Питание первого запуска
5 В от USB; аккумулятор отключён

Схема V1.0 не показывает CC-резисторы USB-C, поэтому для первого теста выбран USB-A → USB-C. Совместимость C→C не обещается для всех ревизий.

Arduino · полный тест GC9A01 и кнопки BOOT

cpp
#include <Arduino.h>
#include <Arduino_GFX_Library.h>

// GUITION ESP32-2424S012N-I, internal wiring from schematic V1.0.
constexpr int8_t LCD_DC = 2;
constexpr int8_t LCD_CS = 10;
constexpr int8_t LCD_SCK = 6;
constexpr int8_t LCD_MOSI = 7;
constexpr int8_t LCD_BL = 3;
constexpr int8_t BOOT_BUTTON = 9;

// The LCD is write-only here. Its reset is tied to REST/EN, not a free GPIO.
Arduino_ESP32SPI bus(LCD_DC, LCD_CS, LCD_SCK, LCD_MOSI,
                     GFX_NOT_DEFINED);
Arduino_GC9A01 display(&bus, GFX_NOT_DEFINED, 0, true, 240, 240);

constexpr uint16_t BLACK = 0x0000;
constexpr uint16_t WHITE = 0xFFFF;
constexpr uint16_t RED = 0xF800;
constexpr uint16_t GREEN = 0x07E0;
constexpr uint16_t BLUE = 0x001F;

void setup() {
  Serial.begin(115200);
  delay(300);  // Do not wait forever for a Serial Monitor connection.
  pinMode(LCD_BL, OUTPUT);
  digitalWrite(LCD_BL, LOW);
  pinMode(BOOT_BUTTON, INPUT_PULLUP);

  // Conservative SPI clock for this first test; not a measured maximum.
  if (!display.begin(20000000)) {
    Serial.println("Display bus initialization failed");
    while (true) { delay(1000); }
  }
  display.fillScreen(BLACK);
  display.setTextColor(WHITE, BLACK);
  display.setTextSize(2);
  display.setCursor(48, 70);
  display.println("ESP32-C3");
  display.setCursor(48, 94);
  display.println("2424S012N");
  display.fillCircle(80, 135, 12, RED);
  display.fillCircle(120, 135, 12, GREEN);
  display.fillCircle(160, 135, 12, BLUE);
  digitalWrite(LCD_BL, HIGH);
  Serial.println("Look for text and red, green, blue circles on the LCD.");
}

void loop() {
  static uint32_t previous = 0;
  const uint32_t now = millis();
  if (now - previous >= 250) {
    previous = now;
    display.fillRect(48, 162, 156, 18, BLACK);
    display.setTextSize(1);
    display.setCursor(48, 166);
    display.print("BOOT: ");
    display.print(digitalRead(BOOT_BUTTON) == LOW ? "pressed" : "released");
    Serial.printf("Uptime: %lu s, BOOT: %s\n",
                  static_cast<unsigned long>(now / 1000),
                  digitalRead(BOOT_BUTTON) == LOW ? "pressed" : "released");
  }
  delay(5);
}

Полный скетч для ESP32-2424S012N-I с цепями по схеме V1.0, Arduino-ESP32 3.3.6 и GFX Library for Arduino 1.6.8. Внешние перемычки и LVGL не нужны. API и GPIO сверены по исходникам и схеме; компиляция и испытание на физической плате не выполнялись. begin() проверяет инициализацию шины, но не получает подтверждения от write-only LCD. Проверьте текст, красный/зелёный/синий круги и реакцию BOOT; кнопку при обычном перезапуске отпустите. При пустом экране проверьте питание, ревизию, порт, подсветку и ориентацию; не переназначайте GPIO наугад.

Проекты с этим компонентом

Все проекты

Связанные проекты пока не опубликованы.

Связанные материалы и компоненты