RotaryScreen 2.1inch ESPHome 5 Lesson Course Guide
Product: CrowPanel 2.1inch-HMI ESP32 Rotary Display
Lessons: 5
Development Platform: ESPHome 2026.7.4 + ESPHome Device Builder 1.9.2
Learning Path: Platform Setup -> Basic LVGL Display -> Rotary Brightness Control -> LVGL Brightness Interface -> Touch Control
1. Course Overview¶
This course is designed for the CrowPanel 2.1inch-HMI ESP32 Rotary Display. The board combines an ESP32-S3R8, a 480 x 480 ST7701S IPS round panel, a rotary encoder, and a CST816 capacitive touchscreen.
The lessons begin with Home Assistant and ESPHome setup. You will then bring up the ST7701S panel, render a basic LVGL label, use the rotary encoder to control the GPIO6 PWM backlight, build a graphical brightness meter, and finally make the LVGL arc directly adjustable by touch.
2. Product Configuration Used in This Course¶
| Item | 2.1-inch CrowPanel specification |
|---|---|
| Main controller | ESP32-S3R8, Xtensa LX7 dual-core, up to 240 MHz |
| Memory | 512 KB SRAM, 8 MB PSRAM, 16 MB Flash |
| Display | 2.1-inch round IPS, 480 x 480, ST7701S |
| Touch | CST816 capacitive touch |
| Wireless | 2.4 GHz Wi-Fi, BLE, Bluetooth 5.0 |
| Expansion | UART, I2C, 12-pin FPC power/programming connector |
| Power | 5 V / 1 A input |
| Size and weight | 79 x 79 x 30 mm, 80 g |
Product page: CrowPanel 2.1inch-HMI ESP32 Rotary Display
3. Before You Begin¶
- CrowPanel 2.1inch-HMI ESP32 Rotary Display
- USB cable with data support
- Home Assistant and ESPHome Device Builder 1.9.2
- ESPHome 2026.7.4
- A shared 2.4 GHz local network for Home Assistant, the computer, and the CrowPanel
- Lesson 04 background material
bj_light_21_1.png
4. Course Code¶
Complete course source: Elecrow ESPHome examples for the 2.1-inch rotary display
The code explanations in Lessons 02-05 follow these files:
| Lesson | Source file |
|---|---|
| 02 | Lesson02/rotary-screen-21-display.yaml |
| 03 | Lesson03/21-adjust-screen-brightness.yaml |
| 04 | Lesson04/21-lvgl-interface.yaml |
| 05 | Lesson05/21-touch.yaml |
5. Course Catalog¶
| Lesson | Title | Main topic |
|---|---|---|
| 01 | Set Up the ESPHome Platform | Install Home Assistant and ESPHome Device Builder |
| 02 | Display Text with LVGL | Initialize the PCF8574 and ST7701S RGB panel and show Hello World! |
| 03 | Adjust Brightness with the Rotary Encoder | Read GPIO42/GPIO4 encoder input and control GPIO6 PWM |
| 04 | Build an LVGL Brightness Meter | Render the 480 x 480 image, arc, knob, and percentage |
| 05 | Control the LVGL Interface by Touch | Connect CST816 input to an adjustable LVGL arc |
6. Lesson Links¶
Lesson 01 | Set Up Home Assistant and ESPHome¶
Lesson 02 | Display Hello World on the Round Screen¶
Lesson 03 | Adjust Screen Brightness with the Rotary Encoder¶
Lesson 04 | Build the LVGL Brightness Meter Interface¶
Lesson 05 | Control the Brightness Interface by Touch¶
7. Recommended Learning Order¶
Complete Lessons 01-05 in sequence. Each lesson verifies one additional layer: platform, display, rotary input, graphical interface, and touch. When a later lesson fails, return to the last verified layer before changing the YAML.