Elecrow · ESP32 · 2.4" · 240×320
Elecrow CrowPanel ESP32 HMI 2.4" specifications
The CrowPanel ESP32 HMI 2.4-inch (Elecrow model DIS03024H) is a compact member of Elecrow's CrowPanel family: a 240×320 TFT driven by an ILI9341V over SPI, a resistive touch layer read by an XPT2046, and a classic ESP32-WROOM-32 module with 4 MB of flash.
What makes it more than a bare display is the carrier board around the screen. Elecrow put a lithium battery connector with its own charging circuit, a speaker output with an on-board amplifier, a microSD slot and four HY2.0-4P ports (GPIO, I2C, UART0 and UART1) on it, so a small handheld controller or a wall-mounted status screen needs almost no extra wiring.
Because the touch controller sits on the SPI bus, the I2C port is completely free for your own sensors — a detail many larger ESP32 display boards don't offer.
- Screen
- 2.4" · 240×320
- Chip
- ESP32
- Memory
- 4 MB flash, no PSRAM
- Input
- resistive touch
Key features
- 2.4-inch 240×320 TFT, ILI9341V controller, 262K colours
- Resistive touch (XPT2046) — a stylus is included and it works with gloves
- ESP32-WROOM-32 with Wi-Fi (2.4 GHz b/g/n) and Bluetooth
- Lithium battery connector (PH2.0) with an on-board charging circuit
- Speaker output (PH2.0) with an on-board power amplifier
- microSD slot plus GPIO, I2C, UART0 and UART1 ports (HY2.0-4P)
Specifications
| Manufacturer | Elecrow |
|---|---|
| Screen size | 2.4" |
| Resolution | 240×320 px |
| Colour depth | 16-bit |
| Display controller | ILI9341 (SPI) |
| Display interface | SPI |
| Touch | XPT2046 (resistive, SPI, shares a bus with the display) |
| Microcontroller | ESP32 |
| Module | ESP32-WROOM-32 |
| CPU clock | 240 MHz |
| Internal SRAM | 520 KB |
| PSRAM | None |
| Flash | 4 MB |
| Wi-Fi | Yes |
| Bluetooth | Yes |
| Hardware variant | All hardware versions (V1.x, V2.x, V3.0) — Elecrow uses the same code for all of them. Resistive touch. |
| Model number | DIS03024H |
| Display type | TFT-LCD, 262K colours |
| Active area | 36.72 × 48.96 mm |
| Battery | Lithium cell via PH2.0-2P, with charging circuit |
| Audio | Speaker output (PH2.0-2P) with on-board amplifier |
| Storage | microSD (TF) slot over SPI |
| Ports | GPIO_D, I2C, UART0 (also on USB-C), UART1 — all HY2.0-4P |
| Buttons | BOOT, RESET |
| Development platforms (manufacturer) | Arduino IDE, ESP-IDF, PlatformIO, MicroPython, ESPHome, Home Assistant, SquareLine Studio |
GPIO pinout
The GPIOs the board itself uses — display, touch and on-board peripherals — as published in the manufacturer’s documentation.
| GPIO | Function |
|---|---|
| GPIO 2 | TFT_DC |
| GPIO 5 | SD_CS (microSD) |
| GPIO 12 | TFT_MISO |
| GPIO 13 | TFT_MOSI |
| GPIO 14 | TFT_SCLK |
| GPIO 15 | TFT_CS |
| GPIO 18 | SD_SCK (microSD) |
| GPIO 19 | SD_MISO (microSD) |
| GPIO 23 | SD_MOSI (microSD) |
| GPIO 26 | Speaker amplifier (SPK, PH2.0-2P) |
| GPIO 27 | Backlight (TFT_BL) |
| GPIO 33 | TOUCH_CS (XPT2046, megosztott SPI busz) |
Source: www.elecrow.com. Always check against your board revision before wiring.
Free GPIOs and connectors
These GPIOs are not used by the display, touch or on-board peripherals, so you can wire your own sensors, buttons or relays to them.
| Pin | Capabilities | Note |
|---|---|---|
| GPIO 0 | GPIO, BOOT | Boot button / IO0 |
| GPIO 1/TX | GPIO, UART_TX | UART0 TX — on the UART0 port (HY2.0-4P), shared with the USB-C serial port |
| GPIO 3/RX | GPIO, UART_RX | UART0 RX — on the UART0 port (HY2.0-4P), shared with the USB-C serial port |
| GPIO 4 | GPIO, ADC | Presumably free |
| GPIO 16 | GPIO, PWM, UART_RX | UART1 port (HY2.0-4P) RX |
| GPIO 17 | GPIO, PWM, UART_TX | UART1 port (HY2.0-4P) TX |
| GPIO 21 | GPIO, PWM, I2C_SCL | I2C port (HY2.0-4P) SCL — not used by the board |
| GPIO 22 | GPIO, PWM, I2C_SDA | I2C port (HY2.0-4P) SDA — not used by the board |
| GPIO 25 | GPIO, PWM, DAC | On the GPIO_D port (HY2.0-4P) — ADC2, not usable as analog input while WiFi is on |
| GPIO 32 | GPIO, PWM, ADC | On the GPIO_D port (HY2.0-4P) — ADC1_CH4 |
| GPIO 34 | GPIO, ADC | Input-only, presumably free |
| GPIO 35 | GPIO, ADC | Input-only, presumably free |
| GPIO 36 | GPIO, ADC | Input-only, presumably free |
| GPIO 39 | GPIO, ADC | Input-only, presumably free |
- GPIO_D port — GPIO 25, 32
- I2C port — GPIO 22, 21 (SDA, SCL)
Not shared with the touch controller (it is on SPI) — free for sensors
- UART1 port — GPIO 17, 16 (TX, RX)
- UART0 port — GPIO 1, 3 (TX, RX)
Shared with the USB-C serial port — the serial monitor and uploads use it too
Good to know before you start
- The ESP32-WROOM-32 has no PSRAM, so everything — LVGL draw buffers, screens and images — has to fit in the internal SRAM. Keep large images to a minimum and prefer simple widgets.
- GPIO 25 on the GPIO_D port belongs to ADC2, which cannot read analog values while Wi-Fi is on. For an analog sensor use GPIO 32 (ADC1) on the same port.
- UART0 is shared with the USB-C serial port that also handles uploads and the serial monitor. For a second serial device use the UART1 port (GPIO 16/17).
- Elecrow says hardware versions 1.0, 2.0 and 2.1 use the same pin assignment — newer versions only added automatic download mode.
What it is good for
- •Small battery-powered handheld controllers and remotes
- •Sensor read-outs with an I2C sensor on the free I2C port
- •Simple thermostat, timer or status panels with button-style touch input
- •Learning LVGL on a cheap, well-documented board
LVGL support in LCD Ultra Pro
| Driver status | Matched to the manufacturer’s official demo, compile-tested |
|---|---|
| Arduino export | Complete LVGL 8.4 project with the display driver |
| USB Live preview | No |
| Orientations | 0°, 90° |
| Brightness control | Hardware backlight dimming |
Pick this board in the editor and the canvas matches its exact resolution and shape. Build the interface with widgets, add events without code, try it in Live Preview, then export it as a ready-to-compile Arduino project. See the documentation for the workflow.
Frequently asked questions
Does the CrowPanel 2.4-inch have PSRAM?
No. It uses an ESP32-WROOM-32 with 4 MB flash and no PSRAM, so the user interface has to fit into the ESP32's internal SRAM.
Is the touchscreen capacitive or resistive?
Resistive, read by an XPT2046 controller on the SPI bus. Elecrow includes a stylus; resistive touch also works with gloves but needs a firmer press than capacitive touch.
Can I connect an I2C sensor to the CrowPanel 2.4-inch?
Yes. The I2C port (SDA GPIO 22, SCL GPIO 21) is not used by the board itself because the touch controller is on SPI, so the whole bus is free for sensors.
Can it run on a battery?
Yes. The board has a PH2.0-2P lithium battery connector with an on-board charging circuit, so a single-cell LiPo is charged while USB-C is connected.
How do I build an LVGL interface for it without writing driver code?
Pick the CrowPanel 2.4-inch in LCD Ultra Pro, design the screens in the browser and export. The Arduino project includes the display and touch driver matched to Elecrow's official example code.
Sources
Specifications cross-checked against the manufacturer’s documentation (last checked 2026-10-27):
Last updated: