diff --git a/application/edge_agent/boards/waveshare/waveshare_esp32_s3_zero_n8r8/board_devices.yaml b/application/edge_agent/boards/waveshare/waveshare_esp32_s3_zero_n8r8/board_devices.yaml new file mode 100644 index 000000000..325438344 --- /dev/null +++ b/application/edge_agent/boards/waveshare/waveshare_esp32_s3_zero_n8r8/board_devices.yaml @@ -0,0 +1,58 @@ +version: 1.0.0 +# Devices Configuration for Waveshare ESP32-S3-Zero N8R8 + +devices: + - name: led_strip + chip: ws2812 + type: led_strip + sub_type: rmt + version: 1.0.0 + init_skip: true + config: + strip_gpio_num: 21 + max_leds: 1 + led_model: LED_MODEL_WS2812 + color_component_format: LED_STRIP_COLOR_COMPONENT_FMT_GRB + invert_out: false + rmt: + clk_src: RMT_CLK_SRC_DEFAULT + resolution_hz: 10000000 + mem_block_symbols: 0 + with_dma: true + + - name: buttons + chip: gpio_button + type: custom + version: default + init_skip: true + config: + boot_gpio_num: 0 + active_level: 0 + + - name: uart0_header + chip: header + type: custom + version: default + init_skip: true + config: + tx_gpio_num: 43 + rx_gpio_num: 44 + note: "UART0 header pins; console defaults to native USB Serial/JTAG" + + - name: usb_serial_jtag + chip: esp32s3_native_usb + type: custom + version: default + init_skip: true + config: + dm_gpio_num: 19 + dp_gpio_num: 20 + note: "Native USB Serial/JTAG through the USB-C connector" + + - name: expansion_header + chip: gpio_header + type: custom + version: default + init_skip: true + config: + note: "No fixed I2C/SPI/audio/display/storage devices; GPIO33-GPIO37 are reserved for Octal PSRAM" diff --git a/application/edge_agent/boards/waveshare/waveshare_esp32_s3_zero_n8r8/board_info.yaml b/application/edge_agent/boards/waveshare/waveshare_esp32_s3_zero_n8r8/board_info.yaml new file mode 100644 index 000000000..ccb90ac22 --- /dev/null +++ b/application/edge_agent/boards/waveshare/waveshare_esp32_s3_zero_n8r8/board_info.yaml @@ -0,0 +1,4 @@ +board: waveshare_esp32_s3_zero_n8r8 +chip: esp32s3 +description: "Waveshare ESP32-S3-Zero N8R8 development board with ESP32-S3-PICO-1, RGB LED, and USB-C" +manufacturer: "Waveshare" diff --git a/application/edge_agent/boards/waveshare/waveshare_esp32_s3_zero_n8r8/board_peripherals.yaml b/application/edge_agent/boards/waveshare/waveshare_esp32_s3_zero_n8r8/board_peripherals.yaml new file mode 100644 index 000000000..5f233f4d0 --- /dev/null +++ b/application/edge_agent/boards/waveshare/waveshare_esp32_s3_zero_n8r8/board_peripherals.yaml @@ -0,0 +1,17 @@ +version: 1.0.0 +# Peripherals Configuration for Waveshare ESP32-S3-Zero N8R8 +# +# Official Waveshare ESP32-S3-Zero N8R8 variant notes: +# SoC/module: ESP32-S3-PICO-1-N8R8 +# Flash/PSRAM: 8 MB flash + 8 MB PSRAM +# RGB LED: GPIO21 (WS2812, configured as a led_strip device) +# BOOT button: GPIO0 +# UART0 header: TXD=GPIO43, RXD=GPIO44 +# USB: native ESP32-S3 USB Serial/JTAG via USB-C (D-=GPIO19, D+=GPIO20) +# Reserved for Octal PSRAM: GPIO33-GPIO37 +# +# The board has no fixed I2C/SPI/audio/display/storage bus wiring. Expansion +# header GPIOs are intentionally not initialized here; users can claim them from +# Lua or custom apps as needed. + +peripherals: [] diff --git a/application/edge_agent/boards/waveshare/waveshare_esp32_s3_zero_n8r8/sdkconfig.defaults.board b/application/edge_agent/boards/waveshare/waveshare_esp32_s3_zero_n8r8/sdkconfig.defaults.board new file mode 100644 index 000000000..b2990adb3 --- /dev/null +++ b/application/edge_agent/boards/waveshare/waveshare_esp32_s3_zero_n8r8/sdkconfig.defaults.board @@ -0,0 +1,17 @@ +# Waveshare ESP32-S3-Zero N8R8 (ESP32-S3-PICO-1-N8R8) +# 8 MB QIO flash + 8 MB Octal PSRAM +CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_240=y + +CONFIG_ESPTOOLPY_FLASHMODE_QIO=y +CONFIG_ESPTOOLPY_FLASHFREQ_80M=y +CONFIG_ESPTOOLPY_FLASHSIZE_8MB=y +CONFIG_PARTITION_TABLE_CUSTOM=y +CONFIG_PARTITION_TABLE_CUSTOM_FILENAME="partitions_8MB.csv" + +CONFIG_SPIRAM=y +CONFIG_SPIRAM_MODE_OCT=y +CONFIG_SPIRAM_SPEED_80M=y + +# USB: native ESP32-S3 USB Serial/JTAG over the USB-C connector. +CONFIG_ESP_CONSOLE_USB_SERIAL_JTAG=y +CONFIG_ESP_CONSOLE_SECONDARY_NONE=y diff --git a/application/edge_agent/boards/waveshare/waveshare_esp32_s3_zero_n8r8/setup_device.c b/application/edge_agent/boards/waveshare/waveshare_esp32_s3_zero_n8r8/setup_device.c new file mode 100644 index 000000000..8be08bf38 --- /dev/null +++ b/application/edge_agent/boards/waveshare/waveshare_esp32_s3_zero_n8r8/setup_device.c @@ -0,0 +1,11 @@ +/* + * SPDX-FileCopyrightText: 2026 Espressif Systems (Shanghai) CO LTD + * + * SPDX-License-Identifier: Apache-2.0 + * + * Waveshare ESP32-S3-Zero N8R8 board-specific device includes. + * The onboard WS2812 is declared as an init-skipped led_strip device; Lua can + * create the LED strip driver on demand without Board Manager owning it at boot. + */ +#include "esp_board_manager_includes.h" +#include "gen_board_device_custom.h"