Hi,
Today, after 1.5 hours of reflashing my XIAO board, I finally had success with running WLED on XIAO ESP32s3 board: I had to compile wled firmware for this particular board.
What worked for me:
-
Install git platformio, see Compiling WLED - WLED Project
It is also recommended to use platformio in VS code, but I had problem with finding Platformio IDE plugin on Linux. -
Clone WLED repository
git clone https://github.com/Aircoookie/WLED.git cd WLED
-
Open and edit
platformio.ini
file to modify existingesp32s3dev_8MB
configuration or create its copy:3.1. Leave only one board configuration in ‘[platformio]’ section,
[platformio] ... default_envs = esp32s3dev_8MB
3.2. Modify or copy&modify board configuration:
- set
board
toseeed_xiao_esp32s3
- set
platform
tohttps://github.com/platformio/platform-espressif32.git
so finally your board configuration section should look like this:
[env:esp32s3dev_8MB] ;; ESP32-S3-DevKitC-1 development board, with 8MB FLASH, no PSRAM (flash_mode: qio) board = seeed_xiao_esp32s3 platform = https://github.com/platformio/platform-espressif32.git platform_packages = ${esp32s3.platform_packages} upload_speed = 921600 ; or 460800 build_unflags = ${common.build_unflags} build_flags = ${common.build_flags} ${esp32s3.build_flags} -D WLED_RELEASE_NAME=ESP32-S3_8MB -D CONFIG_LITTLEFS_FOR_IDF_3_2 -D WLED_WATCHDOG_TIMEOUT=0 -D ARDUINO_USB_CDC_ON_BOOT=0 ;; -D ARDUINO_USB_MODE=1 ;; for boards with serial-to-USB chip ;-D ARDUINO_USB_CDC_ON_BOOT=1 ;; -D ARDUINO_USB_MODE=1 ;; for boards with USB-OTG connector only (USBCDC or "TinyUSB") ;-D WLED_DEBUG lib_deps = ${esp32s3.lib_deps} board_build.partitions = tools/WLED_ESP32_8MB.csv board_build.f_flash = 80000000L board_build.flash_mode = qio ; board_build.flash_mode = dio ;; try this if you have problems at startup monitor_filters = esp32_exception_decoder
- set
-
Build firmware:
platformio run
-
Flash!
I’m using esptool.py with following command:esptool.py -p /dev/ttyACM0 --baud 460800 --before default_reset --after hard_reset --chip esp32s3 write_flash --flash_mode dio --flash_size detect --flash_freq 80m 0x10000 ./build_output /firmware/esp32s3dev_8MB.bin
where
/dev/ttyACM0
is your ESP32 board UART port
I know, this is quite dirty fix, but I wanted to try this XIAO as quick as possible without delving too deeply into the WLED sources.
Hope this helps
UPD:
My platformio.ini file: WLED build configuration for seeed_xiao_esp32s3 board · GitHub