Skip to content

ESP32-C6-Touch-AMOLED-1.8

ESP32-C6 1.8-inch 368 x 448 QSPI AMOLED touch development board

Build Examples License

简体中文 · Product Page · Product Documentation · GitHub Releases · CI Firmware Artifacts · ESP-IDF Examples · Arduino V1 · Arduino V2 · Repository Documentation

Waveshare ESP32-C6-Touch-AMOLED-1.8 V2 product image

Overview

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.

Hardware Revisions

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.

Hardware Overview

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

Quick Start

  1. Identify the board revision in the table above. If it is unknown, run 00_board_check to let the BSP report it.
  2. For ESP-IDF, start with 00_bsp_quickstart; the same BSP-based projects support V1 and V2.
  3. For Arduino, use examples/arduino for V1 or examples/arduino-v2 for V2.
  4. To flash without building locally, download the matching package from a successful Build Examples run.

See Getting Started for toolchain and flashing details.

Examples

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.

Supported Toolchains

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.

BSP Dependency

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.

Firmware Artifacts

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 --clean

Open the matching directory under releases/downloads/run-RUN_ID/, install esptool with python -m pip install esptool, and flash with:

./flash.sh /dev/ttyACM0

On Windows:

flash.bat COMx

Each 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.

Repository Layout

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

Documentation

Support and Contributions

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.

License

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.

About

Waveshare ESP32-C6-Touch-AMOLED-1.8 product repository - ESP-IDF and Arduino examples, firmware, and hardware resources.

Resources

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages