diff --git a/.github/workflows/build_test.yml b/.github/workflows/build_test.yml
index 6ebfe606..409022da 100644
--- a/.github/workflows/build_test.yml
+++ b/.github/workflows/build_test.yml
@@ -14,6 +14,7 @@ jobs:
[
"sdkconfig.defaults.esp32_c3_lcdkit",
"sdkconfig.defaults.esp32_s3_box",
+ "sdkconfig.defaults.esp32_s3_box_3",
"sdkconfig.defaults.esp32_s3_box_lite",
"sdkconfig.defaults.esp32_s3_eye",
"sdkconfig.defaults.esp32_s3_korvo_2",
diff --git a/ESP_Panel_Conf_Template.h b/ESP_Panel_Conf_Template.h
index 06669cfb..66101f15 100644
--- a/ESP_Panel_Conf_Template.h
+++ b/ESP_Panel_Conf_Template.h
@@ -15,6 +15,7 @@
* Supported Boards.
* - ESP32-C3-LCDkit: https://docs.espressif.com/projects/esp-dev-kits/en/latest/esp32c3/esp32-c3-lcdkit/index.html
* - ESP32-S3-Box: https://github.com/espressif/esp-box/tree/master
+ * - ESP32-S3-Box-3: https://github.com/espressif/esp-box/tree/master
* - ESP32-S3-Box-Lite: https://github.com/espressif/esp-box/tree/master
* - ESP32-S3-EYE: https://github.com/espressif/esp-who/blob/master/docs/en/get-started/ESP32-S3-EYE_Getting_Started_Guide.md
* - ESP32-S3-Korvo-2: https://docs.espressif.com/projects/esp-adf/en/latest/design-guide/dev-boards/user-guide-esp32-s3-korvo-2.html
@@ -26,6 +27,7 @@
*/
// #define ESP_PANEL_BOARD_ESP32_C3_LCDKIT
// #define ESP_PANEL_BOARD_ESP32_S3_BOX
+// #define ESP_PANEL_BOARD_ESP32_S3_BOX_3
// #define ESP_PANEL_BOARD_ESP32_S3_BOX_LITE
// #define ESP_PANEL_BOARD_ESP32_S3_EYE
// #define ESP_PANEL_BOARD_ESP32_S3_KORVO_2
diff --git a/Kconfig b/Kconfig
index 7c78a494..164166b3 100644
--- a/Kconfig
+++ b/Kconfig
@@ -25,6 +25,10 @@ menu "ESP Panel Configuration"
bool "ESP32-S3-Box"
help
320x240, LCD: ILI9342, Touch: TT21100
+ config ESP_PANEL_BOARD_ESP32_S3_BOX_3
+ bool "ESP32-S3-Box-3"
+ help
+ 320x240, LCD: ILI9342, Touch: TT21100
config ESP_PANEL_BOARD_ESP32_S3_BOX_LITE
bool "ESP32-S3-Box-Lite"
help
diff --git a/README.md b/README.md
index 2c5411ea..4f7f013a 100644
--- a/README.md
+++ b/README.md
@@ -32,6 +32,7 @@ The block diagram of esp-display-panel is shown in the figure below, it primaril
| :--------------------------------------------------------------------------------------------------------------------------: | :--------------------------------------------------------------------------------------------------------------------------------: | :--------------: | :----------------: | :-----------: | :------------------: |
|
| [ESP32-C3-LCDkit](https://docs.espressif.com/projects/esp-dev-kits/en/latest/esp32c3/esp32-c3-lcdkit/index.html) | SPI | GC9A01 | - | - |
|
| [ESP32-S3-Box](https://github.com/espressif/esp-box/tree/master) | SPI | ILI9342 | I2C | TT21100 |
+|
|[ESP32-S3-Box-3](https://github.com/espressif/esp-box/tree/master) | SPI | ILI9342 | I2C | TT21100 |
|
| [ESP32-S3-Box-Lite](https://github.com/espressif/esp-box/tree/master) | SPI | ST7789 | - | - |
|
| [ESP32-S3-EYE](https://github.com/espressif/esp-who/blob/master/docs/en/get-started/ESP32-S3-EYE_Getting_Started_Guide.md) | SPI | ST7789 | - | - |
|
| [ESP32-S3-Korvo-2](https://docs.espressif.com/projects/esp-adf/en/latest/design-guide/dev-boards/user-guide-esp32-s3-korvo-2.html) | SPI | ILI9342 | I2C | TT21100 |
@@ -103,9 +104,9 @@ Arduino
|-ESP_Panel_Conf.h
```
-### Configure Supported Board
+4. Please refer to the [Supported Boards List](#supported-boards--drivers) to check if the current board is compatible. If it is compatible, please navigate to the "[For Supported Boards](#for-supported-board)" section; Otherwise, navigate to the "[For Unsupported Boards](#for-unsupported-board)" section.
-Please refer to the [Supported Boards](#supported-boards--drivers) list to check if the current board is compatible. Otherwise, please refer to the section on [Configuring Unsupported Boards](#configure-unsupported-board).
+#### For Supported Board
1. Open `ESP_Panel_Conf.h` file. First, set the macro `ESP_PANEL_USE_SUPPORTED_BOARD` to `1` (default is `1`). Then, according to the name of your target development board, uncomment the macro definitions in the format `ESP_PANEL_BOARD_` below,
2. The following code takes *ESP32_S3_BOX* development board as an example:
@@ -118,9 +119,9 @@ Please refer to the [Supported Boards](#supported-boards--drivers) list to check
...
```
-3. After that, refer to the [APIs](#apis) section to use the library in the sketch.
+3. After that, navigate to the "[Use APIs](#use-apis)" section to use the library in the sketch.
-### Configure Unsupported Board
+#### For Unsupported Board
Since esp-display-panel library can only utilize the internally supported drivers, please ensure that the **LCD**, **Touch**, and **Bus** for the custom board are present in the list of [Supported Drivers](#supported-boards--drivers).
@@ -271,9 +272,9 @@ Since esp-display-panel library can only utilize the internally supported driver
...
```
-3. After configuring the `ESP_Panel_Conf.h` file, please refer to the [APIs](#apis) section to use the functionalities provided by esp-display-panel.
+3. After configuring the `ESP_Panel_Conf.h` file, please navigate to the "[Use APIs](#use-apis)" section to check the functions provided by esp-display-panel.
-### APIs
+### Use APIs
The following codes show the usage of common APIs:
diff --git a/README_CN.md b/README_CN.md
index fe677f79..b6102bf2 100644
--- a/README_CN.md
+++ b/README_CN.md
@@ -32,6 +32,7 @@ esp-display-panel 的功能框图如下所示,主要包含了以下功能:
| :--------------------------------------------------------------------------------------------------------------------------: | :--------------------------------------------------------------------------------------------------------------------------------: | :--------------: | :------------: | :----------: | :------------: |
|
| [ESP32-C3-LCDkit](https://docs.espressif.com/projects/esp-dev-kits/en/latest/esp32c3/esp32-c3-lcdkit/index.html) | SPI | GC9A01 | - | - |
|
| [ESP32-S3-Box](https://github.com/espressif/esp-box/tree/master) | SPI | ILI9342 | I2C | TT21100 |
+|
|[ESP32-S3-Box-3](https://github.com/espressif/esp-box/tree/master) | SPI | ILI9342 | I2C | TT21100 |
|
| [ESP32-S3-Box-Lite](https://github.com/espressif/esp-box/tree/master) | SPI | ST7789 | - | - |
|
| [ESP32-S3-EYE](https://github.com/espressif/esp-who/blob/master/docs/en/get-started/ESP32-S3-EYE_Getting_Started_Guide.md) | SPI | ST7789 | - | - |
|
| [ESP32-S3-Korvo-2](https://docs.espressif.com/projects/esp-adf/en/latest/design-guide/dev-boards/user-guide-esp32-s3-korvo-2.html) | SPI | ILI9342 | I2C | TT21100 |
@@ -103,9 +104,9 @@ Arduino
|-ESP_Panel_Conf.h
```
-### 配置支持的开发板
+4. 请参考[支持的开发板列表](#支持的开发板和驱动)来检查当前开发板是否兼容,如果兼容请跳转至“[对于支持的开发板](#对于支持的开发板)”一节,否则跳转至“[对于不支持的开发板](#对于不支持的开发板)”一节。
-请参考[支持的开发板列表](#支持的开发板和驱动)来检查当前开发板是否兼容,否则请参考[配置不支持的开发板](#配置不支持的开发板)一节。
+#### 对于支持的开发板
1. 打开 `ESP_Panel_Conf.h` 文件,首先,将宏 `ESP_PANEL_USE_SUPPORTED_BOARD` 设置为 `1`(默认值为 `1`)。然后,根据目标开发板的名称在其下方将格式为 `ESP_PANEL_BOARD_` 的宏定义取消注释。
2. 以 *ESP32_S3_BOX* 开发板为例,下面是修改后的 `ESP_Panel_Conf.h` 文件的部分内容:
@@ -114,13 +115,13 @@ Arduino
...
// #define ESP_PANEL_BOARD_ESP32_C3_LCDKIT
#define ESP_PANEL_BOARD_ESP32_S3_BOX
-// #define ESP_PANEL_BOARD_ESP32_S3_BOX_LITE
+// #define ESP_PANEL_BOARD_ESP32_S3_BOX_3
...
```
-3. 之后,请参考[函数接口](#函数接口)一节使用 esp-display-panel 提供的功能。
+3. 之后,请跳转至“[使用接口](#使用接口)”一节使用 esp-display-panel 提供的功能。
-### 配置不支持的开发板
+#### 对于不支持的开发板
由于 esp-display-panel 只能使用内部支持的驱动程序,请确认自定义开发板的 **LCD**、**触摸**和**接口总线**位于[支持的驱动程序列表](#supported-boards--drivers)中。
@@ -271,11 +272,11 @@ Arduino
...
```
-3. 配置好 `ESP_Panel_Conf.h` 文件后,就可以按照[函数接口](#函数接口)一节使用 esp-display-panel 提供的功能。
+3. 配置好 `ESP_Panel_Conf.h` 文件后,请跳转至“[使用接口](#使用接口)”一节查看 esp-display-panel 提供的函数。
-### 函数接口
+### 使用接口
-以下代码展示了常用函数接口的用法:
+以下代码展示了常用函数接口的使用:
```
#include
diff --git a/examples/LVGL/Porting/Porting.ino b/examples/LVGL/Porting/Porting.ino
index abc32b7e..3a60e22d 100644
--- a/examples/LVGL/Porting/Porting.ino
+++ b/examples/LVGL/Porting/Porting.ino
@@ -3,62 +3,86 @@
*
* ## How to Use
*
- * To use this example, you need to install `esp-display-panel` (includes its dependent libraries) and `LVGL(v8.3.x)` library first,
+ * To use this example, please firstly install esp-display-panel and its dependent libraries,
* then follow the steps to configure:
*
* ### Configure esp-display-panel
*
- * 1. Go to the directory of the installed Arduino libraries.
- * 2. Go to the `esp-display-panel` folder, copy `ESP_Panel_Conf_Template.h` and place it out of `esp-display-panel` folder.
- * It should be at the same level as the `esp-display-panel` folder. Then rename it as `ESP_Panel_Conf.h`.
- * Finally, the layout of the Arduino Libraries folder with `ESP_Panel_Conf.h` should look like this:
- * ```
- * Arduino
- * |-libraries
- * |-esp-display-panel
- * |-other_lib_1
- * |-other_lib_2
- * |-ESP_Panel_Conf.h
- * ```
- * 3. Open `ESP_Panel_Conf.h` and uncomment one of the following macros to select an supported development board.
- * Taking `ESP32_S3_BOX` as an example:
- * ```c
- * // #define ESP_PANEL_BOARD_ESP32_C3_LCDKIT
- * #define ESP_PANEL_BOARD_ESP32_S3_BOX
- * // #define ESP_PANEL_BOARD_ESP32_S3_BOX_LITE
- * ...
- * ```
+ * esp-display-panel has its own configuration file called `ESP_Panel_Conf.h`. After installing esp-display-panel,
+ * follow these configuration steps:
+ *
+ * 1. Navigate to the directory where Arduino libraries are installed.
+ * 2. Navigate to the `esp-display-panel` folder, copy `ESP_Panel_Conf_Template.h` and place the copy outside the
+ * `esp-display-panel` folder at the same directory level. Then rename the copied file as `ESP_Panel_Conf.h`.
+ * 3. Finally, the layout of the Arduino Libraries folder with `ESP_Panel_Conf.h` appear as follows:
+ *
+ * ```
+ * Arduino
+ * |-libraries
+ * |-esp-display-panel
+ * |-other_lib_1
+ * |-other_lib_2
+ * |-ESP_Panel_Conf.h
+ * ```
+ *
+ * 4. Please refer to [Supported Boards List](https://github.com/esp-arduino-libs/esp-display-panel#supported-boards--drivers)
+ * to check if the current board is compatible. If it is compatible, please navigate to the "For Supported Boards" section;
+ * Otherwise, navigate to the "For Unsupported Boards" section.
+ *
+ * #### For Supported Board
+ *
+ * 1. Open `ESP_Panel_Conf.h` file. First, set the macro `ESP_PANEL_USE_SUPPORTED_BOARD` to `1` (default is `1`).
+ * Then, according to the name of your target development board, uncomment the macro definitions in the format
+ * `ESP_PANEL_BOARD_` below,
+ * 2. The following code takes *ESP32_S3_BOX* development board as an example:
+ *
+ * ```c
+ * ...
+ * // #define ESP_PANEL_BOARD_ESP32_C3_LCDKIT
+ * #define ESP_PANEL_BOARD_ESP32_S3_BOX
+ * // #define ESP_PANEL_BOARD_ESP32_S3_BOX_LITE
+ * ...
+ * ```
+ *
+ * #### For Unsupported Board
+ *
+ * Please refer to the [document](https://github.com/esp-arduino-libs/esp-display-panel#for-unsupported-board) for the details.
*
* ### Configure LVGL
*
- * 1. Go to the directory of the installed Arduino libraries
- * 2. Go to the `lvgl` folder, copy `lv_conf_template.h` and place it out of `lvgl` folder.
- * It should be at the same level as the `lvgl` folder. Then rename it as `lv_conf.h`.
- * Finally, the layout of the Arduino Libraries folder with `lv_conf.h` should look like this:
- * ```
- * Arduino
- * |-libraries
- * |-lv_conf.h
- * |-lvgl
- * |-other_lib_1
- * |-other_lib_2
- * ```
- * 3. Open `lv_conf.h` and change the first `#if 0` to `#if 1` to enable the content of the file.
- * 4. Set the following configurations:
- * ```c
- * #define LV_COLOR_DEPTH 16
- * #define LV_COLOR_16_SWAP 1 // This configuration is not for RGB LCD.
- * // Don't set it if using ESP32-S3-LCD-Ev-Board or ESP32-S3-LCD-Ev-Board-2
- * #define LV_MEM_CUSTOM 1
- * #define LV_MEMCPY_MEMSET_STD 1
- * #define LV_TICK_CUSTOM 1
- * #define LV_FONT_MONTSERRAT_12 1
- * #define LV_FONT_MONTSERRAT_16 1
- * #define LV_USE_DEMO_WIDGETS 1
- * #define LV_USE_DEMO_BENCHMARK 1
- * #define LV_USE_DEMO_STRESS 1
- * #define LV_USE_DEMO_MUSIC 1
- * ```
+ * 1. Navigate to the directory where Arduino libraries are installed.
+ * 2. Navigate to the `lvgl` folder, copy `lv_conf_template.h` and place the copy outside the `lvgl` folder at the
+ * same directory level. Then rename the copied file as `lv_conf.h`.
+ * 3. Finally, the layout of the Arduino Libraries folder with `lv_conf.h` appear as follows:
+ *
+ * ```
+ * Arduino
+ * |-libraries
+ * |-lv_conf.h
+ * |-lvgl
+ * |-other_lib_1
+ * |-other_lib_2
+ * ```
+ *
+ * 4. Open `lv_conf.h` and change the first `#if 0` to `#if 1` to enable the content of the file.
+ * 5. Set the following configurations:
+ *
+ * ```c
+ * #define LV_COLOR_DEPTH 16
+ * #define LV_COLOR_16_SWAP 1 // This configuration is not for RGB LCD.
+ * // Don't set it if using ESP32-S3-LCD-Ev-Board or ESP32-S3-LCD-Ev-Board-2
+ * #define LV_MEM_CUSTOM 1
+ * #define LV_MEMCPY_MEMSET_STD 1
+ * #define LV_TICK_CUSTOM 1
+ * #define LV_FONT_MONTSERRAT_12 1
+ * #define LV_FONT_MONTSERRAT_16 1
+ * #define LV_USE_DEMO_WIDGETS 1
+ * #define LV_USE_DEMO_BENCHMARK 1
+ * #define LV_USE_DEMO_STRESS 1
+ * #define LV_USE_DEMO_MUSIC 1
+ * ```
+ *
+ * 6. For more information, please refer to [LVGL document](https://docs.lvgl.io/8.3/get-started/platforms/arduino.html).
*
* ### Configure Board
*
@@ -69,6 +93,7 @@
* | :---------------------: | :----------------: | :------: | :---------: | :---------: | :--------------: | :---------------------: | :---------------: |
* | ESP32-C3-LCDkit | ESP32C3 Dev Module | Disabled | QIO | 4MB (32Mb) | Enabled | Default 4MB with spiffs | Info |
* | ESP32-S3-Box | ESP32-S3-Box | - | - | - | - | 16M Flash (3MB) | Info |
+ * | ESP32-S3-Box-3 | ESP32-S3-Box | - | - | - | - | 16M Flash (3MB) | Info |
* | ESP32-S3-Box-Lite | ESP32-S3-Box | - | - | - | - | 16M Flash (3MB) | Info |
* | ESP32-S3-EYE | ESP32S3 Dev Module | OPI | QIO 80MHz | 8MB | Enabled | 8M with spiffs | Info |
* | ESP32-S3-Korvo-2 | ESP32S3 Dev Module | OPI | QIO 80MHz | 16MB | Disabled | 16M Flash (3MB) | Info |
diff --git a/examples/LVGL/Porting/README.md b/examples/LVGL/Porting/README.md
index 601efacb..d53b265a 100644
--- a/examples/LVGL/Porting/README.md
+++ b/examples/LVGL/Porting/README.md
@@ -4,12 +4,15 @@ The example demonstrates how to port LVGL.
## How to Use
-To use this example, you need to install `esp-display-panel` (includes its dependent libraries) and `LVGL(v8.3.x)` library first, then follow the steps to configure them.
+To use this example, please firstly install esp-display-panel (includes its dependent libraries) and lvgl (v8.3.x) library, then follow the steps to configure them.
### Configure esp-display-panel
-1. Go to the directory of the installed Arduino libraries.
-2. Go to the `esp-display-panel` folder, copy `ESP_Panel_Conf_Template.h` and place it out of `esp-display-panel` folder. It should be at the same level as the `esp-display-panel` folder. Then rename it as `ESP_Panel_Conf.h`. Finally, the layout of the Arduino Libraries folder with `ESP_Panel_Conf.h` should look like this:
+esp-display-panel has its own configuration file called `ESP_Panel_Conf.h`. After installing esp-display-panel, follow these configuration steps:
+
+1. Navigate to the directory where Arduino libraries are installed.
+2. Navigate to the `esp-display-panel` folder, copy `ESP_Panel_Conf_Template.h` and place the copy outside the `esp-display-panel` folder at the same directory level. Then rename the copied file as `ESP_Panel_Conf.h`.
+3. Finally, the layout of the Arduino Libraries folder with `ESP_Panel_Conf.h` appear as follows:
```
Arduino
@@ -20,19 +23,30 @@ To use this example, you need to install `esp-display-panel` (includes its depen
|-ESP_Panel_Conf.h
```
-3. Open `ESP_Panel_Conf.h` and uncomment one of the following macros to select an supported development board. Taking `ESP32_S3_BOX` as an example:
+4. Please refer to [Supported Boards List](https://github.com/esp-arduino-libs/esp-display-panel#supported-boards--drivers) to check if the current board is compatible. If it is compatible, please navigate to the "For Supported Boards" section; Otherwise, navigate to the "For Unsupported Boards" section.
+
+#### For Supported Board
+
+1. Open `ESP_Panel_Conf.h` file. First, set the macro `ESP_PANEL_USE_SUPPORTED_BOARD` to `1` (default is `1`). Then, according to the name of your target development board, uncomment the macro definitions in the format `ESP_PANEL_BOARD_` below,
+2. The following code takes *ESP32_S3_BOX* development board as an example:
```c
+ ...
// #define ESP_PANEL_BOARD_ESP32_C3_LCDKIT
#define ESP_PANEL_BOARD_ESP32_S3_BOX
// #define ESP_PANEL_BOARD_ESP32_S3_BOX_LITE
...
```
+#### For Unsupported Board
+
+Please refer to the [document](https://github.com/esp-arduino-libs/esp-display-panel#for-unsupported-board) for the details.
+
### Configure LVGL
-1. Go to the directory of the installed Arduino libraries
-2. Go to the `lvgl` folder, copy `lv_conf_template.h` and place it out of `lvgl` folder. It should be at the same level as the `lvgl` folder. Then rename it as `lv_conf.h`. Finally, the layout of the Arduino Libraries folder with `lv_conf.h` should look like this:
+1. Navigate to the directory where Arduino libraries are installed.
+2. Navigate to the `lvgl` folder, copy `lv_conf_template.h` and place the copy outside the `lvgl` folder at the same directory level. Then rename the copied file as `lv_conf.h`.
+3. Finally, the layout of the Arduino Libraries folder with `lv_conf.h` appear as follows:
```
Arduino
@@ -43,8 +57,8 @@ To use this example, you need to install `esp-display-panel` (includes its depen
|-other_lib_2
```
-3. Open `lv_conf.h` and change the first `#if 0` to `#if 1` to enable the content of the file.
-4. Set the following configurations:
+4. Open `lv_conf.h` and change the first `#if 0` to `#if 1` to enable the content of the file.
+5. Set the following configurations:
```c
#define LV_COLOR_DEPTH 16
@@ -61,7 +75,7 @@ To use this example, you need to install `esp-display-panel` (includes its depen
#define LV_USE_DEMO_MUSIC 1
```
-5. See more details [here](https://docs.lvgl.io/8.3/get-started/platforms/arduino.html).
+6. For more information, please refer to [LVGL document](https://docs.lvgl.io/8.3/get-started/platforms/arduino.html).
### Configure Board
@@ -73,6 +87,7 @@ Go to the `Tools` in Arduino IDE to configure the following settings:
| :---------------------: | :----------------: | :------: | :---------: | :---------: | :--------------: | :---------------------: | :---------------: |
| ESP32-C3-LCDkit | ESP32C3 Dev Module | Disabled | QIO | 4MB (32Mb) | Enabled | Default 4MB with spiffs | Info |
| ESP32-S3-Box | ESP32-S3-Box | - | - | - | - | 16M Flash (3MB) | Info |
+| ESP32-S3-Box-3 | ESP32-S3-Box | - | - | - | - | 16M Flash (3MB) | Info |
| ESP32-S3-Box-Lite | ESP32-S3-Box | - | - | - | - | 16M Flash (3MB) | Info |
| ESP32-S3-EYE | ESP32S3 Dev Module | OPI | QIO 80MHz | 8MB | Enabled | 8M with spiffs | Info |
| ESP32-S3-Korvo-2 | ESP32S3 Dev Module | OPI | QIO 80MHz | 16MB | Disabled | 16M Flash (3MB) | Info |
diff --git a/examples/Panel/DrawColorBar/DrawColorBar.ino b/examples/Panel/DrawColorBar/DrawColorBar.ino
index 77f836c7..e1461dd9 100644
--- a/examples/Panel/DrawColorBar/DrawColorBar.ino
+++ b/examples/Panel/DrawColorBar/DrawColorBar.ino
@@ -3,41 +3,62 @@
*
* ## How to Use
*
- * To use this example, you need to install `esp-display-panel` (including its dependent libraries) library first,
+ * To use this example, please firstly install esp-display-panel and its dependent libraries,
* then follow the steps to configure:
*
* ### Configure esp-display-panel
*
- * 1. Go to the directory of the installed Arduino libraries.
- * 2. Go to the `esp-display-panel` folder, copy `ESP_Panel_Conf_Template.h` and place it out of `esp-display-panel` folder.
- * It should be at the same level as the `esp-display-panel` folder. Then rename it as `ESP_Panel_Conf.h`.
- * Finally, the layout of the Arduino Libraries folder with `ESP_Panel_Conf.h` should look like this:
- * ```
- * Arduino
- * |-libraries
- * |-esp-display-panel
- * |-other_lib_1
- * |-other_lib_2
- * |-ESP_Panel_Conf.h
- * ```
- * 3. Open `ESP_Panel_Conf.h` and uncomment one of the following macros to select an supported development board.
- * Taking `ESP32_S3_BOX` as an example:
- * ```c
- * // #define ESP_PANEL_BOARD_ESP32_C3_LCDKIT
- * #define ESP_PANEL_BOARD_ESP32_S3_BOX
- * // #define ESP_PANEL_BOARD_ESP32_S3_BOX_LITE
- * ...
- * ```
+ * esp-display-panel has its own configuration file called `ESP_Panel_Conf.h`. After installing esp-display-panel,
+ * follow these configuration steps:
+ *
+ * 1. Navigate to the directory where Arduino libraries are installed.
+ * 2. Navigate to the `esp-display-panel` folder, copy `ESP_Panel_Conf_Template.h` and place the copy outside the
+ * `esp-display-panel` folder at the same directory level. Then rename the copied file as `ESP_Panel_Conf.h`.
+ * 3. Finally, the layout of the Arduino Libraries folder with `ESP_Panel_Conf.h` appear as follows:
+ *
+ * ```
+ * Arduino
+ * |-libraries
+ * |-esp-display-panel
+ * |-other_lib_1
+ * |-other_lib_2
+ * |-ESP_Panel_Conf.h
+ * ```
+ *
+ * 4. Please refer to [Supported Boards List](https://github.com/esp-arduino-libs/esp-display-panel#supported-boards--drivers)
+ * to check if the current board is compatible. If it is compatible, please navigate to the "For Supported Boards" section;
+ * Otherwise, navigate to the "For Unsupported Boards" section.
+ *
+ * #### For Supported Board
+ *
+ * 1. Open `ESP_Panel_Conf.h` file. First, set the macro `ESP_PANEL_USE_SUPPORTED_BOARD` to `1` (default is `1`).
+ * Then, according to the name of your target development board, uncomment the macro definitions in the format
+ * `ESP_PANEL_BOARD_` below,
+ * 2. The following code takes *ESP32_S3_BOX* development board as an example:
+ *
+ * ```c
+ * ...
+ * // #define ESP_PANEL_BOARD_ESP32_C3_LCDKIT
+ * #define ESP_PANEL_BOARD_ESP32_S3_BOX
+ * // #define ESP_PANEL_BOARD_ESP32_S3_BOX_LITE
+ * ...
+ * ```
+ *
+ * #### For Unsupported Board
+ *
+ * Please refer to the [document](https://github.com/esp-arduino-libs/esp-display-panel#for-unsupported-board) for the details.
*
* ### Configure Board
*
* Below are recommended configurations for developing GUI applications on various development boards.
- * These settings can be adjusted based on specific requirements. Go to the `Tools` in Arduino IDE to configure the following settings:
+ * These settings can be adjusted based on specific requirements. Navigate to the `Tools` in Arduino IDE to configure
+ * the following settings:
*
* | Supported Boards | Selected Board: | PSRAM: | Flash Mode: | Flash Size: | USB CDC On Boot: | Partition Scheme: | Core Debug Level: |
* | :---------------------: | :----------------: | :------: | :---------: | :---------: | :--------------: | :---------------------: | :---------------: |
* | ESP32-C3-LCDkit | ESP32C3 Dev Module | Disabled | QIO | 4MB (32Mb) | Enabled | Default 4MB with spiffs | Info |
* | ESP32-S3-Box | ESP32-S3-Box | - | - | - | - | 16M Flash (3MB) | Info |
+ * | ESP32-S3-Box-3 | ESP32-S3-Box | - | - | - | - | 16M Flash (3MB) | Info |
* | ESP32-S3-Box-Lite | ESP32-S3-Box | - | - | - | - | 16M Flash (3MB) | Info |
* | ESP32-S3-EYE | ESP32S3 Dev Module | OPI | QIO 80MHz | 8MB | Enabled | 8M with spiffs | Info |
* | ESP32-S3-Korvo-2 | ESP32S3 Dev Module | OPI | QIO 80MHz | 16MB | Disabled | 16M Flash (3MB) | Info |
diff --git a/examples/Panel/DrawColorBar/README.md b/examples/Panel/DrawColorBar/README.md
index 10f20dae..e8f8950c 100644
--- a/examples/Panel/DrawColorBar/README.md
+++ b/examples/Panel/DrawColorBar/README.md
@@ -4,12 +4,15 @@ The example demonstrates how to draw simple color bar.
## How to Use
-To use this example, you need to install `esp-display-panel` (includes its dependent libraries) library first, then follow the steps to configure.
+To use this example, please firstly install esp-display-panel and its dependent libraries, then follow the steps to configure:
### Configure esp-display-panel
-1. Go to the directory of the installed Arduino libraries.
-2. Go to the `esp-display-panel` folder, copy `ESP_Panel_Conf_Template.h` and place it out of `esp-display-panel` folder. It should be at the same level as the `esp-display-panel` folder. Then rename it as `ESP_Panel_Conf.h`. Finally, the layout of the Arduino Libraries folder with `ESP_Panel_Conf.h` should look like this:
+esp-display-panel has its own configuration file called `ESP_Panel_Conf.h`. After installing esp-display-panel, follow these configuration steps:
+
+1. Navigate to the directory where Arduino libraries are installed.
+2. Navigate to the `esp-display-panel` folder, copy `ESP_Panel_Conf_Template.h` and place the copy outside the `esp-display-panel` folder at the same directory level. Then rename the copied file as `ESP_Panel_Conf.h`.
+3. Finally, the layout of the Arduino Libraries folder with `ESP_Panel_Conf.h` appear as follows:
```
Arduino
@@ -20,15 +23,25 @@ To use this example, you need to install `esp-display-panel` (includes its depen
|-ESP_Panel_Conf.h
```
-3. Open `ESP_Panel_Conf.h` and uncomment one of the following macros to select an supported development board. Taking `ESP32_S3_BOX` as an example:
+4. Please refer to [Supported Boards List](https://github.com/esp-arduino-libs/esp-display-panel#supported-boards--drivers) to check if the current board is compatible. If it is compatible, please navigate to the "For Supported Boards" section; Otherwise, navigate to the "For Unsupported Boards" section.
+
+#### For Supported Board
+
+1. Open `ESP_Panel_Conf.h` file. First, set the macro `ESP_PANEL_USE_SUPPORTED_BOARD` to `1` (default is `1`). Then, according to the name of your target development board, uncomment the macro definitions in the format `ESP_PANEL_BOARD_` below,
+2. The following code takes *ESP32_S3_BOX* development board as an example:
```c
+ ...
// #define ESP_PANEL_BOARD_ESP32_C3_LCDKIT
#define ESP_PANEL_BOARD_ESP32_S3_BOX
// #define ESP_PANEL_BOARD_ESP32_S3_BOX_LITE
...
```
+#### For Unsupported Board
+
+Please refer to the [document](https://github.com/esp-arduino-libs/esp-display-panel#for-unsupported-board) for the details.
+
### Configure Board
Below are recommended configurations for developing GUI applications on various development boards. These settings can be adjusted based on specific requirements.
@@ -39,6 +52,7 @@ Go to the `Tools` in Arduino IDE to configure the following settings:
| :---------------------: | :----------------: | :------: | :---------: | :---------: | :--------------: | :---------------------: | :---------------: |
| ESP32-C3-LCDkit | ESP32C3 Dev Module | Disabled | QIO | 4MB (32Mb) | Enabled | Default 4MB with spiffs | Info |
| ESP32-S3-Box | ESP32-S3-Box | - | - | - | - | 16M Flash (3MB) | Info |
+| ESP32-S3-Box-3 | ESP32-S3-Box | - | - | - | - | 16M Flash (3MB) | Info |
| ESP32-S3-Box-Lite | ESP32-S3-Box | - | - | - | - | 16M Flash (3MB) | Info |
| ESP32-S3-EYE | ESP32S3 Dev Module | OPI | QIO 80MHz | 8MB | Enabled | 8M with spiffs | Info |
| ESP32-S3-Korvo-2 | ESP32S3 Dev Module | OPI | QIO 80MHz | 16MB | Disabled | 16M Flash (3MB) | Info |
diff --git a/examples/Panel/ReadTouchPoint/README.md b/examples/Panel/ReadTouchPoint/README.md
index ff8baad6..d64e6794 100644
--- a/examples/Panel/ReadTouchPoint/README.md
+++ b/examples/Panel/ReadTouchPoint/README.md
@@ -4,12 +4,15 @@ The example demonstrates how to read touch point.
## How to Use
-To use this example, you need to install `esp-display-panel` (includes its dependent libraries) library first, then follow the steps to configure.
+To use this example, please firstly install esp-display-panel and its dependent libraries, then follow the steps to configure:
### Configure esp-display-panel
-1. Go to the directory of the installed Arduino libraries.
-2. Go to the `esp-display-panel` folder, copy `ESP_Panel_Conf_Template.h` and place it out of `esp-display-panel` folder. It should be at the same level as the `esp-display-panel` folder. Then rename it as `ESP_Panel_Conf.h`. Finally, the layout of the Arduino Libraries folder with `ESP_Panel_Conf.h` should look like this:
+esp-display-panel has its own configuration file called `ESP_Panel_Conf.h`. After installing esp-display-panel, follow these configuration steps:
+
+1. Navigate to the directory where Arduino libraries are installed.
+2. Navigate to the `esp-display-panel` folder, copy `ESP_Panel_Conf_Template.h` and place the copy outside the `esp-display-panel` folder at the same directory level. Then rename the copied file as `ESP_Panel_Conf.h`.
+3. Finally, the layout of the Arduino Libraries folder with `ESP_Panel_Conf.h` appear as follows:
```
Arduino
@@ -20,15 +23,25 @@ To use this example, you need to install `esp-display-panel` (includes its depen
|-ESP_Panel_Conf.h
```
-3. Open `ESP_Panel_Conf.h` and uncomment one of the following macros to select an supported development board. Taking `ESP32_S3_BOX` as an example:
+4. Please refer to [Supported Boards List](https://github.com/esp-arduino-libs/esp-display-panel#supported-boards--drivers) to check if the current board is compatible. If it is compatible, please navigate to the "For Supported Boards" section; Otherwise, navigate to the "For Unsupported Boards" section.
+
+#### For Supported Board
+
+1. Open `ESP_Panel_Conf.h` file. First, set the macro `ESP_PANEL_USE_SUPPORTED_BOARD` to `1` (default is `1`). Then, according to the name of your target development board, uncomment the macro definitions in the format `ESP_PANEL_BOARD_` below,
+2. The following code takes *ESP32_S3_BOX* development board as an example:
```c
+ ...
// #define ESP_PANEL_BOARD_ESP32_C3_LCDKIT
#define ESP_PANEL_BOARD_ESP32_S3_BOX
// #define ESP_PANEL_BOARD_ESP32_S3_BOX_LITE
...
```
+#### For Unsupported Board
+
+Please refer to the [document](https://github.com/esp-arduino-libs/esp-display-panel#for-unsupported-board) for the details.
+
### Configure Board
Below are recommended configurations for developing GUI applications on various development boards. These settings can be adjusted based on specific requirements.
@@ -39,6 +52,7 @@ Go to the `Tools` in Arduino IDE to configure the following settings:
| :---------------------: | :----------------: | :------: | :---------: | :---------: | :--------------: | :---------------------: | :---------------: |
| ESP32-C3-LCDkit | ESP32C3 Dev Module | Disabled | QIO | 4MB (32Mb) | Enabled | Default 4MB with spiffs | Info |
| ESP32-S3-Box | ESP32-S3-Box | - | - | - | - | 16M Flash (3MB) | Info |
+| ESP32-S3-Box-3 | ESP32-S3-Box | - | - | - | - | 16M Flash (3MB) | Info |
| ESP32-S3-Box-Lite | ESP32-S3-Box | - | - | - | - | 16M Flash (3MB) | Info |
| ESP32-S3-EYE | ESP32S3 Dev Module | OPI | QIO 80MHz | 8MB | Enabled | 8M with spiffs | Info |
| ESP32-S3-Korvo-2 | ESP32S3 Dev Module | OPI | QIO 80MHz | 16MB | Disabled | 16M Flash (3MB) | Info |
diff --git a/examples/Panel/ReadTouchPoint/ReadTouchPoint.ino b/examples/Panel/ReadTouchPoint/ReadTouchPoint.ino
index d9f9a11c..824c69b5 100644
--- a/examples/Panel/ReadTouchPoint/ReadTouchPoint.ino
+++ b/examples/Panel/ReadTouchPoint/ReadTouchPoint.ino
@@ -3,31 +3,50 @@
*
* ## How to Use
*
- * To use this example, you need to install `esp-display-panel` (including its dependent libraries)library first,
+ * To use this example, please firstly install esp-display-panel and its dependent libraries,
* then follow the steps to configure:
*
* ### Configure esp-display-panel
*
- * 1. Go to the directory of the installed Arduino libraries.
- * 2. Go to the `esp-display-panel` folder, copy `ESP_Panel_Conf_Template.h` and place it out of `esp-display-panel` folder.
- * It should be at the same level as the `esp-display-panel` folder. Then rename it as `ESP_Panel_Conf.h`.
- * Finally, the layout of the Arduino Libraries folder with `ESP_Panel_Conf.h` should look like this:
- * ```
- * Arduino
- * |-libraries
- * |-esp-display-panel
- * |-other_lib_1
- * |-other_lib_2
- * |-ESP_Panel_Conf.h
- * ```
- * 3. Open `ESP_Panel_Conf.h` and uncomment one of the following macros to select an supported development board.
- * Taking `ESP32_S3_BOX` as an example:
- * ```c
- * // #define ESP_PANEL_BOARD_ESP32_C3_LCDKIT
- * #define ESP_PANEL_BOARD_ESP32_S3_BOX
- * // #define ESP_PANEL_BOARD_ESP32_S3_BOX_LITE
- * ...
- * ```
+ * esp-display-panel has its own configuration file called `ESP_Panel_Conf.h`. After installing esp-display-panel,
+ * follow these configuration steps:
+ *
+ * 1. Navigate to the directory where Arduino libraries are installed.
+ * 2. Navigate to the `esp-display-panel` folder, copy `ESP_Panel_Conf_Template.h` and place the copy outside the
+ * `esp-display-panel` folder at the same directory level. Then rename the copied file as `ESP_Panel_Conf.h`.
+ * 3. Finally, the layout of the Arduino Libraries folder with `ESP_Panel_Conf.h` appear as follows:
+ *
+ * ```
+ * Arduino
+ * |-libraries
+ * |-esp-display-panel
+ * |-other_lib_1
+ * |-other_lib_2
+ * |-ESP_Panel_Conf.h
+ * ```
+ *
+ * 4. Please refer to [Supported Boards List](https://github.com/esp-arduino-libs/esp-display-panel#supported-boards--drivers)
+ * to check if the current board is compatible. If it is compatible, please navigate to the "For Supported Boards" section;
+ * Otherwise, navigate to the "For Unsupported Boards" section.
+ *
+ * #### For Supported Board
+ *
+ * 1. Open `ESP_Panel_Conf.h` file. First, set the macro `ESP_PANEL_USE_SUPPORTED_BOARD` to `1` (default is `1`).
+ * Then, according to the name of your target development board, uncomment the macro definitions in the format
+ * `ESP_PANEL_BOARD_` below,
+ * 2. The following code takes *ESP32_S3_BOX* development board as an example:
+ *
+ * ```c
+ * ...
+ * // #define ESP_PANEL_BOARD_ESP32_C3_LCDKIT
+ * #define ESP_PANEL_BOARD_ESP32_S3_BOX
+ * // #define ESP_PANEL_BOARD_ESP32_S3_BOX_LITE
+ * ...
+ * ```
+ *
+ * #### For Unsupported Board
+ *
+ * Please refer to the [document](https://github.com/esp-arduino-libs/esp-display-panel#for-unsupported-board) for the details.
*
* ### Configure Board
*
@@ -38,6 +57,7 @@
* | :---------------------: | :----------------: | :------: | :---------: | :---------: | :--------------: | :---------------------: | :---------------: |
* | ESP32-C3-LCDkit | ESP32C3 Dev Module | Disabled | QIO | 4MB (32Mb) | Enabled | Default 4MB with spiffs | Info |
* | ESP32-S3-Box | ESP32-S3-Box | - | - | - | - | 16M Flash (3MB) | Info |
+ * | ESP32-S3-Box-3 | ESP32-S3-Box | - | - | - | - | 16M Flash (3MB) | Info |
* | ESP32-S3-Box-Lite | ESP32-S3-Box | - | - | - | - | 16M Flash (3MB) | Info |
* | ESP32-S3-EYE | ESP32S3 Dev Module | OPI | QIO 80MHz | 8MB | Enabled | 8M with spiffs | Info |
* | ESP32-S3-Korvo-2 | ESP32S3 Dev Module | OPI | QIO 80MHz | 16MB | Disabled | 16M Flash (3MB) | Info |
diff --git a/src/ESP_Panel_Conf_Internal.h b/src/ESP_Panel_Conf_Internal.h
index 74a513f9..cea6c6da 100644
--- a/src/ESP_Panel_Conf_Internal.h
+++ b/src/ESP_Panel_Conf_Internal.h
@@ -56,6 +56,8 @@
#include "board/esp32_c3_lcdkit.h"
#elif defined(ESP_PANEL_BOARD_ESP32_S3_BOX) || CONFIG_ESP_PANEL_BOARD_ESP32_S3_BOX
#include "board/esp32_s3_box.h"
+ #elif defined(ESP_PANEL_BOARD_ESP32_S3_BOX_3) || CONFIG_ESP_PANEL_BOARD_ESP32_S3_BOX_3
+ #include "board/esp32_s3_box_3.h"
#elif defined(ESP_PANEL_BOARD_ESP32_S3_BOX_LITE) || CONFIG_ESP_PANEL_BOARD_ESP32_S3_BOX_LITE
#include "board/esp32_s3_box_lite.h"
#elif defined(ESP_PANEL_BOARD_ESP32_S3_EYE) || CONFIG_ESP_PANEL_BOARD_ESP32_S3_EYE
diff --git a/src/board/esp32_s3_box_3.h b/src/board/esp32_s3_box_3.h
new file mode 100644
index 00000000..e22b7ee8
--- /dev/null
+++ b/src/board/esp32_s3_box_3.h
@@ -0,0 +1,147 @@
+/*
+ * SPDX-FileCopyrightText: 2023 Espressif Systems (Shanghai) CO LTD
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ */
+#ifndef ESP32_S3_BOX_3_H
+#define ESP32_S3_BOX_3_H
+
+/* For more information about it, please visit here: https://github.com/espressif/esp-box/tree/master */
+
+/*-------------------------------- LCD Related --------------------------------*/
+/* Set to 0 if not using LCD */
+#define ESP_PANEL_USE_LCD (1)
+/**
+ * LCD controller name.
+ */
+#define ESP_PANEL_LCD_NAME ST7789
+
+/* LCD resolution in pixels */
+#define ESP_PANEL_LCD_H_RES (320)
+#define ESP_PANEL_LCD_V_RES (240)
+
+/* LCD Bus Settings */
+/**
+ * If set to 1, the bus will skip to initialize the corresponding host. Users need to initialize the host in advance.
+ * It is useful if other devices use the same host. Please ensure that the host is initialized only once.
+ */
+#define ESP_PANEL_LCD_BUS_SKIP_INIT_HOST (0)
+/**
+ * LCD bus type. Choose one of the following:
+ * - 0: I2C (not supported yet)
+ * - 1: SPI
+ * - 2: I80 (not supported yet)
+ * - 3: RGB
+ */
+#define ESP_PANEL_LCD_BUS_TYPE (1)
+/**
+ * LCD bus parameters.
+ *
+ * Please refer to https://docs.espressif.com/projects/esp-idf/en/latest/esp32s3/api-reference/peripherals/lcd.html for details.
+ */
+#define ESP_PANEL_LCD_BUS_HOST_ID (1)
+#define ESP_PANEL_LCD_SPI_IO_CS (5)
+#define ESP_PANEL_LCD_SPI_IO_DC (4)
+#define ESP_PANEL_LCD_SPI_MODE (0)
+#define ESP_PANEL_LCD_SPI_CLK_HZ (40 * 1000 * 1000)
+#define ESP_PANEL_LCD_SPI_TRANS_QUEUE_SZ (10)
+#define ESP_PANEL_LCD_SPI_CMD_BITS (8)
+#define ESP_PANEL_LCD_SPI_PARAM_BITS (8)
+#define ESP_PANEL_LCD_SPI_IO_SCK (7)
+#define ESP_PANEL_LCD_SPI_IO_MOSI (6)
+#define ESP_PANEL_LCD_SPI_IO_MISO (-1)
+
+/* LCD Color Settings */
+/* LCD color depth in bits */
+#define ESP_PANEL_LCD_COLOR_BITS (16)
+/*
+ * LCD Color Space. Choose one of the following:
+ * - 0: RGB
+ * - 1: BGR
+ */
+#define ESP_PANEL_LCD_COLOR_SPACE (1)
+#define ESP_PANEL_LCD_INEVRT_COLOR (0)
+
+/* LCD Transformation Flags */
+#define ESP_PANEL_LCD_SWAP_XY (0)
+#define ESP_PANEL_LCD_MIRROR_X (1)
+#define ESP_PANEL_LCD_MIRROR_Y (1)
+
+/* LCD Other Settings */
+/* IO num of RESET pin, set to -1 if not use */
+#define ESP_PANEL_LCD_IO_RST (48)
+#define ESP_PANEL_LCD_RST_LEVEL (1)
+
+/*-------------------------------- LCD Touch Related --------------------------------*/
+/* Set to 0 if not using LCD touch */
+#define ESP_PANEL_USE_LCD_TOUCH (1)
+/**
+ * LCD Touch IC name.
+ */
+#define ESP_PANEL_LCD_TOUCH_NAME TT21100
+
+/* LCD Touch resolution in pixels */
+#define ESP_PANEL_LCD_TOUCH_H_RES (ESP_PANEL_LCD_H_RES)
+#define ESP_PANEL_LCD_TOUCH_V_RES (ESP_PANEL_LCD_V_RES)
+
+/* LCD Touch Bus Settings */
+/**
+ * If set to 1, the bus will skip to initialize the corresponding host. Users need to initialize the host in advance.
+ * It is useful if other devices use the same host. Please ensure that the host is initialized only once.
+ */
+#define ESP_PANEL_LCD_TOUCH_BUS_SKIP_INIT_HOST (0)
+/**
+ * LCD touch bus type. Choose one of the following:
+ * - 0: I2C
+ * - 1: SPI
+ */
+#define ESP_PANEL_LCD_TOUCH_BUS_TYPE (0)
+/**
+ * LCD touch bus parameters.
+ *
+ * Please refer to https://docs.espressif.com/projects/esp-idf/en/latest/esp32s3/api-reference/peripherals/lcd.html for details.
+ */
+#define ESP_PANEL_LCD_TOUCH_BUS_HOST_ID (0)
+#define ESP_PANEL_LCD_TOUCH_I2C_CLK_HZ (400 * 1000)
+#define ESP_PANEL_LCD_TOUCH_I2C_SCL_PULLUP (0)
+#define ESP_PANEL_LCD_TOUCH_I2C_SDA_PULLUP (0)
+#define ESP_PANEL_LCD_TOUCH_I2C_IO_SCL (18)
+#define ESP_PANEL_LCD_TOUCH_I2C_IO_SDA (8)
+
+/* LCD Touch Transformation Flags */
+#define ESP_PANEL_LCD_TOUCH_SWAP_XY (0)
+#define ESP_PANEL_LCD_TOUCH_MIRROR_X (1)
+#define ESP_PANEL_LCD_TOUCH_MIRROR_Y (0)
+
+/* LCD Touch Other Settings */
+#define ESP_PANEL_LCD_TOUCH_IO_RST (-1)
+#define ESP_PANEL_LCD_TOUCH_IO_INT (3)
+#define ESP_PANEL_LCD_TOUCH_RST_LEVEL (0)
+#define ESP_PANEL_LCD_TOUCH_INT_LEVEL (0)
+
+/*-------------------------------- Backlight Related --------------------------------*/
+#define ESP_PANEL_USE_BL (1)
+
+/* IO num of backlight pin */
+#define ESP_PANEL_LCD_IO_BL (47)
+
+/* If the backlight is on when high level, set to 1; otherwise to 0 */
+#define ESP_PANEL_LCD_BL_ON_LEVEL (1)
+
+/* Set to 1 if use PWM for backlight brightness control. */
+#define ESP_PANEL_LCD_BL_USE_PWM (1)
+
+/**
+ * Backlight LEDC Parameters.
+ *
+ * Please refer to https://docs.espressif.com/projects/esp-idf/en/latest/esp32s3/api-reference/peripherals/ledc.html for details.
+ */
+#define ESP_PANEL_LCD_BL_PWM_TIMER (0)
+#define ESP_PANEL_LCD_BL_PWM_CHANNEL (0)
+#define ESP_PANEL_LCD_BL_PWM_RESOLUTION (10)
+#define ESP_PANEL_LCD_BL_PWM_FREQ_HZ (5000)
+
+/*-------------------------------- Others --------------------------------*/
+/* Assert on error. Otherwise return error code */
+#define ESP_PANEL_CHECK_RESULT_ASSERT (0)
+#endif
diff --git a/test_apps/sdkconfig.defaults.esp32_s3_box_3 b/test_apps/sdkconfig.defaults.esp32_s3_box_3
new file mode 100644
index 00000000..bb00a218
--- /dev/null
+++ b/test_apps/sdkconfig.defaults.esp32_s3_box_3
@@ -0,0 +1,6 @@
+CONFIG_IDF_TARGET="esp32s3"
+CONFIG_ESP32S3_DEFAULT_CPU_FREQ_240=y
+CONFIG_ESP_CONSOLE_USB_SERIAL_JTAG=y
+# CONFIG_ESP_TASK_WDT is not set
+CONFIG_FREERTOS_HZ=1000
+CONFIG_ESP_PANEL_BOARD_ESP32_S3_BOX_3=y