Skip to main content

FAQ

Serial Port and Downloading

Q: How can I check the current COM port?

A: On Windows, open Device Manager and expand "Ports (COM & LPT)" to view the port number. On Linux, use ls /dev/ttyUSB* or dmesg in the terminal to check for the serial device.

Q: I cannot connect to the serial port when reprogramming the device. What should I do?

A:

  1. First, open the task manager and check whether other applications, such as Arduino IDE or VS Code, are occupying the serial port. If so, close the relevant application and retry. Restart your computer if necessary.
  2. Try entering download mode: disconnect USB, press and hold the BOOT button on the board, reconnect to your computer, then release the BOOT button. Afterwards, re‑check whether the COM port is detected correctly.
  3. Check whether you are connecting the board through a docking station or hub. If so, try connecting directly to a USB port on your computer.
  4. If the connection still fails, try a different USB cable that supports data transfer.
Q: Why is there no serial output after successfully flashing the code?

A: The ESP32-C6-LCD-2.73 uses the native USB functionality of the ESP32-C6. Check the USB CDC, serial output, and port configuration in your project, and make sure the serial monitor is using the correct port and baud rate.

Factory Example and Basic Usage

Q: Why can't the factory example's weather page retrieve weather information?

A: The weather page requires a Wi-Fi connection with internet access. Please go to the Settings page of 01_factory to configure Wi-Fi, and confirm that the hotspot can access the internet normally.

If Wi-Fi is connected but weather information is still unavailable, please check if there are firewall restrictions, no network access permissions, or API access limitations on the network.

Q: Can I use the board without a TF card?

A: Yes. Functions related to TF card reading/writing and photo gallery image reading will be unavailable; however, LCD, LVGL, QMI8658, PCF85063, SHTC3, and EXIO tests can still be run independently.

Q: What should I be aware of when using the TF card?

A: It is recommended to use a TF card with a capacity of 64 GB or less and format it as FAT or FAT32. 03_sd_card performs write and read-back verification on /sdcard/test.txt; the photo page of 01_factory reads .jpg or .jpeg images from the /sdcard/photo directory by default.

Working with Arduino

Q: Why do the Arduino examples require an ESP32 Arduino Core version that supports ESP32-C6?

A: The onboard MCU module of the ESP32-C6-LCD-2.73 is ESP32-C6-WROOM-1-N16. Please install an ESP32 Arduino Core that supports ESP32-C6. Older versions of the ESP32 Arduino Core may not correctly identify this board, causing issues such as the board not being selectable, serial download failures, or flashing errors.

Please install the esp32 by Espressif Systems board support package that supports ESP32-C6 in the Arduino IDE Board Manager. In the Arduino project settings, select ESP32C6 Dev Module as the board.

Q: What should I do if Arduino compilation fails with library files not found?

A: First, verify that the required libraries for the example have been installed. Arduino libraries are typically copied to the following directory:

C:\Users\<username>\Documents\Arduino\libraries

Common missing files and their corresponding libraries are listed below:

Compilation ErrorCorresponding ExamplesRequired LibraryDescription
lvgl.h not found01_lvgl_demo, 07_examplecode/arduino/libraries/lvglLVGL v8.4.0 is included in the example package. Do not install multiple versions of LVGL simultaneously.
SensorPCF85063.hpp not found04_I2C_pcf85063, 07_exampleSensorLibUsed for the PCF85063 RTC driver.

After copying, restart Arduino IDE and recompile.

Q: What should I check first when the Arduino example screen does not turn on?

A: Please run 06_exio first. The LCD reset and backlight control of this product are both related to the CH32V003 IO expansion. If CH32V003 I2C communication is abnormal, subsequent LCD examples may also behave abnormally.

After confirming that 06_exio works normally, check 01_lvgl_demo or 07_example. If the screen remains off, focus on checking the ILI9488 pins, CH32 IO0 reset, backlight initialization, and LVGL version.

Q: What are the I2C and TF card pins in the Arduino examples?

A: The Arduino examples use the following onboard connections:

FunctionPin
I2C SDAGPIO20
I2C SCLGPIO2
TF SCLKGPIO0
TF MOSIGPIO1
TF MISOGPIO18
TF CSGPIO10

The LCD and TF card share the SPI clock, MOSI, and MISO pins. If bus state issues occur after switching examples, you can restart the board and run the corresponding example separately.

Working with ESP-IDF

Q: What should I check first if the ESP-IDF example does not show the expected behavior after flashing?

A: Different examples depend on different peripherals and preparation files. If the program flashes successfully but the screen or serial port does not behave as expected, please check according to the table below:

