CrowPanel Advance 2.8inch Arduino Course V12
Product Model: CrowPanel-Advance-2.8-HMI-ESP32-S3-AI-Powered-IPS-Touch-Screen
Hardware Version: V1.2
Number of Lessons: 9 lessons: Lessons 1-7, Lesson 9, and Lesson 10
Development Platform: Arduino IDE + ESP32-S3
Learning Path: Environment setup -> Serial port verification -> Network audio -> LVGL UI -> SD card display -> Sensors -> Wireless communication -> Microphone recording and playback
1. Course Overview¶
This course is designed for the CrowPanel Advance 2.8-inch HMI ESP32-S3 Display V1.2 and uses Arduino IDE as the development platform. The course starts with serial output verification and gradually covers network audio playback, PWM and LVGL light control, SD card image slideshow, DHT20 temperature and humidity display, nRF24L01 communication, LoRaWAN AT parameter control, Zigbee light control, and microphone recording and playback.
The 2.4-inch and 2.8-inch displays both have a resolution of 320 x 240, and they share the same Arduino course content and lesson links. This guide focuses on the 2.8inch V1.2 version.
After completing this course, users will understand the basic development workflow for this display on the Arduino platform and will be able to build their own HMI applications based on display, touch, audio, sensor, and wireless modules.
2. Preparation Before You Start¶
- Hardware: CrowPanel Advance 2.8-inch HMI ESP32-S3 Display V1.2
- USB Cable: Use a USB cable that supports data transfer
- Development Software: Arduino IDE
- Getting Started with Arduino IDE: https://www.elecrow.com/pub/wiki/arduino_advance.html
- Board: ESP32S3 Dev Module
- Flash Size: 16MB (128Mb)
- PSRAM: OPI PSRAM
- Partition Scheme: Huge APP (3MB No OTA/1MB SPIFFS)
The board package must use esp32 by Espressif Systems version 3.3.8.
3. Library Version Requirements¶
The course documentation requires that you first import the required course libraries according to the instructions in Lesson 01 and keep the library files consistent with the screen size. The 2.4 / 2.8-inch Arduino courses share the same library files:
Library Import: Link to two ways to import third-party Arduino IDE libraries
| Library / Component | Version / Source | Purpose |
|---|---|---|
| esp32 by Espressif Systems | 3.3.8 | ESP32-S3 Arduino Core, explicitly required by Lesson 01/03/09/10 |
| lvgl | 9.1.0 | LVGL UI and SquareLine Studio exported projects |
| LovyanGFX | 1.2.25 | Arduino graphics display and screen driver |
| TAMC_GT911 | 1.0.2 | Touchscreen support library |
| ESP32-audioI2S-master | 2.0.0 | Network audio playback |
| RF24 | 1.6.1 | nRF24L01 wireless communication |
| RadioLib | 7.1.0 | Wireless module support related to LoRaWAN AT parameter control |
| Crowbits_DHT20 | Use the course-provided library files | DHT20 temperature and humidity sensor |
| lv_conf.h | Use the course-provided configuration file | LVGL configuration file |
| ESP_I2S.h | Built into Arduino-ESP32 3.3.8 | Microphone recording and audio playback |
| Wire / SPI / FS / SD | Built into Arduino / ESP32 Core | I2C, SPI, file system, and SD card |
Note: Use LVGL 9.1.0 for LVGL projects. When creating a project in SquareLine Studio, you also need to select LVGL 9.1.0 and set the LVGL Include Path to lvgl.h.
4. ESP32S3_120M Notes¶
After installing the ESP32 board package, you need to replace the corresponding files in the ESP32 framework directory. Download the officially provided ESP32S3_120M files:
Copy the files in the ESP32S3_120M folder to the corresponding idf-release_* directory in the Arduino ESP32 framework, and replace the existing files when prompted. The directory name changes with the ESP32 Core version. Use the actual directory for esp32 by Espressif Systems version 3.3.8 installed on your computer:
C:\Users\your-username\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_*
ESP32S3_120M contains ESP32 framework files recompiled after enabling high-speed PSRAM communication mode. After replacement, the PSRAM frequency can be increased to 120 MHz, which helps improve display refresh performance and reduce flickering or jitter during operation.
5. Course Directory¶
| Lesson | Lesson Name | Main Content |
|---|---|---|
| 01 | Serial Output and Monitor | Serial output and monitor verification |
| 02 | Network Audio Playback | Network audio playback |
| 03 | PWM and LVGL Light Control | PWM and LVGL light control |
| 04 | SD Card Image Slideshow | SD card image slideshow display |
| 05 | I2C and DHT20 Display | I2C and DHT20 temperature and humidity display |
| 06 | nRF24L01 Communication | nRF24L01 wireless communication |
| 07 | LoRaWAN AT Parameter Control | LoRaWAN AT parameter control |
| 09 | Zigbee Light Control | Zigbee light control |
| 10 | Microphone Record Playback | Microphone recording and playback |
There is no Lesson 8 in this series. Please study in the order of Lessons 1-7, Lesson 9, and Lesson 10.
6. Lesson Links¶
Lesson 01 | Serial output and monitor verification¶
Lesson Link: https://www.elecrow.com/wiki/2.4_2.8_Arduino-01-Serial_Output_and_Monitor.html
Lesson 02 | Network audio playback¶
Lesson Link: https://www.elecrow.com/wiki/2.4_2.8_Arduino-02-Network_Audio_Playback.html
Lesson 03 | PWM and LVGL light control¶
Lesson Link: https://www.elecrow.com/wiki/2.4_2.8_Arduino-03-PWM_and_LVGL_Light_Control.html
Lesson 04 | SD card image slideshow display¶
Lesson Link: https://www.elecrow.com/wiki/2.4_2.8_Arduino-04-SD_Card_Image_Slideshow.html
Lesson 05 | I2C and DHT20 temperature and humidity display¶
Lesson Link: https://www.elecrow.com/wiki/2.4_2.8_Arduino-05-I2C_and_DHT20_Display.html
Lesson 06 | nRF24L01 wireless communication¶
Lesson Link: https://www.elecrow.com/wiki/2.4_2.8_Arduino-06-nRF24L01_Communication.html
Lesson 07 | LoRaWAN AT parameter control¶
Lesson Link: https://www.elecrow.com/wiki/2.4_2.8_Arduino-07-LoRaWAN_AT_Parameter_Control.html
Lesson 09 | Zigbee light control¶
Lesson Link: https://www.elecrow.com/wiki/2.4_2.8_Arduino-09-Zigbee_Light_Control.html
Lesson 10 | Microphone recording and playback¶
Lesson Link: https://www.elecrow.com/wiki/2.4_2.8_Arduino-10-Microphone_Record_Playback.html
7. Recommended Learning Order¶
- Basic Verification: Complete Lesson 01 first to confirm that Arduino IDE, the board package, serial output, and program upload are working properly.
- Audio and UI: Lessons 02-03 cover network audio playback, PWM output, and LVGL UI control.
- Peripheral Display: Lessons 04-05 cover SD card image display and DHT20 temperature and humidity data display.
- Wireless Expansion: Lessons 06-07 cover nRF24L01 and LoRaWAN AT parameter control.
- Application Expansion: Lessons 09-10 cover Zigbee light control and microphone recording and playback.
