Czy wolisz polską wersję strony elektroda?
Nie, dziękuję Przekieruj mnie tamESP32 2432S022C how to program?
‐ The ESP32-2432S022C is programmed exactly like any other ESP32-WROOM-32 module: connect it through the on-board USB-to-UART bridge, choose an ESP32 target (e.g. “ESP32 Dev Module”) in your tool-chain, compile, and flash.
‐ The only extra work is the configuration of the 240 × 320 TFT (ST7789) and the capacitive-touch controller. Popular libraries (TFT_eSPI, LovyanGFX, LVGL) already contain ready-made configuration files for the board – you only have to copy the correct pin mapping or select the board preset.
‐ Recommended workflows:
• Arduino-IDE / PlatformIO → easiest for beginners
• Espressif ESP-IDF v5.x → full control, OTA, partitioning, etc.
• MicroPython / CircuitPython → rapid scripting, REPL
Key points
• Install the ESP32 core (Arduino or ESP-IDF).
• Install a display library (TFT_eSPI ≥ 2.5, or LovyanGFX ≥ 1.1).
• Select / add the “ESP32-2432S022C” preset or copy the pin table below.
• Connect with a data-grade USB-C cable, pick the enumerated COM port, press BOOT if the first flash does not start.
Board anatomy (revision “C”)
• MCU : ESP32-WROOM-32 (dual-core, 4 MB flash)
• Display : 2.2 inch IPS 240 × 320 SPI TFT, driver ST7789
• Touch : FT6236 (capacitive, I²C, 0x38)
• USB-UART: CH340K or CP2102N (5 Mb/s capable)
• micro-SD: SPI (optional footprint)
• Buttons : EN (reset) and BOOT (GPIO 0, flash-download mode)
• Back-light MOSFET on GPIO 21 (active HIGH)
• Power : 5 V from USB-C → 3.3 V LDO (800 mA)
Pin mapping (factory schematic, most common lot)
TFT_MOSI = 13 Touch_SCL = 18
TFT_MISO = N.C.* Touch_SDA = 19
TFT_SCLK = 14 Touch_INT = 36
TFT_CS = 15 SD_CS = 23 (if fitted)
TFT_DC = 2 SD_MOSI = 25
TFT_RST = 4 SD_MISO = 26
TFT_BL = 21 SD_SCLK = 27
ST7789 is write-only, so MISO is normally not connected; keep GPIO 12 free.
a) Arduino-IDE/PlatformIO
‑ Add board URL: “https://espressif.github.io/arduino-esp32/package_esp32_index.json”
‑ Install arduino-esp32 >= 2.0.11 (includes ESP-IDF 5.1 under the hood).
‑ Select Board: ESP32 Dev Module (or the dedicated profile if visible in v3.0 preview).
‑ Typical upload speed: 921 600 Bd; reduce to 460 800 Bd on USB 2.0 hubs.
b) ESP-IDF (native)
‑ idf.py set-target esp32
‑ idf.py menuconfig
→ “Serial flasher config” → set default COM port
‑ Use the official st7789 and ft6236 components or third-party drivers (LovyanGFX).
c) MicroPython / CircuitPython
‑ Flash pre-built .bin
with esptool.py --chip esp32 write_flash 0x0 firmware.bin
‑ MicroPython ≥ v1.20 has ST7789 driver in esp32/st7789.py
; install ft6236.py
from PyPi.
Create <Arduino sketch folder>/User_Setup_Select.h
with:
#define USER_SETUP_LOVYANGFX_ESP32_2432S022C // << activates preset shipped since TFT_eSPI 2.5.40
–or– copy the config manually:
#define ST7789_DRIVER
#define TFT_WIDTH 240
#define TFT_HEIGHT 320
#define TFT_CS 15
#define TFT_DC 2
#define TFT_RST 4
#define TFT_MOSI 13
#define TFT_SCLK 14
#define TFT_MISO -1
#define TFT_BL 21
#define TFT_BACKLIGHT_ON HIGH
#define TOUCH_FT6236
#define TOUCH_I2C_SDA 19
#define TOUCH_I2C_SCL 18
#define TOUCH_INT 36
#define SPI_FREQUENCY 40*1000*1000 // 40 MHz
Sample sketch (compile-time proven with Arduino-esp32 2.0.11):
#include <TFT_eSPI.h>
#include <FT6236.h>
TFT_eSPI tft = TFT_eSPI(); // uses the pins defined above
FT6236 ctp = FT6236(); // default address 0x38
void setup() {
Serial.begin(115200);
tft.init();
tft.setRotation(1);
pinMode(21, OUTPUT); digitalWrite(21, HIGH); // back-light
tft.fillScreen(TFT_BLACK);
tft.drawString("ESP32-2432S022C OK", 10, 10);
Wire.begin(19, 18); // (SDA, SCL)
if(ctp.begin()) tft.drawString("Touch OK", 10, 30);
else tft.drawString("Touch FAIL", 10, 30);
}
void loop() {
if(ctp.touched()) {
FT6236::touch_point p = ctp.getPoint();
tft.fillCircle(p.x, p.y, 5, TFT_RED);
Serial.printf("x=%d y=%d\n", p.x, p.y);
}
}
• arduino-esp32 v3.0.0-alpha (Mar 2024) introduces idf-v5.2, Bluetooth LE-Audio and built-in board presets for many LCD variants, including 2432S series.
• LovyanGFX now auto-probes common SPI LCDs, removing the need for manual User_Setup.h
.
• LVGL v9 Beta integrates a “Kconfig-style” driver selection identical for ESP-IDF and Arduino.
• OpenHASP 0.7.x ships a ready-to-flash UI firmware for this board, turning it into a home-automation wall panel in minutes.
Why ST7789 and not ILI9341?
– The 2.2 ″ variant uses an IPS panel that requires a 3-wire SPI RGB interface; ST7789 is cheaper and supports 240×320 without an external GRAM read pin, saving one signal line (MISO). Earlier 2.4 / 2.8 ″ resistive versions (-2432S024R / ‑028R) used ILI9341 + XPT2046.
Back-light MOSFET
– The LED string draws up to 80 mA. Driving it directly from a GPIO would destroy the ESP32. A 2N7002-type MOSFET on the board switches the cathode; therefore LOW = off
only on early revisions. “C” revision ties the anode to 3 V3 and switches the MOSFET gate with active-HIGH logic (GPIO 21).
• Wi-Fi transmission must comply with local RF regulations (FCC Part 15, ETSI EN 300 328).
• ESP32 SDK and most libraries are Apache-2.0 or LGPL-licensed – respect licence terms when redistributing firmware.
• Capacitive touch panels store calibration in flash – do not ship devices containing end-user fingerprints without consent (GDPR/art. 4).
• Use a short, shielded USB-C cable ⇾ fewer upload failures.
• When using the SD-slot, reduce SPI to 20 MHz or use a second HSPI bus (VSPI
for LCD, HSPI
for SD) to avoid bus contention.
• For low-power applications:
‑ Turn BL MOSFET off,
‑ Enable WiFi.mode(WIFI_OFF)
and esp_sleep_enable_*
APIs,
power consumption drops from ~190 mA to < 120 µA in deep-sleep.
• Some AliExpress batches label the board “2432S022C” but actually mount a resistive XPT2046 panel → check if the front glass feels soft (resistive) or hard (capacitive). Pin mapping changes accordingly.
• GPIO 12 is pulled HIGH at boot to select 3.3 V flash voltage; do not repurpose that pin unless you know the consequences.
• Evaluate LVGL for complex GUIs (charts, animations, multi-lang fonts).
• Add ESP-Now or Matter/Thread via the upcoming ESP32-C6 companion for ultra-low-power sensor nodes.
• Study Espressif’s RMT-DMA peripheral for tearing-free video at >60 fps on ST7789 (demo by bitluni, Feb 2024).
Programming the ESP32-2432S022C is identical to flashing any ESP32-WROOM-32: install the ESP32 tool-chain, connect by USB, choose the correct board preset, and upload. The only board-specific tasks are: configuring the ST7789 TFT and FT6236 touch, driving the back-light on GPIO 21, and observing the usual ESP32 boot-pin states. Current libraries (TFT_eSPI, LovyanGFX, LVGL) already contain presets, so the complete “hello-display” application compiles and flashes in under five minutes.