From 7135d178108d11e190347a401317e06aae6f8c58 Mon Sep 17 00:00:00 2001 From: emuqi Date: Wed, 23 Jul 2025 18:21:14 +0800 Subject: [PATCH] feat(board): Add onboard LED support for Waveshare ESP32-S3 Zero Defines the standard LED_BUILTIN and RGB_BUILTIN macros for the Waveshare ESP32-S3 Zero, allowing its onboard WS2812 RGB LED to be controlled via standard Arduino APIs. --- variants/waveshare_esp32_s3_zero/pins_arduino.h | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/variants/waveshare_esp32_s3_zero/pins_arduino.h b/variants/waveshare_esp32_s3_zero/pins_arduino.h index 0d73bee16d0..20ce1c88859 100644 --- a/variants/waveshare_esp32_s3_zero/pins_arduino.h +++ b/variants/waveshare_esp32_s3_zero/pins_arduino.h @@ -2,6 +2,7 @@ #define Pins_Arduino_h #include +#include "soc/soc_caps.h" #define USB_VID 0x303a #define USB_PID 0x822B @@ -9,9 +10,17 @@ #define USB_PRODUCT "ESP32-S3-Zero" #define USB_SERIAL "" // Empty string for MAC address -// Partial voltage measurement method +// Onboard WS2812 RGB LED #define WS_RGB 21 +// BUILTIN_LED can be used in new Arduino API digitalWrite() like in Blink.ino +static const uint8_t LED_BUILTIN = SOC_GPIO_PIN_COUNT + WS_RGB; +#define BUILTIN_LED LED_BUILTIN // backward compatibility +#define LED_BUILTIN LED_BUILTIN // allow testing #ifdef LED_BUILTIN +// RGB_BUILTIN and RGB_BRIGHTNESS can be used in new Arduino API rgbLedWrite() +#define RGB_BUILTIN LED_BUILTIN +#define RGB_BRIGHTNESS 64 + // Mapping based on the ESP32S3 data sheet - alternate for OUTPUT static const uint8_t OUTPUT_IO1 = 1; static const uint8_t OUTPUT_IO2 = 2;