Installation on Xiao ESP32S3

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:

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

  2. Clone WLED repository

    git clone https://github.com/Aircoookie/WLED.git
    cd WLED
    
  3. Open and edit platformio.ini file to modify existing esp32s3dev_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 to seeed_xiao_esp32s3
    • set platform to https://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    
    
  4. Build firmware:

    platformio run
    
  5. 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 :slight_smile:


UPD:
My platformio.ini file: WLED build configuration for seeed_xiao_esp32s3 board · GitHub

1 Like