ESP32-C6 1.8-inch 368 x 448 QSPI AMOLED touch development board
简体中文 · Product Page · Product Documentation · GitHub Releases · CI Firmware Artifacts · ESP-IDF Examples · Arduino V1 · Arduino V2 · Repository Documentation
This repository provides first-party ESP-IDF projects, separate Arduino V1 and V2 example sets, source-built firmware packages, factory recovery images, and development documentation for the Waveshare ESP32-C6-Touch-AMOLED-1.8.
The board combines an ESP32-C6 with a 1.8-inch QSPI AMOLED display, capacitive touch, 16 MB Flash, power management, RTC, IMU, audio, and microSD. The board has no PSRAM.
| Revision | Display | Touch | Arduino examples |
|---|---|---|---|
| V1 | SH8601 | FT3168 / FT6146 | examples/arduino |
| V2 | CO5300 | CST820 | examples/arduino-v2 |
Both revisions use the same board-level pins. Arduino keeps separate example sets because each sketch instantiates its display and touch drivers directly. ESP-IDF examples use the managed waveshare/esp32_c6_touch_amoled_1_8 BSP, which detects the touch controller and selects the matching display and touch drivers automatically.
Important
The physical touch controller on V2 boards is CST820. The software names
Arduino_CST816x and esp_lcd_touch_cst816s are
retained because those drivers are compatible with CST820; they are not the
onboard controller model.
| Feature | Device / interface |
|---|---|
| MCU | ESP32-C6, single-core 32-bit RISC-V up to 160 MHz (target esp32c6) |
| Wireless | 2.4 GHz Wi-Fi 6, Bluetooth 5 LE, and IEEE 802.15.4 (Zigbee 3.0 / Thread) |
| Memory | 16 MB Flash, no PSRAM |
| Display | 1.8-inch 368 x 448 QSPI AMOLED |
| V1 display / touch | SH8601 with FT3168 / FT6146 |
| V2 display / touch | CO5300 with CST820 |
| Power management | AXP2101 |
| Real-time clock | PCF85063A |
| Motion sensor | QMI8658 six-axis IMU |
| Audio | ES8311 codec, microphone input, speaker output |
| Storage | microSD over SPI |
| Schematics | Schematic |
- Identify the board revision in the table above. If it is unknown, run 00_board_check to let the BSP report it.
- For ESP-IDF, start with 00_bsp_quickstart; the same BSP-based projects support V1 and V2.
- For Arduino, use examples/arduino for V1 or examples/arduino-v2 for V2.
- To flash without building locally, download the matching package from a successful Build Examples run.
See Getting Started for toolchain and flashing details.
ESP-IDF projects are under examples/esp-idf:
| Example | Purpose |
|---|---|
| 00_board_check | Serial board, memory, BSP capability, and revision check |
| 00_bsp_quickstart | V1/V2 display and touch quick start |
| 01_AXP2101 | AXP2101 power management diagnostics |
| 02_PCF85063 | PCF85063A RTC read/write example |
| 03_esp-brookesia | ESP-Brookesia phone UI |
| 04_QMI8658 | QMI8658 acceleration and gyro readings |
| 05_LVGL_WITH_RAM | LVGL music demo using internal RAM |
Arduino provides 14 V1 sketches and 9 V2 sketches. Bundled libraries remain next to each set and their upstream library examples are excluded from product CI. See examples/README.md for the complete index.
| Surface | Version | Firmware builds |
|---|---|---|
| ESP-IDF | v5.5.5 |
7 |
| ESP-IDF | v6.0.2 |
7 |
| Arduino-ESP32 V1 | 3.3.11 |
14 |
| Arduino-ESP32 V2 | 3.3.11 |
9 |
The Build Examples workflow
runs two discovery jobs and 37 firmware builds for a full all or
tag matrix. ESP-IDF targets esp32c6; Arduino uses
esp32:esp32:esp32c6:FlashSize=16M,PartitionScheme=app3M_fat9M_16MB.
Every successful build uploads a flashable firmware package. See
Continuous Integration for discovery and artifact details.
Before the component registry release, ESP-IDF projects use this Git dependency pinned to the BSP commit:
waveshare/esp32_c6_touch_amoled_1_8:
git: https://github.com/waveshareteam/Waveshare-ESP32-components.git
path: bsp/esp32_c6_touch_amoled_1_8
version: "d75c3e72be9e2248f525bcdbf9ca31f1fe8d357b"The BSP source manifest declares version 1.0.0. The full commit SHA keeps
CI dependency resolution reproducible before the registry release. After the
component is published, projects can move to a compatible registry constraint
such as ^1.0.0.
Each successful CI build is packaged as a flashable archive and uploaded to the Build Examples workflow. Download and extract all artifacts from a completed run with:
python3 releases/download_artifacts.py --run-id RUN_ID --cleanOpen the matching directory under releases/downloads/run-RUN_ID/,
install esptool with python -m pip install esptool, and flash with:
./flash.sh /dev/ttyACM0On Windows:
flash.bat COMxEach package contains manifest.json, flash_args.txt,
platform-specific flash helpers, and the required binaries under
bin/. The checked-in image under Firmware is a
separate factory/recovery asset, not a CI build output. See
Firmware Artifacts.
| Path | Purpose |
|---|---|
| examples/esp-idf/ | First-party ESP-IDF projects |
| examples/arduino/ | V1 Arduino sketches and bundled libraries |
| examples/arduino-v2/ | V2 Arduino sketches and bundled libraries |
| Firmware/ | Factory flashing and recovery image |
| releases/ | Firmware packaging and artifact download tools |
| Schematic/ | Board schematics |
| config/ | Shared ESP-IDF configuration notes and overlays |
| docs/ | Setup, examples, CI, structure, and firmware documentation |
| assets/ | Product images used by repository documentation |
- Getting started
- Example index
- Continuous integration
- Firmware artifacts
- Repository structure
- Release tools
- Product page
- Product documentation
Use GitHub Issues for reproducible reports, and include the board revision, example path, framework version, reproduction steps, expected behavior, actual behavior, and relevant serial or build logs.
Unless noted otherwise in a subdirectory, this repository is licensed under the Apache License 2.0. Third-party code keeps its own license and notices. See LICENSE and Third-party Notices.