Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions main/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -299,6 +299,11 @@ elseif(CONFIG_BOARD_TYPE_WAVESHARE_S3_TOUCH_AMOLED_1_32)
set(BUILTIN_TEXT_FONT font_puhui_basic_20_4)
set(BUILTIN_ICON_FONT font_awesome_20_4)
set(DEFAULT_EMOJI_COLLECTION twemoji_32)
elseif(CONFIG_BOARD_TYPE_ESP32S3_Touch_LCD_4_3C)
set(BOARD_TYPE "waveshare-s3-touch-lcd-4.3c")
set(BUILTIN_TEXT_FONT font_puhui_basic_30_4)
set(BUILTIN_ICON_FONT font_awesome_30_4)
set(DEFAULT_EMOJI_COLLECTION twemoji_64)
elseif(CONFIG_BOARD_TYPE_WAVESHARE_P4_NANO)
set(BOARD_TYPE "waveshare-p4-nano")
set(BUILTIN_TEXT_FONT font_puhui_basic_30_4)
Expand Down
5 changes: 4 additions & 1 deletion main/Kconfig.projbuild
Original file line number Diff line number Diff line change
Expand Up @@ -291,6 +291,9 @@ choice BOARD_TYPE
config BOARD_TYPE_WAVESHARE_S3_TOUCH_LCD_3_5B
bool "Waveshare ESP32-S3-Touch-LCD-3.5B"
depends on IDF_TARGET_ESP32S3
config BOARD_TYPE_ESP32S3_Touch_LCD_4_3C
bool "Waveshare ESP32-S3-Touch-LCD-4.3C"
depends on IDF_TARGET_ESP32S3
config BOARD_TYPE_WAVESHARE_P4_NANO
bool "Waveshare ESP32-P4-NANO"
depends on IDF_TARGET_ESP32P4
Expand Down Expand Up @@ -645,7 +648,7 @@ config USE_DEVICE_AEC
|| BOARD_TYPE_LICHUANG_DEV_S3 || BOARD_TYPE_ESP_KORVO2_V3 || BOARD_TYPE_WAVESHARE_S3_TOUCH_AMOLED_1_75 || BOARD_TYPE_WAVESHARE_S3_TOUCH_LCD_1_83\
|| BOARD_TYPE_WAVESHARE_S3_TOUCH_AMOLED_2_06 || BOARD_TYPE_WAVESHARE_S3_TOUCH_LCD_4B || BOARD_TYPE_WAVESHARE_P4_WIFI6_TOUCH_LCD_4B || BOARD_TYPE_WAVESHARE_P4_WIFI6_TOUCH_LCD_7B \
|| BOARD_TYPE_WAVESHARE_P4_WIFI6_TOUCH_LCD_XC || BOARD_TYPE_ESP_S3_LCD_EV_Board_2 || BOARD_TYPE_YUNLIAO_S3 \
|| BOARD_TYPE_ECHOEAR || BOARD_TYPE_WAVESHARE_S3_TOUCH_LCD_3_49)
|| BOARD_TYPE_ECHOEAR || BOARD_TYPE_WAVESHARE_S3_TOUCH_LCD_3_49 || BOARD_TYPE_ESP32S3_Touch_LCD_4_3C)
help
To work properly, device-side AEC requires a clean output reference path from the speaker signal and physical acoustic isolation between the microphone and speaker.

Expand Down
43 changes: 43 additions & 0 deletions main/boards/waveshare-s3-touch-lcd-4.3c/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
# 使用说明

