From 3630f14711fee1bc515e28a2e2e7711b6d81c5cb Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Fri, 5 Jun 2026 19:53:34 +0000 Subject: [PATCH] Add device manifests for Waveshare ESP32-S3-Touch-AMOLED-1.8 and ESP32-C3-LCD-1.47 --- boards/manifests/index.json | 14 ++ boards/manifests/waveshare_c3_lcd_1.47.json | 89 +++++++++++ .../manifests/waveshare_s3_amoled_1in8.json | 144 ++++++++++++++++++ 3 files changed, 247 insertions(+) create mode 100644 boards/manifests/waveshare_c3_lcd_1.47.json create mode 100644 boards/manifests/waveshare_s3_amoled_1in8.json diff --git a/boards/manifests/index.json b/boards/manifests/index.json index d08fca7e..816efae8 100644 --- a/boards/manifests/index.json +++ b/boards/manifests/index.json @@ -106,6 +106,20 @@ "chip": "ESP32-S3", "vendor": "waveshare", "description": "ESP32-S3R8 with 1.64\" 280x456 AMOLED (CO5300), FT3168 touch, QMI8658 IMU, SD card" + }, + { + "id": "waveshare_s3_amoled_1in8", + "name": "Waveshare ESP32-S3 Touch AMOLED 1.8", + "chip": "ESP32-S3", + "vendor": "waveshare", + "description": "ESP32-S3 N16R8 with 1.8\" 368x448 AMOLED, touch, dual mic, IMU, audio, SD, RTC" + }, + { + "id": "waveshare_c3_lcd_1.47", + "name": "Waveshare ESP32-C3 LCD 1.47", + "chip": "ESP32-C3", + "vendor": "waveshare", + "description": "ESP32-C3FH4 with 1.47\" 172x320 IPS LCD, IO expander, SD card, battery charging" } ] } diff --git a/boards/manifests/waveshare_c3_lcd_1.47.json b/boards/manifests/waveshare_c3_lcd_1.47.json new file mode 100644 index 00000000..9e387e98 --- /dev/null +++ b/boards/manifests/waveshare_c3_lcd_1.47.json @@ -0,0 +1,89 @@ +{ + "identity": { + "id": "waveshare_c3_lcd_1.47", + "name": "Waveshare ESP32-C3 LCD 1.47", + "vendor": "waveshare", + "chip": "ESP32-C3", + "revision": "1.0.0", + "description": "ESP32-C3FH4 with 1.47\" 172x320 IPS LCD, IO expander, SD card, battery charging" + }, + "network": { + "mdns_enabled": true, + "ap_password": null, + "default_services": [ + "http", + "webrepl" + ] + }, + "capabilities": { + "wifi": true, + "bluetooth": true, + "neopixel": false, + "status_led": false, + "usb_otg": false, + "display": true, + "touch": false, + "sdcard": true, + "battery": true, + "gpio_expander": true + }, + "resources": { + "pins": { + "boot": 9 + }, + "spi": { + "lcd": { + "sck": 7, + "mosi": 5, + "miso": 6, + "dc": 8 + } + }, + "i2c": { + "i2c0": { + "scl": 3, + "sda": 4 + } + }, + "uart": { + "primary": { + "tx": 21, + "rx": 20 + } + } + }, + "devices": { + "display": { + "type": "ST7789", + "driver": "st7789", + "bus": "spi.lcd", + "interface": "spi", + "width": 172, + "height": 320, + "offset_x": 34, + "offset_y": 0, + "color_bits": 16, + "backlight": { + "type": "io_expander_pwm", + "active_high": true, + "pwm_capable": true + }, + "cs_expander_pin": 0, + "rst_expander_pin": 1, + "description": "1.47\" 172x320 IPS LCD (ST7789V2) with CS/RST via IO expander" + }, + "gpio_expander": { + "type": "custom_mcu", + "bus": "i2c.i2c0", + "i2c_address": "0x24", + "pins_used": 3, + "description": "I2C IO expander for LCD CS, LCD RST, SD CS, and backlight PWM" + }, + "sdcard": { + "mode": "SPI", + "bus": "spi.lcd", + "cs_expander_pin": 2, + "description": "TF/microSD card (SPI mode, CS via IO expander)" + } + } +} diff --git a/boards/manifests/waveshare_s3_amoled_1in8.json b/boards/manifests/waveshare_s3_amoled_1in8.json new file mode 100644 index 00000000..7353e98a --- /dev/null +++ b/boards/manifests/waveshare_s3_amoled_1in8.json @@ -0,0 +1,144 @@ +{ + "identity": { + "id": "waveshare_s3_amoled_1in8", + "name": "Waveshare ESP32-S3 Touch AMOLED 1.8", + "vendor": "waveshare", + "chip": "ESP32-S3", + "revision": "1.0.0", + "description": "ESP32-S3 N16R8 with 1.8\" 368x448 AMOLED, touch, dual mic, IMU, audio, SD, RTC" + }, + "network": { + "mdns_enabled": true, + "ap_password": null, + "default_services": [ + "http", + "webrepl" + ] + }, + "capabilities": { + "wifi": true, + "bluetooth": true, + "neopixel": false, + "status_led": false, + "usb_otg": true, + "display": true, + "touch": true, + "imu": true, + "audio": true, + "microphone": true, + "sdcard": true, + "rtc": true, + "battery": true, + "gnss": false, + "gpio_expander": false + }, + "resources": { + "pins": { + "boot": 0 + }, + "qspi": { + "lcd": { + "sck": 11, + "data0": 4, + "data1": 5, + "data2": 6, + "data3": 7, + "cs": 12 + } + }, + "sdmmc": { + "sdcard": { + "clk": 2, + "cmd": 1, + "d0": 3, + "slot": 0 + } + }, + "i2c": { + "i2c0": { + "scl": 14, + "sda": 15 + } + }, + "i2s": { + "audio": { + "mclk": 16, + "bck": 9, + "ws": 45, + "din": 10, + "dout": 8 + } + }, + "uart": { + "primary": { + "tx": 43, + "rx": 44 + } + }, + "usb": { + "dm": 19, + "dp": 20 + }, + "gpio": { + "tp_int": 21, + "pa_enable": 46 + } + }, + "devices": { + "display": { + "type": "SH8601", + "driver": "sh8601", + "bus": "qspi.lcd", + "width": 368, + "height": 448, + "offset_x": 0, + "offset_y": 0, + "interface": "qspi", + "color_bits": 16, + "description": "1.8\" 368x448 AMOLED (SH8601) with QSPI interface" + }, + "touch": { + "type": "FT3168", + "driver": "ft3168", + "bus": "i2c.i2c0", + "i2c_address": "0x38", + "int_pin": 21, + "description": "Capacitive touch controller (FT3168)" + }, + "imu": { + "type": "QMI8658C", + "driver": "qmi8658", + "bus": "i2c.i2c0", + "i2c_address": "0x6B", + "description": "6-axis accelerometer/gyroscope" + }, + "rtc": { + "type": "PCF85063", + "driver": "pcf85063", + "bus": "i2c.i2c0", + "i2c_address": "0x51", + "description": "Real-time clock with alarm and interrupt" + }, + "audio_codec": { + "type": "ES8311", + "driver": "es8311", + "bus": "i2c.i2c0", + "i2c_address": "0x18", + "i2s_bus": "i2s.audio", + "pa_pin": 46, + "description": "Audio codec for speaker output (DAC)" + }, + "pmu": { + "type": "AXP2101", + "driver": "axp2101", + "bus": "i2c.i2c0", + "i2c_address": "0x34", + "description": "Power management unit — battery charging, voltage regulation" + }, + "sdcard": { + "mode": "SDMMC", + "bus": "sdmmc.sdcard", + "description": "TF/microSD card (1-bit SDMMC mode)" + } + } +}