WEMOS LOLIN ESP32-S3 Mini V1.0.0 (S3FH4R2)

I have a Wemos Lolin ESP32-S3 Mini V1.0.0 (S3FH4R2) and I am not able to install esphome on it, I have tried with many of the configurations that appear in this forum, both with arduino framework and with ESP-IDF.

If anyone has this board working with esphome and can share the configuration file I would be very grateful or any suggestion would be welcome.

Thanks.

# https://www.wemos.cc/en/latest/s3/s3_mini.html

substitutions:
  friendly_name: 'Lolin'
  device_name: 'lolin'
  project_base: 'Wemos'
  project_name: 'ESP32'
  project_version: 'S3 mini'
  device_description: 'Lolin Wemos ESP32-S3 mini'

esphome:
  name: $device_name
  friendly_name: $friendly_name
  comment: $device_description
  project:
    name: ${project_base}.${project_name}
    version: $project_version
  platformio_options:
    platform: https://github.com/platformio/platform-espressif32.git
    board: lolin_s3_mini
    framework: arduino
    platform_packages:
      - framework-arduinoespressif32 @ https://github.com/espressif/arduino-esp32

esp32:
  variant: esp32s3
  board: lolin_s3_mini
  framework:
    type: arduino
    version: latest    

light:
  - platform: neopixelbus
    type: GRB
    variant: 800KBPS
    pin: 47
    num_leds: 1
    name: Led
    icon: mdi:led-outline
    id: esp32s3_rgb_led
    entity_category: config
    restore_mode: ALWAYS_OFF
    internal: true
    default_transition_length: 500ms
    method:
      type: esp32_rmt
      channel: 0              

thanks.

working when compiled on esphome dev branch.

This configuration worked for me,

  name: ${host_name}
  friendly_name: ${upper_device_name}
  platformio_options: 
    board_build.flash_mode: dio
    board_build.extra_flags:
      #- "-DARDUINO_USB_MODE=0"
      - "-DARDUINO_USB_CDC_ON_BOOT=0"

esp32:
  board: ${board_type}
  framework:
    type: arduino

Although I can’t remember now if to get the initial flash I had do the hold the 0 button whilst reseting, but after that all operations carried out over WiFi.

Oh and don’t forget to add the output_power limit,

wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password
  output_power: 10

I’m able to compile and upload with the code below but I’m getting an error in the logger and it’s not booting.

Error is below

INFO Successfully uploaded program.
INFO Starting log output from /dev/cu.usbmodem1101 with baud rate 115200
[18:04:15]E (160) esp_core_dump_flash: No core dump partition found!
# https://www.wemos.cc/en/latest/s3/s3_mini.html

substitutions:
  friendly_name: 'Lolin'
  device_name: 'lolin'
  project_base: 'Wemos'
  project_name: 'ESP32'
  project_version: 'S3 mini'
  device_description: 'Lolin Wemos ESP32-S3 mini'

esphome:
  name: $device_name
  friendly_name: $friendly_name
  comment: $device_description
  project:
    name: ${project_base}.${project_name}
    version: $project_version
  platformio_options:
    platform: https://github.com/platformio/platform-espressif32.git
    board: lolin_s3_mini
    framework: arduino
    platform_packages:
      - framework-arduinoespressif32 @ https://github.com/espressif/arduino-esp32
    board_build.flash_mode: dio
    board_build.extra_flags:
      #- "-DARDUINO_USB_MODE=0"
      - "-DARDUINO_USB_CDC_ON_BOOT=0"
      
esp32:
  variant: esp32s3
  board: lolin_s3_mini
  framework:
    type: arduino
    version: latest    

light:
  - platform: neopixelbus
    type: GRB
    variant: 800KBPS
    pin: 47
    num_leds: 1
    name: Led
    icon: mdi:led-outline
    id: esp32s3_rgb_led
    entity_category: config
    restore_mode: ALWAYS_OFF
    internal: true
    default_transition_length: 500ms
    method:
      type: esp32_rmt
      channel: 0              


logger:

wifi:
  networks:
    - ssid: !secret ssid1
      password: !secret ssid1_password
  fast_connect: True
  power_save_mode: none
  output_power: 10


Any ideas about what could be happening? Thanks!

