example

Example of the component espp/ws-s3-lcd-1-47 v1.0.17
# Waveshare ESP32-S3-LCD-1.47 Example

This example shows how to use the `espp::WsS3Lcd147` hardware abstraction
component initialize the components on the Waveshare ESP32-S3-LCD-1.47.

It initializes the display, button, and RGB LED subsystems.

<img width="1260" height="949" alt="image" src="https://github.com/user-attachments/assets/f90e2100-613f-4d09-84fb-19184df8d7a6" />

## How to use example

### Hardware Required

This example is designed to run on the [Waveshare
ESP32-S3-LCD-1.47](https://www.waveshare.com/wiki/ESP32-S3-LCD-1.47) dev board
which has:

* WiFi / BLE
* uSD card
* Color TFT LCD (ST7789, 172x320 1.47" IPS LCD)
* Boot Button
* RGB LED

##### Waveshare ESP32-S3-LCD-1.47 Pin Configuration

| LCD Pin   | ESP32S3 IO Pin Number |
|-----------|-----------------------|
| MOSI      | 45                    |
| SCLK      | 40                    |
| CS        | 42                    |
| DC        | 41                    |
| Reset     | 39                    |
| Backlight | 48                    |

| TF / uSD Card Pin | ESP32S3 IO Pin Number |
|-------------------|-----------------------|
| D0                | 16                    |
| D1                | 18                    |
| D2                | 17                    |
| D3                | 21                    |
| CLK               | 14                    |
| CMD               | 15                    |

| Misc    | ESP32S3 IO Pin Number |
|---------|-----------------------|
| RGB LED | 38                    |


### Build and Flash

Build the project and flash it to the board, then run monitor tool to view
serial output:

```
idf.py -p PORT flash monitor
```

(Replace PORT with the name of the serial port to use.)

(To exit the serial monitor, type ``Ctrl-]``.)

See the Getting Started Guide for full steps to configure and use ESP-IDF to build projects.

### Example Output

```console
I (350) main_task: Calling app_main()
[WsS3Lcd147 Example/I][0.026]: Starting example!
[WsS3Lcd147/I][0.032]: Initializing LCD...
I (364) gpio: GPIO[39]| InputEn: 0| OutputEn: 1| OpenDrain: 0| Pullup: 0| Pulldown: 0| Intr:0
I (372) gpio: GPIO[41]| InputEn: 0| OutputEn: 1| OpenDrain: 0| Pullup: 0| Pulldown: 0| Intr:0
[WsS3Lcd147/I][0.454]: Initializing display with pixel buffer size: 16000 bytes
W (782) ledc: the binded timer can't keep alive in sleep
[WsS3Lcd147/I][0.459]: Initializing SD card
I (788) gpio: GPIO[14]| InputEn: 0| OutputEn: 0| OpenDrain: 0| Pullup: 1| Pulldown: 0| Intr:0
I (797) gpio: GPIO[15]| InputEn: 0| OutputEn: 0| OpenDrain: 0| Pullup: 1| Pulldown: 0| Intr:0
I (805) gpio: GPIO[16]| InputEn: 0| OutputEn: 0| OpenDrain: 0| Pullup: 1| Pulldown: 0| Intr:0
I (813) gpio: GPIO[18]| InputEn: 0| OutputEn: 0| OpenDrain: 0| Pullup: 1| Pulldown: 0| Intr:0
I (822) gpio: GPIO[17]| InputEn: 0| OutputEn: 0| OpenDrain: 0| Pullup: 1| Pulldown: 0| Intr:0
I (830) gpio: GPIO[21]| InputEn: 0| OutputEn: 1| OpenDrain: 0| Pullup: 0| Pulldown: 0| Intr:0
I (880) gpio: GPIO[21]| InputEn: 0| OutputEn: 0| OpenDrain: 0| Pullup: 1| Pulldown: 0| Intr:0
[WsS3Lcd147/I][0.561]: Filesystem mounted
Name: 00000
Type: SDHC
Speed: 40.00 MHz (limit: 40.00 MHz)
Size: 30543MB
CSD: ver=2, sector_size=512, capacity=62552064 read_bl_len=9
SSR: bus_width=4
[WsS3Lcd147/I][0.568]: Initializing LED
[WsS3Lcd147 Example/I][0.573]: Initializing the button
[WsS3Lcd147/I][0.578]: Initializing button
I (910) gpio: GPIO[0]| InputEn: 1| OutputEn: 0| OpenDrain: 0| Pullup: 1| Pulldown: 0| Intr:3
Setting rotation to 1
Setting rotation to 2
Setting rotation to 3
Setting rotation to 0
```


<img width="677" height="532" alt="CleanShot 2025-07-15 at 13 54 14" src="https://github.com/user-attachments/assets/f9b2556f-718a-4152-adc9-7f059734b83b" />

To create a project from this example, run:

idf.py create-project-from-example "espp/ws-s3-lcd-1-47=1.0.17:example"

or download archive (~4.68 KB)