# Waveshare ESP32-S3-Touch-LCD-1.54 defaults # Override generic board selection (loaded via sdkconfig.defaults.esp32s3) CONFIG_BOARD_ESP32S3_GENERIC=n CONFIG_BOARD_WAVESHARE_ESP32S3_TOUCH_LCD_154=y CONFIG_ESPTOOLPY_FLASHSIZE_16MB=y CONFIG_ESPTOOLPY_FLASHSIZE="16MB" CONFIG_SPIRAM_MODE_OCT=y # GPIO48 is the CST816S touch interrupt on this board. CONFIG_LED_RGB_GPIO=-1 # Display — ST7789 SPI TFT (240x240) CONFIG_DISPLAY_ENABLED=y CONFIG_DISPLAY_DRIVER_ST7789=y CONFIG_DISPLAY_BUS_SPI=y CONFIG_DISPLAY_SPI_CLK=38 CONFIG_DISPLAY_SPI_MOSI=39 CONFIG_DISPLAY_SPI_CS=21 CONFIG_DISPLAY_SPI_DC=45 CONFIG_DISPLAY_SPI_RST=40 CONFIG_DISPLAY_BL_GPIO=46 CONFIG_DISPLAY_ST7789_WIDTH=240 CONFIG_DISPLAY_ST7789_HEIGHT=240 CONFIG_DISPLAY_ST7789_GAP_X=0 CONFIG_DISPLAY_ST7789_GAP_Y=35 # ES8311 DAC CONFIG_DAC_ES8311=y # I2S pins for ES8311 (overrides generic esp32s3 defaults) # Signal names below are from the CODEC's perspective: # IO11 = ASDOUT (codec ADC out -> ESP32 in), IO12 = DSDIN (ESP32 out -> codec DAC in) # So the ESP32's data-OUT (DAC audio) must go to the codec's DSDIN = GPIO12. # IO8=MCLK, IO9=BCLK, IO10=LRCK, IO12=DOUT(ESP32->codec DAC) CONFIG_I2S_SCK_IO=8 CONFIG_I2S_BCK_IO=9 CONFIG_I2S_WS_IO=10 CONFIG_I2S_DO_IO=12 CONFIG_I2S_GND_IO=-1 # Buttons: GPIO4=Volume+, GPIO0=Volume-, GPIO5=Play/Pause CONFIG_BTN_VOLUME_UP_GPIO=4 CONFIG_BTN_VOLUME_DOWN_GPIO=0 CONFIG_BTN_PLAY_PAUSE_GPIO=5 CONFIG_BTN_PLAY_PAUSE_DOUBLE_CLICK=y # LVGL configuration CONFIG_LV_CONF_SKIP=y CONFIG_LV_COLOR_DEPTH_16=y CONFIG_LV_MEM_SIZE_KILOBYTES=64 CONFIG_LV_USE_LABEL=y CONFIG_LV_USE_BAR=y CONFIG_LV_USE_THEME_DEFAULT=y CONFIG_LV_FONT_MONTSERRAT_14=y CONFIG_LV_FONT_MONTSERRAT_16=y CONFIG_LV_FONT_MONTSERRAT_24=y CONFIG_LV_FONT_DEFAULT_MONTSERRAT_14=y