Here’s a config that worked for me. It turns out support for the Lolin S3 Mini was only added to platformio recently, so you need to specify some more recent versions of packages than the default ESPHome config provides. The platformio_options are merged from a collection of several posts I found here and elsewhere. I’m not sure these are all needed.

Important: when flashing over USB, I noticed that the S3 Mini doesn’t always reboot itself after the flash process completes. I had to manually press the RST button and wait a couple of seconds for it to reboot and join the wifi.

esphome:
  name: device-name
  friendly_name: "device-friendly-name"
  platformio_options:
    board_build.arduino.memory_type: qio_qspi
    board_upload.flash_size: 4MB
    board_upload.ram_size: 327680
    board_upload_maximum_size: 4193404
    board_upload_speed: 460800
    build_flags: [
      "-DBOARD_HAS_PSRAM",
      "-DARDUINO_LOLIN_S3_MINI",
      "-DARDUINO_USB_MODE=1"
      ]

esp32:
  board: lolin_s3_mini
  variant: esp32s3
 
  framework:
    type: arduino
    version: 2.0.8
    platform_version: 6.3.2

I am brand new to ESPHome and I got a few of these little Wemos Lolin S3 Minis and was hoping to use them for this Digiblur mmWave presence sensor project (minus the humidity sensor as I don’t need it where I’m placing these sensors): This DIY mmWave Presence Sensor Changed Everything - LD1125H How To Guide | digiblurDIY.

Digiblur’s code seems to leverage Patrick’s code from here: https://github.com/patrick3399/Hi-Link_mmWave_Radar_ESPHome/blob/797b2d1334f5c6b75e2e1e887e03e395a1ab5092/LD1125H/ESP32-LD1125H-Complete.yaml.

All of the linked code makes use of a nodemcu-32s board, so my assumption was to change it to “lolin_s3_mini” but I have not had any luck getting the code to compile. I’ve then tried appending the esphome section to some of the examples provided above in the thread but I unfortunately have not had any success.

Is anyone able to shine some light on this?

Solved, my own problem: I was finally able to figure out a solution and now I have the mmWave sensor working in my HA/ESPHome. The key for me was getting the framework to work using “version: latest”. Hope this helps someone else out!

  name: $devicename
  platformio_options:
    platform: https://github.com/platformio/platform-espressif32.git
    board: lolin_s3_mini
    framework: espidf
    board_build.flash_mode: dio
....
esp32:
  variant: esp32s3
  board: lolin_s3_mini
  framework:
    type: esp-idf  
    version: latest
2 Likes

Thanks for this, got me going!!

1 Like

thanks!! I got this to work but had to change the flash mode back to qio
Tried all the other configurations I could find and couldn’t get anything to work.

1 Like

Thanks, just tried with S3 mini, C3 mini and C3 pico and it works.
I changed
board: lolin_c3_mini
for both c3 mini and c3 pico which share the same chip.

1 Like

Thanks! I had to use version 5.1.2 instead of latest to get it to build but now everything works!

esphome:
  name: lolin-s3-mini
  platformio_options:
    platform: https://github.com/platformio/platform-espressif32.git
    board: lolin_s3_mini
    framework: espidf
    board_build.flash_mode: dio

esp32:
  variant: esp32s3
  board: lolin_s3_mini
  framework:
    type: esp-idf
    version: 5.1.2
1 Like

Can someone please help ? I have Lolin ESP32 s3 mini .

I want to get on-board LED [Pin 47] (WS2812B) to work.

  • esp-idf framework: Compiles and uploads successfully (config below)
  • arduino framework: Doesn’t compile. I tried examples given above in this thread.

Can someone please share the configuration using arduino framework that compiles and works ?

My current config using esp-idf (compiles and uploads successfully):

esphome:
  name: s3-mini-usbc
  friendly_name: s3-mini-usbc
  platformio_options:
    platform: https://github.com/platformio/platform-espressif32.git
    board: lolin_s3_mini
    framework: espidf
    board_build.flash_mode: dio

esp32:
  variant: esp32s3
  board: lolin_s3_mini
  framework:
    type: esp-idf
    version: latest

RMT light config (doesn’t compile):

light:
  - platform: esp32_rmt_led_strip
    rgb_order: GRB
    pin: 47
    num_leds: 1
    rmt_channel: 1
    chipset: WS2812
    name: "My Light"