LCDWIKI 2.8" ESP32-32E (E32R28T)
A Cheap Yellow Display alternative: 2.8" 320x240 ILI9341V with XPT2046 resistive touch, an RGB LED, a speaker amplifier and battery charging. The LED and audio pins are not the Sunton board's.
Building for it
A project is made for one toolchain, picked when you start it. All three can drive this board:
| Toolchain | |
|---|---|
| Arduino (C++) | Every board, every widget and every peripheral here. The most control, and the most to set up. Start a project |
| MicroPython | Change a screen by editing a file on the board. No compiler once it is flashed. Start a project |
| ESPHome | No compiler to install, and the panel can join Home Assistant as real entities. Start a project |
At a glance
| Part | Detail |
|---|---|
| Maker | LCDWIKI |
| MCU | ESP32 (WROOM / WROVER) Xtensa LX6 dual-core @ 240 MHz, 520 KB SRAM (+ up to 8 MB PSRAM on WROVER) |
| Display | Ilitek ILI9341, 320 x 240 px, SPI (4-wire serial), 16-bit colour |
| Touch | XPTek XPT2046 (resistive, SPI) |
| Backlight | GPIO 21, dimmable (PWM) |
| Memory | 4 MB flash, no PSRAM (N4) |
| Graphics library | TFT_eSPI |
Display pins
ILI9341 on SPI (4-wire serial): SPI clock 40 MHz, host HSPI, RGB colour order, inversion off.
| Signal | Pin |
|---|---|
| SCK / CLK | GPIO 14 |
| MOSI / SDA | GPIO 13 |
| MISO / SDO | GPIO 12 |
| CS | GPIO 15 |
| DC / RS | GPIO 2 |
| RESET | not connected |
| Backlight | GPIO 21 |
Touch pins
XPT2046: 2500 kHz, its own SPI bus, X and Y swapped.
| Signal | Pin |
|---|---|
| SCK | GPIO 25 |
| MOSI | GPIO 32 |
| MISO | GPIO 39 |
| CS | GPIO 33 |
| IRQ / PENIRQ | GPIO 36 |
Check your revision. The panel, touch and backlight are on the Sunton CYD's pins. The RGB LED is GPIO 22 (red), 16 and 17, lit low; GPIO 4 is the speaker amplifier's enable, also low - on the Sunton preset those were the red LED and nothing. The SD card and the SPI socket (CS 27) share GPIO 18/19/23, and an ESP32 has no SPI controller left for them once the panel and touch have theirs, so they are not added; adding one stops touch answering. The battery reading is scaled from typical ADC figures - check it against a meter.
Designing for it in LCD Wizard
- Choose LCDWIKI 2.8" ESP32-32E (E32R28T) on the Hardware tab (or use the button above) and every pin on this page is filled in. The export writes the sketch,
lcd_pins.h, the TFT_eSPI configuration,lv_conf.handplatformio.ini- a project that builds for this board as it comes. - The XPT2046 is resistive, so the firmware calibrates it on the device: touch the crosses on the first boot after an upload and the result is saved. The screen says whether it worked.
- The backlight is dimmable: give a slider or a button a Set backlight action.
- Screens are designed for 320 x 240 px in either orientation, with LVGL 9 or LVGL 8.
The parts
ILI9341. The most common hobby TFT. 2.2"-2.8" modules, usually with an XPT2046 resistive panel.
XPT2046. The classic 4-wire resistive controller. Needs calibration. Can share the display SPI bus with its own CS.
ESP32 (WROOM / WROVER). No native RGB parallel peripheral - use SPI or an 8/16-bit i80 bus.
TFT_eSPI. Fastest for SPI panels on ESP32. Configured via User_Setup.h build defines.
Designs for this board
Nobody has published a design for this board yet. Publish yours from the designer and it appears here and in the gallery.
Similar boards
Next
- Quick start - from an empty screen to firmware on the board
- Boards and displays - presets, controllers, pins and touch in the designer
- Flashing and configuration - PlatformIO, the Arduino IDE and first-boot checks
- Troubleshooting - a white screen, mirrored image or touch that misses