Skip to content

RotaryScreen 2.1inch ESPHome 5 Lesson Course Guide

# CrowPanel 2.1inch-HMI ESP32 Rotary Display ### 5-Lesson ESPHome Course Guide **480 x 480 IPS Round Display | Capacitive Touch | Rotary Encoder | ESP32-S3 | ESPHome**

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

Lesson 01 | Set Up Home Assistant and ESPHome

View Lesson 01

Lesson 02 | Display Hello World on the Round Screen

View Lesson 02

Lesson 03 | Adjust Screen Brightness with the Rotary Encoder

View Lesson 03

Lesson 04 | Build the LVGL Brightness Meter Interface

View Lesson 04

Lesson 05 | Control the Brightness Interface by Touch

View Lesson 05

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.