"Guition ESP32-P4 4.3" 480x800 Capacitive Touch Display" (JC4880P443C_I_W): it has an ST7701 MIPI-DSI display, GT911 capacitive touch (I2C), and an ES8311 audio codec with NS4150 speaker amp (speaker output only - this board has no mic). The board also has a WiFi SDIO interface and an SD_MMC interface, both of which need their own pin setup.
More...
"Guition ESP32-P4 4.3" 480x800 Capacitive Touch Display" (JC4880P443C_I_W): it has an ST7701 MIPI-DSI display, GT911 capacitive touch (I2C), and an ES8311 audio codec with NS4150 speaker amp (speaker output only - this board has no mic). The board also has a WiFi SDIO interface and an SD_MMC interface, both of which need their own pin setup.
Note: despite the class name (kept for historical/API-compatibility reasons), the chip on this board is an ESP32-P4, not an ESP32-H4 - see ST7701Driver's docs in DisplayDriverDSI.h and the guition-jc4880p4-bsp source this driver was transcribed from.
- Note
- SD card power: kSdLdoChannel (TF_VCC) is recorded from the BSP source but not currently driven by begin() - unlike kDsiPhyLdoChan, which IS wired into ST7701Driver. If the TF socket needs that LDO switched on to work, SD_MMC.begin() may fail until this is enabled explicitly.
-
Audio setup: this board's ES8311 codec needs its own I2C init (volume, mic gain, ...), not just I2S pins, so plain I2SStream leaves the codec unconfigured. If the sketch also depends on arduino-audio-driver, use its ready-made board definition instead, which owns the codec init and I2S pins together:
#include "AudioTools.h" #include "AudioTools/AudioLibs/AudioBoardStream.h"
AudioBoardStream i2s(GenericES8311); auto config = i2s.defaultConfig(TX_MODE); board.setI2SPins<I2SConfig>(config); i2s.begin(config); i2s.setVolume(0.5f); board.setAmplifierActive(true);
Without arduino-audio-driver, i2s()/setI2SPins() still give the raw MCLK/BCK/WS/DOUT/DIN pins for a plain I2SStream, but the caller is then responsible for the ES8311's I2C init and driving the PA-enable pin (i2s().paEnable, active low per paEnableActiveLow) itself.