Boards / All-in-one boards

M5Stack Tab5 (ESP32-P4, 5" 720x1280)

5" 720x1280 MIPI-DSI panel on an ESP32-P4 with an ESP32-C6 for Wi-Fi. Any of the three panels the Tab5 has shipped with (ILI9881C, ST7123, ST7121) is found at start, as M5Stack's own firmware does. Compiled, not yet seen on a board.

The M5Stack Tab5 board
Photograph: M5Stack · vendor product photo, no licence stated

Building for it

A project is made for one toolchain, picked when you start it. For this board you can use two of the four:

Toolchain
Arduino (C++)Every board, every widget and every peripheral here. The most control, and the most to set up. Start a project
MicroPythonThe MicroPython export has not been built for this chip yet. It is written for the ESP32, S2, S3, C3 and C6.
ESPHomeThe ESP32-P4 is only useful here with a MIPI-DSI panel, which this export does not write yet.
ESP-IDF (C)Espressif's own framework: esp_lcd, the component registry and idf.py, with nothing of Arduino in it. Start a project

Wi-Fi: the ESP32-C6 beside the P4

The ESP32-P4 has no radio. This board’s Wi-Fi is an ESP32-C6 on the P4’s SDIO lines running Espressif’s ESP-Hosted, which has to be the release the ESP32 core was built with (2.12.11 for the core LCD Wizard exports for). A C6 as it leaves the factory may run an older one: the serial port then says ESP-Hosted of an unknown version, and Wi-Fi can fail or freeze the board as it starts. Update my C6 writes 2.12.11 to it from the browser, with no Wi-Fi and no password. Why, and how to update the C6.

At a glance

PartDetail
MakerM5Stack
MCUESP32-P4
RISC-V dual-core @ 400 MHz, 768 KB SRAM (+ PSRAM)
DisplayIlitek ILI9881C, 720 x 1280 px, MIPI-DSI, 16-bit colour
TouchM5Stack M5Stack Tab5 touch (GT911 or ST7123, as the panel) (capacitive, I2C)
BacklightGPIO 22, dimmable (PWM)
Memory16 MB flash, 32 MB PSRAM (N16R32)
Graphics libraryGFX Library for Arduino

Display pins

ILI9881C on MIPI-DSI: RGB colour order, inversion off.

SignalPin
RESETnot connected
BacklightGPIO 22

Touch pins

M5Stack Tab5 touch (GT911 or ST7123, as the panel): I2C address 0x14, 400 kHz, shares the display bus.

SignalPin
SDAGPIO 31
SCLGPIO 32
INT / IRQGPIO 23
RESETnot connected

Also on the board

The preset adds these to the Hardware tab with the board, so a sensor can go straight onto the connector.

Check your revision. Nobody at LCD Wizard has had this board: the export for it compiles and has not been seen on the panel. The Tab5 has been sold with three panels - an ILI9881C with a GT911 touch chip, an ST7123 and an ST7121 - and the export starts the one your board has exactly as M5Stack's own factory firmware does: the two I/O expanders, the touch chip's reset, which panel it is (asked of the touch chip), then that panel with M5Stack's own driver and settings. The serial monitor says which panel it found ("panel: M5Stack Tab5 with its ... panel"). The backlight is GPIO 22 at 5 kHz. The ESP32-C6 is the board's Wi-Fi, on the pins M5Stack's firmware uses; it leaves the factory with an older ESP-Hosted, so Wi-Fi may need the C6 updated (the README says how). A design on this preset builds for an ESP32-P4 before revision 3, as M5Stack's firmware does; if the upload reports revision 3 ("revision v3.x"), choose that under Hardware > Board > Chip revision. In the kit, as M5Stack's own code starts each: the ES8388 speaker codec (amplifier on IOE1 P1) and the ES7210 microphones, the BMI270 IMU, the RX8130CE clock, the INA226 battery monitor, RS485 (TX 20, RX 21, direction 34), the TF card and the camera (an SC202CS, its clock on GPIO 36), switched off but for the card and the C6; Port A (Grove) is I2C on GPIO 53 / 54, its 5 V IOE1 P2. Not driven: the USB-A host port, the charger's controls, the HAT header and the keyboard connector.

Designing for it in LCD Wizard

The parts

ILI9881C. ESP32-P4 only, with PSRAM. Driven under a maker's own register load: Waveshare's 7" 720x1280 (7-DSI-TOUCH-A). Compiled, not yet seen on a board.

M5Stack Tab5 touch (GT911 or ST7123, as the panel). The M5Stack Tab5 only: which chip it is, is found at start with the panel (the start-up sequence "M5Stack Tab5 factory firmware").

ESP32-P4. Has a MIPI-DSI host and a 2D graphics accelerator (PPA). Arduino core support is newer - verify your core version.

GFX Library for Arduino. Moshi Liu's library. Best QSPI/AMOLED and RGB coverage. Configured in code.

The pinout on one page

Every pin above, laid out to print and keep beside the bench. Generated from this preset, so it says exactly what the designer writes into lcd_pins.h.

Download the pinout (PNG)Open it as SVG

The same pins as data - board.json and pins.csv - are in the open pinout dataset on GitHub, free to reuse under CC BY 4.0.

From the people who made it

The board’s own documentation. Pinouts on vendor pages do sometimes disagree with the hardware in front of you - where this page and that one differ, trust your board and tell us.

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.

Waveshare ESP32-P4-NANO + 7-DSI-TOUCH-AWaveshare's 7" 720x1280 MIPI-DSI screen (ILI9881C) with GT911 touch on their ESP32-P4-NANO, whose backlight is a register on I2C. With the NANO's ES8311 codec, TF card, Ethernet and Wi-Fi through its ESP32-C6. Compiled, not yet seen on a boESP32-P4 · ILI9881C 720 x 1280 · GT911 touchPurchase this board
Guition JC8012P4A1 10.1 inch ESP32-P4 (JC8012P4A1C_I_W_Y1)10.1" 800x1280 MIPI-DSI panel (JD9365) on an ESP32-P4, with an ES8311 speaker codec and a TF card. GSL3680 touch (one finger). Compiled, not yet seen on a board.ESP32-P4 · JD9365 800 x 1280 · GSL3680 touch
Guition JC1060P470C 7 inch ESP32-P4 (JC1060P470C_I_W_Y)7" 1024x600 MIPI-DSI panel (JD9165) with GT911 touch on an ESP32-P4, wired 100 Mbit Ethernet, Wi-Fi through its ESP32-C6, an ES8311 speaker codec, a TF card and RS485. Compiled, not yet seen on a board.ESP32-P4 · JD9165 1024 x 600 · GT911 touch
VIEWE ESP32-P4 SmartDisplay 7 inch (UEP4S070H1024V600C)7" 1024x600 MIPI-DSI panel (JD9165) with GT911 touch, an I2S speaker amplifier and Wi-Fi through an ESP32-C6 on an ESP32-P4. Seen running on a board before chip revision 3: the board test and the C6 update.ESP32-P4 · JD9165 1024 x 600 · GT911 touch
Elecrow CrowPanel Advanced 10.1 inch ESP32-P410.1 inch 1024x600 MIPI-DSI panel (EK79007) with GT911 touch, an I2S speaker amplifier and Wi-Fi through an ESP32-C6 on an ESP32-P4. The 7 and 9 inch are the same board. Compiled, not yet seen on a board.ESP32-P4 · EK79007 1024 x 600 · GT911 touchPurchase this board
Elecrow CrowPanel Advanced 9 inch ESP32-P49 inch 1024x600 MIPI-DSI panel (EK79007) with GT911 touch, an I2S speaker amplifier and Wi-Fi through an ESP32-C6 on an ESP32-P4. The 7 and 10.1 inch are the same board. Seen running on a board before chip revision 3: panel (clean on the glass), touch, video, sound, the TF card and Wi-Fi through the C6.ESP32-P4 · EK79007 1024 x 600 · GT911 touchPurchase this board

Next