# Waveshare ESP32-S3 1.8 inch knob display: specs and pinout

> Waveshare's knob-style development board: an ESP32-S3 and a second ESP32 on one board with a 1.8 inch touch LCD, two rotary encoders, a vibration…

[HTML version](https://soldr.ai/docs/boards/waveshare-esp32-s3-knob-display-1-8)

[Docs](https://soldr.ai/docs) / [Boards](https://soldr.ai/docs/boards)

Waveshare&#x27;s knob-style development board: an ESP32-S3 and a second ESP32 on one board with a 1.8 inch touch LCD, two rotary encoders, a vibration motor driver, a digital microphone, an audio DAC with a 3.5 mm jack, a TF card slot and a lithium battery socket. It ships with a demo that runs a PC stats screen, music player, picture album, clock and Bluetooth volume knob.

Every value cites its sourceOfficial pinout

[Buy on Compoden](https://compoden.com/products/waveshare-esp32-s3-1-8inch-knob-display-development-board-no-battery)

## Specs

| Spec | Value | Source |
|---|---|---|
| Processors | ESP32-S3R8 (Wi-Fi and Bluetooth SoC, 240 MHz, 8 MB PSRAM) plus ESP32-U4WDH (Wi-Fi and classic Bluetooth, 240 MHz, 4 MB flash); up to 4 cores in total | source Overview > Features; Onboard Resources |
| Memory | 512 KB SRAM, 384 KB ROM, 16 MB flash and 8 MB PSRAM | source Overview > Features |
| Wireless | 2.4 GHz Wi-Fi (802.11 b/g/n), Bluetooth 5 (BLE) and classic Bluetooth, onboard antenna | source Overview > Features |
| Display | 1.8 inch LCD; the wiki converts pictures and video to 360 x 360; QSPI interface (LCD_QSPI signals) with the controller driven by an SH8601 driver file in the maker demo | source Comprehensive Example (360 x 360); schematic page 1 U5 connector; demo 08_LVGL_Test lcd_config.h |
| Touch | I2C touch controller with interrupt output; CST816 family (CST816D datasheet linked on the wiki); I2C address 0x15 in the maker demo | source Overview > Features; Datasheets; demo 08_LVGL_Test lcd_config.h |
| Audio | PCM5100A stereo DAC on I2S, 3.5 mm headphone jack, digital microphone; no speaker on the board | source Onboard Resources; Music Player Usage |
| Other onboard parts | Two rotary encoders (one for each processor), DRV2605 vibration motor driver on I2C with a vibration motor, TF card slot, CH445P analog switch, USB-to-UART | source Onboard Resources |
| Battery | Normal 3.7 V to 4.2 V lithium battery on the MX1.25 socket; charging management is on the board | source Onboard Resources item 3 (MX1.25 socket); FAQ: How to choose lithium batteries |
| USB input | Type-C port, switchable between the ESP32-S3 and the ESP32; 5 V from Type-C feeds an on-board 3.3 V buck converter | source Onboard Resources item 6; schematic page 1 (DCDC for 3V3) |
| Arduino support | esp32 by Espressif Systems board package 3.2.0 or later; LVGL v8.4.0 and SensorLib v0.3.1 libraries | source Working with Arduino > Install ESP32 Development Board / Install Library |

## Power

| | Value | Source |
|---|---|---|
| Supply | USB Type-C 5 V, or a 3.7 V to 4.2 V lithium battery on the MX1.25 socket. The 3.3 V rail is made on the board by a buck converter from 5 V. | source Onboard Resources; FAQ (lithium batteries); schematic page 1; no current figure on the wiki |

## Pinout

Rows are the ESP32-S3R8 GPIO assignments of the on-board parts, read from Waveshare&#x27;s schematic (pages 2 and 4) and checked against the pin numbers in the maker demo code. The 10-pin PH1.27 header (CN1) is not transcribed here; the board has no standard breadboard pin header.

| Pin | Function | Voltage | Notes | Source |
|---|---|---|---|---|
| GPIO8 | EC1_A (rotary encoder 1, phase A) | | Maker demo 04_Encoder_Test names the same pins (ECA 8, ECB 7) | source Schematic page 2 (ESP32-S3R8 sheet) |
| GPIO7 | EC1_B (rotary encoder 1, phase B) | | | source Schematic page 2 (ESP32-S3R8 sheet) |
| GPIO1 | BATT_ADC (battery voltage divider) | | Divider on schematic page 4: 5 V line through 10 k and 10 k to ground | source Schematic page 2 (ESP32-S3R8 sheet) |
| GPIO11 | TP_SDA (I2C data for touch; the vibration motor driver HAPTIC_SDA is on the same net) | | Touch address 0x15 in the maker demo | source Schematic page 2 (ESP32-S3R8 sheet) |
| GPIO12 | TP_SCL (I2C clock for touch; HAPTIC_SCL on the same net) | | | source Schematic page 2 (ESP32-S3R8 sheet) |
| GPIO9 | TP_INT (touch interrupt) | | | source Schematic page 2 (ESP32-S3R8 sheet) |
| GPIO10 | TP_RST (touch reset) | | | source Schematic page 2 (ESP32-S3R8 sheet) |
| GPIO13 | LCD_QSPI_SCL (display clock) | | | source Schematic page 2 (ESP32-S3R8 sheet) |
| GPIO14 | LCD_QSPI_CS (display chip select) | | | source Schematic page 2 (ESP32-S3R8 sheet) |
| GPIO15 | LCD_QSPI_D0 | | | source Schematic page 2 (ESP32-S3R8 sheet) |
| GPIO16 | LCD_QSPI_D1 | | | source Schematic page 2 (ESP32-S3R8 sheet) |
| GPIO17 | LCD_QSPI_D2 | | | source Schematic page 2 (ESP32-S3R8 sheet) |
| GPIO18 | LCD_QSPI_D3 | | | source Schematic page 2 (ESP32-S3R8 sheet) |
| GPIO21 | LCD_RST (display reset) | | | source Schematic page 2 (ESP32-S3R8 sheet) |
| GPIO47 | LCD_BLK (backlight control through a MOSFET) | | | source Schematic page 2 (ESP32-S3R8 sheet) |
| GPIO39 | S3_I2S_DAC_BCK (I2S bit clock to the DAC) | | | source Schematic page 2 (ESP32-S3R8 sheet) |
| GPIO40 | S3_I2S_DAC_LRCK/WS (I2S word select) | | | source Schematic page 2 (ESP32-S3R8 sheet) |
| GPIO41 | S3_I2S_DAC_DIN (I2S data to the DAC) | | | source Schematic page 2 (ESP32-S3R8 sheet) |
| GPIO45 | PDM_MIC_SCK (microphone clock) | | Microphone MSM261D4030H1CPM on schematic page 4 | source Schematic pages 2 and 4 |
| GPIO46 | PDM_MIC_DATA (microphone data) | | | source Schematic pages 2 and 4 |
| GPIO4 | SDMMC_SCK (TF card clock) | | | source Schematic pages 2 and 4 |
| GPIO3 | SDMMC_CMD (TF card command) | | | source Schematic pages 2 and 4 |
| GPIO5 | SDMMC_D0 (TF card data 0) | | | source Schematic pages 2 and 4 |
| GPIO6 | SDMMC_D1 (TF card data 1) | | | source Schematic pages 2 and 4 |
| GPIO42 | SDMMC_D2 (TF card data 2) | | | source Schematic pages 2 and 4 |
| GPIO2 | SDMMC_D3 (TF card data 3) | | | source Schematic pages 2 and 4 |
| GPIO48 and GPIO38 | ESP32S3_RX and ESP32S3_TX (serial link to the second processor) | | | source Schematic page 2 |
| GPIO19 and GPIO20 | USB_DN and USB_DP (USB data) | | | source Schematic page 2 |

## Build with it
Project ideas for the Waveshare ESP32-S3 1.8 inch knob display. Each link opens Soldr with the prompt filled in; Soldr assigns the pins, checks power and shows how to wire every part.

- [PC volume knob and stats screen](https://app.soldr.ai/?prompt=I%20want%20to%20build%20a%20desktop%20volume%20knob%20and%20PC%20stats%20screen%20with%20a%20Waveshare%20ESP32-S3%20knob%20display%20and%20a%20microSD%20card): The wiki&#x27;s demo already does both: a Bluetooth volume-control mode that turns the knob into a computer or phone volume dial, and a secondary-screen mode that shows PC sensor values over Wi-Fi. Format the TF card as the wiki describes.
- [Picture frame](https://app.soldr.ai/?prompt=I%20want%20to%20build%20a%20small%20picture%20frame%20that%20shows%20JPEG%20photos%20from%20a%20microSD%20card%20on%20a%20Waveshare%20ESP32-S3%20knob%20display): The wiki&#x27;s picture album mode plays 360 x 360 JPEG files from the pic folder of the TF card; swipe to change pictures.
- [Kitchen countdown timer](https://app.soldr.ai/?prompt=I%20want%20to%20build%20a%20kitchen%20countdown%20timer%20with%20a%20vibration%20alert%20on%20a%20Waveshare%20ESP32-S3%20knob%20display): The wiki&#x27;s theme clock demo sets a timer by turning the knob and vibrates when it ends, using the on-board DRV2605 vibration driver. Learning project.
- [Knob and Wi-Fi learning bench](https://app.soldr.ai/?prompt=I%20want%20to%20build%20a%20learning%20bench%20for%20the%20rotary%20encoder%2C%20touch%20screen%20and%20Wi-Fi%20on%20a%20Waveshare%20ESP32-S3%20knob%20display): Waveshare&#x27;s Arduino demo list includes 04_Encoder_Test, 05_WIFI_AP and 06_WIFI_STA, so the knob, the touch screen and Wi-Fi can each be tried on their own before you write your own screens. Learning project.

## Common mistakes

- Flashing the wrong processor: the single Type-C port is switchable between the ESP32-S3 and the ESP32, and the ESP32-S3R8 enters download mode when you hold its BOOT button while powering on (source: [link](https://www.waveshare.com/wiki/ESP32-S3-Knob-Touch-LCD-1.8), Onboard Resources items 6 and 7).
- Building with an older toolchain: the Arduino demos need the esp32 board package 3.2.0 or later and the supplied LVGL v8.4.0, which must be installed offline from the demo package (source: [link](https://www.waveshare.com/wiki/ESP32-S3-Knob-Touch-LCD-1.8), Working with Arduino > Install Library).
- Expecting sound without wiring a speaker: the board has a DAC and a 3.5 mm jack but no speaker, so music and Bluetooth audio need external speakers or headphones (source: [link](https://www.waveshare.com/wiki/ESP32-S3-Knob-Touch-LCD-1.8), Music Player Usage).

## Not covered by the official source

- Operating temperature, supply current and the exact LCD module part number are not stated on the wiki; the SH8601 driver name comes from the maker demo code.
- The 10-pin CN1 header pin order is drawn on schematic page 1 but is not transcribed here.
- No I2C address is read for the DRV2605 vibration driver; the datasheet is linked on the wiki but was not used.
- The wiki lists the CST816D touch datasheet; this page gives only the address used in the demo code.
- The wiki&#x27;s music player and Bluetooth music player need external speakers or headphones on the 3.5 mm jack; no speaker is included, so no music idea is given.

## Sources

- [link](https://www.waveshare.com/wiki/ESP32-S3-Knob-Touch-LCD-1.8) (Waveshare wiki, ESP32-S3-Knob-Touch-LCD-1.8, revision 111287)
- [link](https://files.waveshare.com/wiki/ESP32-S3-Knob-Touch-LCD-1.8/ESP32-S3-Knob-Touch-LCD-1.8-schematic.zip) (Waveshare schematic, 5 sheets)
- [link](https://files.waveshare.com/wiki/ESP32-S3-Knob-Touch-LCD-1.8/ESP32-S3-Knob-Touch-LCD-1.8-Demo.zip) (Waveshare demo package, Arduino examples)