ExamplePre‑run Checklist
01_factoryFactory menu example. The photo page requires a /photo directory and JPG images on the TF card; the weather page requires configurable Wi-Fi with internet access.
02_lvgl_demoUses the onboard LCD and backlight to run the LVGL benchmark.
03_sd_cardRequires a FAT or FAT32 formatted TF card to be inserted; the serial port outputs write and read-back verification results.
04_qmi8658Primarily used to verify accelerometer and gyroscope data output via the serial port.
05_pcf85063Primarily used to verify RTC time output via the serial port.
06_shtc3Primarily used to verify temperature and humidity data output via the serial port.
07_exioUsed to test CH32V003 IO expansion by cyclically toggling IO4-IO14; there is no demonstration interface on the screen.
Q: Why does the screen not turn on for some ESP-IDF examples after flashing?

A: Some examples are not LCD display examples. It is normal for the screen to remain off. Please check the serial logs or corresponding peripheral behavior first.

ExampleScreen Status Description
01_factory, 02_lvgl_demoUse the LCD for display; the screen should light up under normal conditions.
03_sd_card, 04_qmi8658, 05_pcf85063, 06_shtc3, 07_exioResults are primarily verified via the serial port or peripheral behavior; these are not intended as LCD demonstration examples.

If you are running an LCD‑enabled example but the screen remains off, check the following:

  1. Check the serial port logs to see if the program has started normally and whether there are any error messages regarding LCD, LVGL, CH32V003, or backlight initialization failures.
  2. Ensure you are using a USB cable that supports data transfer and provides stable power. We recommend connecting directly to a USB port on your computer.
  3. Verify that you have flashed the correct example and that the board model matches the example.
  4. If you are modifying the example, confirm that the application layer still calls the LCD, LVGL, and backlight initialization interfaces.

Secondary Development

Q: What prerequisites should I tell the AI when using it to help modify ESP-IDF examples?

A: We recommend providing the following context when asking the AI for help, to avoid unintended modifications to low‑level drivers, pin definitions, or the BSP:

We are using the Waveshare ESP32-C6-LCD-2.73, the ESP-IDF examples are located in code/idf, and the target chip is esp32c6.
The board has been adapted for ILI9488 LCD, CH32V003 IO expansion, TF, QMI8658, PCF85063, and SHTC3.
For routine secondary development, please focus on modifying the application layer or UI logic first. Do not modify the BSP, pin definitions, partition table, or low‑level drivers unless necessary.
The CH32V003 firmware is pre‑flashed at the factory; no separate flashing is required.
After modification, please check if the initialization interfaces for LCD, LVGL, backlight, and necessary peripherals are still called.

For general functional modifications, it is recommended to start with main or the built-in business components of the examples. Only modify the BSP if you are changing hardware connections, adapting low‑level drivers, or adding new peripherals.

Q: Where should I make changes for common secondary development tasks?

A: Use the table below as a starting point to locate the relevant code without modifying the BSP or low‑level drivers.

RequirementSuggested Modification Location
Modify the factory menu entry01_factory/main/main.c
Modify the Settings page01_factory/components/app_settings
Modify the Sensor page01_factory/components/app_sensor
Modify the Photo page01_factory/components/app_photo
Modify the Weather page01_factory/components/app_weather
Modify the LVGL benchmark example02_lvgl_demo/main/main.c
Modify TF card read/write test content03_sd_card/main/main.c
Modify QMI8658 reading or output format04_qmi8658/main/main.c
Modify RTC reading or time setting logic05_pcf85063/main/main.c
Modify SHTC3 reading interval or output format06_shtc3/main/main.c
Modify EXIO output range or toggle interval07_exio/main/main.c

Hardware and Interfaces

Q: What is the purpose of the CH32? Why are some pins controlled by CH32?

A: The CH32V003 primarily serves as an IO expansion controller. The ESP32‑C6 acts as the main controller and communicates with the CH32V003 via I2C. The CH32V003, functioning as a slave device, controls certain peripheral pins according to commands sent by the ESP32‑C6.

Since the ESP32-C6 has a limited number of available GPIOs, some signals on the board that only require high/low level or PWM control are managed by the CH32V003, such as LCD_RST and the LCD backlight. The backlight PWM control is also provided by the CH32V003.

The CH32V003 is pre‑flashed with control firmware at the factory. No separate flashing is required. When running the examples, you only need to compile and flash the ESP32-C6 side.

Q: What is the LCD display driver?

A: The LCD display driver chip for this product is ILI9488, with a resolution of 320 x 320. The BSP and example projects have already completed the adaptation of basic interfaces such as the ILI9488 display driver and backlight.

For general secondary development, you usually only need to modify the application layer or UI logic. If you are adapting to other projects or frameworks independently, please note that the LCD uses an SPI interface, and the reset and backlight are controlled by the CH32V003.

Q: What are the I2C device addresses on the board?

A: The onboard I2C devices share SDA GPIO20 and SCL GPIO2. The common 7‑bit I2C addresses are:

DeviceFunctionI2C Address
CH32V003IO Expansion, LCD Reset, Backlight Control0x24
QMI86586‑axis sensor0x6B
PCF85063RTC real‑time clock0x51
SHTC3Temperature and humidity sensor0x70

The above addresses are 7‑bit I2C addresses. Some scanning tools or datasheets may use 8‑bit read/write addresses, which may appear differently.