* [ESP32-S3-Touch-LCD-4.3C docs](https://www.waveshare.com/esp32-s3-touch-lcd-4.3c.htm)

## 快速体验

下载编译好的 [固件](https://files.waveshare.com/wiki/ESP32-S3-Touch-LCD-4.3C/ESP32-S3-Touch-LCD-4.3C-Xiaozhi.bin)

```shell
esptool.py --chip esp32s3 -p /dev/ttyACM0 -b 460800 --before=default_reset --after=hard_reset write_flash --flash_mode dio --flash_freq 80m --flash_size 16MB 0x00 ESP32-S3-Touch-LCD-4.3C-Xiaozhi.bin
```

## 基础使用

* idf version: v5.5-dev

1. 设置编译目标为 esp32s3

```shell
idf.py set-target esp32s3
```

2. 修改配置

```shell
cp main/boards/waveshare-s3-touch-lcd-4.3c/sdkconfig.4_3c sdkconfig
```

3. 编译烧录程序

```shell
idf.py build flash monitor
```

## log

@2025/05/17 测试问题

1. 返回应用界面时,需要存在此分区,否则无效
2.
3.

## TODO
89 changes: 89 additions & 0 deletions main/boards/waveshare-s3-touch-lcd-4.3c/config.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,89 @@
#ifndef _BOARD_CONFIG_H_
#define _BOARD_CONFIG_H_

#include <driver/gpio.h>
#include "custom_io_expander_ch32v003.h"

#define AUDIO_INPUT_SAMPLE_RATE 24000
#define AUDIO_OUTPUT_SAMPLE_RATE 24000

#define AUDIO_INPUT_REFERENCE true

#define BSP_I2S_SCLK (GPIO_NUM_44)
#define BSP_I2S_MCLK (GPIO_NUM_6)
#define BSP_I2S_LCLK (GPIO_NUM_16)
#define BSP_I2S_DOUT (GPIO_NUM_15) // To Codec ES8311
#define BSP_I2S_DSIN (GPIO_NUM_43) // From ADC ES7210

#define BSP_POWER_AMP_IO (IO_EXPANDER_PIN_NUM_3)
#define BSP_PA_PIN (GPIO_NUM_NC)

#define BSP_I2C_SCL (GPIO_NUM_9)
#define BSP_I2C_SDA (GPIO_NUM_8)

#define BSP_CODEC_ES8311_ADDR ES8311_CODEC_DEFAULT_ADDR
#define BSP_CODEC_ES7210_ADDR ES7210_CODEC_DEFAULT_ADDR

#define BSP_IO_EXPANDER_I2C_ADDRESS CUSTOM_IO_EXPANDER_I2C_CH32V003_ADDRESS
#define BOOT_BUTTON_GPIO GPIO_NUM_0

/* Display */
#define BSP_LCD_VSYNC (GPIO_NUM_3)
#define BSP_LCD_HSYNC (GPIO_NUM_46)
#define BSP_LCD_DE (GPIO_NUM_5)
#define BSP_LCD_PCLK (GPIO_NUM_7)
#define BSP_LCD_DISP (GPIO_NUM_NC)

// Blue data signals
#define BSP_LCD_DATA0 (GPIO_NUM_14) ///< B3
#define BSP_LCD_DATA1 (GPIO_NUM_38) ///< B4
#define BSP_LCD_DATA2 (GPIO_NUM_18) ///< B5
#define BSP_LCD_DATA3 (GPIO_NUM_17) ///< B6
#define BSP_LCD_DATA4 (GPIO_NUM_10) ///< B7

// Green data signals
#define BSP_LCD_DATA5 (GPIO_NUM_39) ///< G2
#define BSP_LCD_DATA6 (GPIO_NUM_0) ///< G3
#define BSP_LCD_DATA7 (GPIO_NUM_45) ///< G4
#define BSP_LCD_DATA8 (GPIO_NUM_48) ///< G5
#define BSP_LCD_DATA9 (GPIO_NUM_47) ///< G6
#define BSP_LCD_DATA10 (GPIO_NUM_21) ///< G7

// Red data signals
#define BSP_LCD_DATA11 (GPIO_NUM_1) ///< R3
#define BSP_LCD_DATA12 (GPIO_NUM_2) ///< R4
#define BSP_LCD_DATA13 (GPIO_NUM_42) ///< R5
#define BSP_LCD_DATA14 (GPIO_NUM_41) ///< R6
#define BSP_LCD_DATA15 (GPIO_NUM_40) ///< R7

#define BSP_LCD_BACKLIGHT (IO_EXPANDER_PIN_NUM_2)
#define BSP_LCD_RST (GPIO_NUM_NC)
#define BSP_LCD_TOUCH_RST (IO_EXPANDER_PIN_NUM_1)
#define BSP_LCD_TOUCH_INT (GPIO_NUM_4)

/* LCD display color format */
#define BSP_LCD_COLOR_FORMAT (ESP_LCD_COLOR_FORMAT_RGB565)
/* LCD display color bytes endianess */
#define BSP_LCD_BIGENDIAN (1)
/* LCD display color bits */
#define BSP_LCD_BITS_PER_PIXEL (16)
#define BSP_LCD_BIT_PER_PIXEL (18)
#define BSP_RGB_DATA_WIDTH (16)

/* LCD display definition */
#define BSP_LCD_H_RES (800)
#define BSP_LCD_V_RES (480)


#define DISPLAY_MIRROR_X false
#define DISPLAY_MIRROR_Y false
#define DISPLAY_SWAP_XY false

#define DISPLAY_OFFSET_X 0
#define DISPLAY_OFFSET_Y 0

#define DISPLAY_BACKLIGHT_PIN GPIO_NUM_NC
#define DISPLAY_BACKLIGHT_OUTPUT_INVERT true


#endif // _BOARD_CONFIG_H_
14 changes: 14 additions & 0 deletions main/boards/waveshare-s3-touch-lcd-4.3c/config.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
{
"target": "esp32s3",
"builds": [
{
"name": "waveshare-s3-touch-lcd-4.3c",
"sdkconfig_append": [
"CONFIG_BOARD_TYPE_ESP32S3_Touch_LCD_4_3C=y",
"CONFIG_USE_DEVICE_AEC=y",
"CONFIG_SPIRAM_FETCH_INSTRUCTIONS=y",
"CONFIG_SPIRAM_RODATA=y",
]
}
]
}
Loading