RTC_SW_SYS_RST looping

Hi,

I am using a Shelly 1 Mini Gen3 with the yaml from this page, slightly modified (in the ota section) since that hasn’t gotten updated yet. I plan on doing so, but I want to make sure the yaml actually boots.

yaml (esphome 2025.9.1):

esphome:
  name: "shelly-1-mini-gen3"
  friendly_name: "Shelly 1 Mini Gen3"

esp32:
  board: esp32-c3-devkitm-1
  flash_size: 8MB
  framework:
    type: esp-idf
    version: recommended
    sdkconfig_options:
      COMPILER_OPTIMIZATION_SIZE: y

wifi:
  ap:

logger:

api:

ota:
  - platform: esphome
  - platform: web_server

time:
  - platform: homeassistant

captive_portal:

sensor:
  - platform: ntc
    sensor: temp_resistance_reading
    name: "Temperature"
    unit_of_measurement: "°C"
    accuracy_decimals: 1
    icon: "mdi:thermometer"
    calibration:
      b_constant: 3350
      reference_resistance: 10kOhm
      reference_temperature: 298.15K
  - platform: resistance
    id: temp_resistance_reading
    sensor: temp_analog_reading
    configuration: DOWNSTREAM
    resistor: 10kOhm
  - platform: adc
    id: temp_analog_reading
    pin: GPIO3
    attenuation: 12db

output:
  - platform: gpio
    id: "relay_output"
    pin: 7

switch:
  - platform: output
    id: "relay"
    name: "Relay"
    output: "relay_output"

binary_sensor:
  - platform: gpio
    name: "Switch"
    pin: 10
    on_press:
      then:
        - switch.toggle: "relay"
    filters:
      - delayed_on_off: 50ms

  - platform: gpio
    name: "Button"
    pin:
      number: 1
      inverted: yes
      mode:
        input: true
        pullup: true

status_led:
  pin:
    number: 0
    inverted: true

But it keeps looping and looping.

[15:57:31.843]load:0x403cc710,len:0xba4
[15:57:31.844]load:0x403ce710,len:0x2fb4
[15:57:31.844]entry 0x403cc710
[15:57:32.278]ESP-ROM:esp32c3-api1-20210207
[15:57:32.279]Build:Feb  7 2021
[15:57:32.279]rst:0x3 (RTC_SW_SYS_RST),boot:0xd (SPI_FAST_FLASH_BOOT)
[15:57:32.280]Saved PC:0x40048b82
[15:57:32.336]SPIWP:0xee
[15:57:32.336]mode:DIO, clock div:1
[15:57:32.337]load:0x3fcd5820,len:0x1574
[15:57:32.337]load:0x403cc710,len:0xba4
[15:57:32.337]load:0x403ce710,len:0x2fb4
[15:57:32.337]entry 0x403cc710
[15:57:32.674]ESP-ROM:esp32c3-api1-20210207
[15:57:32.675]Build:Feb  7 2021
[15:57:32.675]rst:0x3 (RTC_SW_SYS_RST),boot:0xd (SPI_FAST_FLASH_BOOT)
[15:57:32.676]Saved PC:0x40048b82
[15:57:32.681]SPIWP:0xee
[15:57:32.682]mode:DIO, clock div:1
[15:57:32.682]load:0x3fcd5820,len:0x1574
[15:57:32.682]load:0x403cc710,len:0xba4
[15:57:32.682]load:0x403ce710,len:0x2fb4
[15:57:32.682]entry 0x403cc710
[15:57:33.352]ESP-ROM:esp32c3-api1-20210207
[15:57:33.352]Build:Feb  7 2021
[15:57:33.352]rst:0x3 (RTC_SW_SYS_RST),boot:0xd (SPI_FAST_FLASH_BOOT)
[15:57:33.352]Saved PC:0x40048b82
[15:57:33.359]SPIWP:0xee
[15:57:33.359]mode:DIO, clock div:1
[15:57:33.360]load:0x3fcd5820,len:0x1574
[15:57:33.360]load:0x403cc710,len:0xba4
[15:57:33.360]load:0x403ce710,len:0x2fb4
[15:57:33.360]entry 0x403cc710
[15:57:33.792]ESP-ROM:esp32c3-api1-20210207
[15:57:33.793]Build:Feb  7 2021
[15:57:33.793]rst:0x3 (RTC_SW_SYS_RST),boot:0xd (SPI_FAST_FLASH_BOOT)
[15:57:33.793]Saved PC:0x40048b82
[15:57:33.800]SPIWP:0xee

I tried using web.esphome.io and used “prepare for first use”, but the output is the exact same, which imo is weird, but I might be doing something wrong.

If anybody has any ideas, please let me know!

Did you do full power cycle?
By the way you have ota with web_server, but no web_server configured. Remove that.

Thanks.

Tried that, issue was the same, but what did kinda help was to add

wifi:
  ap:
  output_power: 9dB

With that I can see an AP and connect to it, but I see absolutely 0 log messages, even when the logger is set to verbose.

logger:
  level: VERBOSE 

I wonder if this is a bug that I should report. It seems very weird that I need to set output_power.

How are you powering your Shelly?

For test purposes it’s connected to a 3.3v FTDI. If that wasn’t enought I’d expect there to be no AP and some brownout messages.

I agree but FTDI is likely not able to power Shelly for radio tx.

I am using the FTDI for reading the logs and I can see and ping the shelly on my wifi (with a different config).

It also used to work fine without setting output_power.

At least it seems like I am not alone with this:

I am wondering how to convince the logger to work anyway.

You can keep the FTDI but you need external 3.3V for Shelly.
Afaik FTDI internal 3.3V regulator can supply ~50mA.
If shelly is asking 100mA, both can misbehave.

Ok, the issue was the power, but not in the way you or I thought.

When flashing I connected the shelly to the ftdi, which was connected via usb to my laptop. I then connected GND to IO0 to get the shelly into flash mode. Then I flashed my code via esphome. I then disconnected the ftdi from usb and GND from IO0. That’s when I got the bootloop.

What now works in (so far) 100% of cases: I shortly cross power and GND on the shelly (before reconnecting the ftdi to usb) and then the code boots. I guess there is some residual current that prevents a cold boot.

I have a different problem now, but I’ll create a new topic for it. The shelly now boots via ftdi, but it bootloops when connected to mains, which means it’s still unusable for me.