Skip to content

Commit d4517f4

Browse files
trevarjJamie C. Driver
authored andcommitted
diy: add support for Waveshare Touch LCD 2
The Waveshare Touch LCD 2 is an ESP32-S3 board with a capacitive touch screen and camera.
1 parent 680ef1a commit d4517f4

File tree

11 files changed

+197
-20
lines changed

11 files changed

+197
-20
lines changed
Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,72 @@
1+
CONFIG_APP_NO_BLOBS=y
2+
CONFIG_APP_REPRODUCIBLE_BUILD=y
3+
CONFIG_BF20A6_SUPPORT=n
4+
CONFIG_BF3005_SUPPORT=n
5+
CONFIG_BOARD_TYPE_WS_TOUCH_LCD2=y
6+
CONFIG_BOOTLOADER_APP_ROLLBACK_ENABLE=y
7+
CONFIG_BOOTLOADER_WDT_ENABLE=n
8+
CONFIG_BUTTON_LONG_PRESS_HOLD_SERIAL_TIME_MS=100
9+
CONFIG_BUTTON_LONG_PRESS_TIME_MS=500
10+
CONFIG_COMPILER_OPTIMIZATION_CHECKS_SILENT=y
11+
CONFIG_COMPILER_OPTIMIZATION_SIZE=y
12+
CONFIG_COMPILER_STACK_CHECK_MODE_STRONG=y
13+
CONFIG_COMPILER_WARN_WRITE_STRINGS=y
14+
CONFIG_DEBUG_MODE=y
15+
CONFIG_ESPTOOLPY_FLASHMODE_QIO=y
16+
CONFIG_ESPTOOLPY_FLASHSIZE_16MB=y
17+
CONFIG_ESP_CONSOLE_USB_SERIAL_JTAG=y
18+
CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_240=y
19+
CONFIG_ESP_ERR_TO_NAME_LOOKUP=n
20+
CONFIG_ESP_MAIN_TASK_STACK_SIZE=12288
21+
CONFIG_ESP_SLEEP_FLASH_LEAKAGE_WORKAROUND=n
22+
CONFIG_ESP_SLEEP_GPIO_RESET_WORKAROUND=n
23+
CONFIG_ESP_SYSTEM_BBPLL_RECALIB=n
24+
CONFIG_ESP_SYSTEM_PANIC_PRINT_HALT=y
25+
CONFIG_ESP_TASK_WDT_EN=n
26+
CONFIG_ESP_WIFI_AMPDU_RX_ENABLED=n
27+
CONFIG_ESP_WIFI_AMPDU_TX_ENABLED=n
28+
CONFIG_ESP_WIFI_IRAM_OPT=n
29+
CONFIG_ESP_WIFI_MBEDTLS_TLS_CLIENT=n
30+
CONFIG_ESP_WIFI_NVS_ENABLED=n
31+
CONFIG_ESP_WIFI_RX_IRAM_OPT=n
32+
CONFIG_ESP_WIFI_SOFTAP_SUPPORT=n
33+
CONFIG_ETH_USE_SPI_ETHERNET=n
34+
CONFIG_FATFS_LFN_HEAP=y
35+
CONFIG_FATFS_VFS_FSTAT_BLKSIZE=4096
36+
CONFIG_FATFS_VOLUME_COUNT=1
37+
CONFIG_FREERTOS_THREAD_LOCAL_STORAGE_POINTERS=3
38+
CONFIG_GC032A_SUPPORT=n
39+
CONFIG_GC2145_SUPPORT=n
40+
CONFIG_IDF_TARGET="esp32s3"
41+
CONFIG_MBEDTLS_CERTIFICATE_BUNDLE=n
42+
CONFIG_MBEDTLS_ECP_RESTARTABLE=y
43+
CONFIG_NEWLIB_NANO_FORMAT=y
44+
CONFIG_NEWLIB_STDIN_LINE_ENDING_LF=y
45+
CONFIG_NEWLIB_STDOUT_LINE_ENDING_LF=y
46+
CONFIG_NT99141_SUPPORT=n
47+
CONFIG_OV2640_SUPPORT=n
48+
CONFIG_OV3660_SUPPORT=n
49+
CONFIG_OV7670_SUPPORT=n
50+
CONFIG_OV7725_SUPPORT=n
51+
CONFIG_PARTITION_TABLE_CUSTOM=y
52+
CONFIG_PARTITION_TABLE_CUSTOM_FILENAME="partitionss3.csv"
53+
CONFIG_PERIPH_CTRL_FUNC_IN_IRAM=y
54+
CONFIG_PM_POWER_DOWN_CPU_IN_LIGHT_SLEEP=n
55+
CONFIG_SC030IOT_SUPPORT=n
56+
CONFIG_SPIRAM=y
57+
CONFIG_SPIRAM_ALLOW_BSS_SEG_EXTERNAL_MEMORY=y
58+
CONFIG_SPIRAM_FETCH_INSTRUCTIONS=y
59+
CONFIG_SPIRAM_MALLOC_ALWAYSINTERNAL=256
60+
CONFIG_SPIRAM_MALLOC_RESERVE_INTERNAL=65536
61+
CONFIG_SPIRAM_MEMTEST=n
62+
CONFIG_SPIRAM_MODE_OCT=y
63+
CONFIG_SPIRAM_RODATA=y
64+
CONFIG_SPIRAM_SPEED_80M=y
65+
CONFIG_SPIRAM_TRY_ALLOCATE_WIFI_LWIP=y
66+
CONFIG_SPI_FLASH_VERIFY_WRITE=y
67+
CONFIG_SPI_MASTER_ISR_IN_IRAM=n
68+
CONFIG_SPI_SLAVE_ISR_IN_IRAM=n
69+
CONFIG_TINYUSB_CDC_ENABLED=y
70+
CONFIG_TINYUSB_CDC_RX_BUFSIZE=64
71+
CONFIG_TINYUSB_DESC_MANUFACTURER_STRING="Waveshare"
72+
CONFIG_TINYUSB_DESC_PRODUCT_STRING="S3 Touch LCD 2"

dependencies.lock.esp32

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,20 @@ dependencies:
5050
registry_url: https://components.espressif.com/
5151
type: service
5252
version: 1.1.2
53+
espressif/esp_lcd_touch_cst816s:
54+
component_hash: 270bd7df3a2a5cffa3a626c4709fc03237d83fd9daa6fb70c833a2f1875f0f68
55+
dependencies:
56+
- name: idf
57+
require: private
58+
version: '>=4.4.2'
59+
- name: espressif/esp_lcd_touch
60+
registry_url: https://components.espressif.com
61+
require: public
62+
version: ^1.0.4
63+
source:
64+
registry_url: https://components.espressif.com/
65+
type: service
66+
version: 1.0.3
5367
espressif/esp_lcd_touch_ft5x06:
5468
component_hash: abaec05f46a793549b60afdda9eff86e3c8e87782c8c169007911232388d2858
5569
dependencies:
@@ -94,10 +108,11 @@ direct_dependencies:
94108
- espressif/cmake_utilities
95109
- espressif/esp32-camera
96110
- espressif/esp_lcd_touch
111+
- espressif/esp_lcd_touch_cst816s
97112
- espressif/esp_lcd_touch_ft5x06
98113
- espressif/libsodium
99114
- espressif/nghttp
100115
- idf
101-
manifest_hash: fb52c4b033ad1633132692f52acbb150cb425e3d340af1542a0a3e1aa0bbdc0b
116+
manifest_hash: 8aabb1df6dec46d13c116ad3c0bdc497be51d44771487c36a71a7b82a9d6a2f0
102117
target: esp32
103118
version: 2.0.0

dependencies.lock.esp32s3

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,20 @@ dependencies:
6060
registry_url: https://components.espressif.com/
6161
type: service
6262
version: 1.1.2
63+
espressif/esp_lcd_touch_cst816s:
64+
component_hash: 270bd7df3a2a5cffa3a626c4709fc03237d83fd9daa6fb70c833a2f1875f0f68
65+
dependencies:
66+
- name: idf
67+
require: private
68+
version: '>=4.4.2'
69+
- name: espressif/esp_lcd_touch
70+
registry_url: https://components.espressif.com
71+
require: public
72+
version: ^1.0.4
73+
source:
74+
registry_url: https://components.espressif.com/
75+
type: service
76+
version: 1.0.3
6377
espressif/esp_lcd_touch_ft5x06:
6478
component_hash: abaec05f46a793549b60afdda9eff86e3c8e87782c8c169007911232388d2858
6579
dependencies:
@@ -147,13 +161,14 @@ direct_dependencies:
147161
- espressif/esp-dsp
148162
- espressif/esp32-camera
149163
- espressif/esp_lcd_touch
164+
- espressif/esp_lcd_touch_cst816s
150165
- espressif/esp_lcd_touch_ft5x06
151166
- espressif/esp_tinyusb
152167
- espressif/libsodium
153168
- espressif/nghttp
154169
- espressif/tinyusb
155170
- espressif/usb_host_msc
156171
- idf
157-
manifest_hash: fb52c4b033ad1633132692f52acbb150cb425e3d340af1542a0a3e1aa0bbdc0b
172+
manifest_hash: 8aabb1df6dec46d13c116ad3c0bdc497be51d44771487c36a71a7b82a9d6a2f0
158173
target: esp32s3
159174
version: 2.0.0

diy/README.md

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -119,6 +119,20 @@ There are a number of hardware devices that can run Jade firmware with minimal c
119119
* [3d printed case, example STL files available here](https://www.printables.com/model/493485-cases-for-diy-jade-based-on-esp32-cam)
120120
* [Assembly Guide & Hardware Notes](./esp32-cam/)
121121

122+
### Waveshare S3 Touch LCD 2
123+
![](img/ws-touch-lcd2.jpg)
124+
* Costs ~$20 USD from manufacturer
125+
* Touch screen interface (virtual buttons)
126+
* Wifi/Bluetooth
127+
* Easy USB debugging and flashing
128+
* Typically supports Secure Boot V2
129+
* Hardware Required (No Soldering Required)
130+
* [Waveshare S3 Touch LCD 2](https://www.waveshare.com/product/esp32-s3-touch-lcd-2.htm)
131+
* OV5640 Camera module (optionally included in purchase)
132+
* 3.7V Lithium battery with MX1.25 connector (optional)
133+
* Build [config](../configs/sdkconfig_display_waveshares3_touch_lcd2.defaults)
134+
(BT/WIFI disabled)
135+
122136
# Modifying Configuration Files for Use
123137
Once you are familiar with the process of flashing the firmware using the sdkconfig templates that are included in the /config folder of this repository, there are some additional changes that you should make to these files before using the device with actual funds.
124138

diy/img/ws-touch-lcd2.jpg

89.5 KB
Loading

0 commit comments

Comments
 (0)