ESP32-C3 SuperMini – Frequent Wi-Fi Disconnects (Handshake Failed / Auth Expired) while ESP32-WROOM is stable

ESP32-C3 SuperMini – Frequent Wi-Fi Disconnects (Handshake Failed / Auth Expired) while ESP32-WROOM is stable

Hi everyone,

I’m running into constant Wi-Fi stability issues with an ESP32-C3 SuperMini board on ESPHome, and I wanted to check if anyone else has seen the same.

Setup

  • ESP32-C3 SuperMini
  • ESPHome latest
  • Home Assistant Core latest
  • Wi-Fi AP: UniFi, 2.4 GHz, channel 6, WPA2-PSK

YAML config

Standard wifi: block with power_save_mode: none, fast_connect: true, static IP.
Same config runs fine on my ESP32-WROOM boards.

Symptoms

  • Device connects with good RSSI (~ -41 dB).
  • Then it randomly disconnects every few minutes with messages like:
    • reason='Handshake Failed'
    • reason='4-Way Handshake Timeout'
    • reason='Auth Expired'
    • sometimes reason='Unspecified'
  • After a few retries it usually reconnects, but the cycle repeats.

What I tried

  • Disabled WPA3 and 802.11r/k/v on the UniFi side.
  • Forced 20 MHz channel width on 2.4 GHz.
  • Locked to a single AP with BSSID.
  • Disabled PMF (set to Optional).
  • Set output_power between 15–20 dB.

The same SSID + same config works perfectly with ESP32-WROOM modules, so it seems C3-specific.

Question

Has anyone else experienced frequent disconnects with ESP32-C3 (especially SuperMini clones) on ESPHome?
Is this a known ESP-IDF / ESPHome issue with WPA2 handshake stability, or more likely due to the SuperMini’s PCB antenna / power design?

Any tips, success stories, or workarounds would be greatly appreciated.

Thanks in advance!

Nice description.
What about your yaml and logs?

Reducing wifi output_power to, e.g., 10dB might be a first step, I need to do that on an Athom Plug PG01V3 (esp32-c3 based) and an esp32-s3 based devkit to get reliable wifi connections.

I had the same with some of my ESP devices.
My guess was that it was the AP trying to block the device on 2.4GHz to get it to connect to 5GHz instead.

It is specific to certainly to models and other models are not hit at all.
Even my RPi Zero 2W was hit too., but my RPi Zero W was not.

Many of the devices do not have 5GHz radios, but I tested with my WiFi split into two separate SSIDs and that stopped it.

There are good C3 Superminis and bad ones. What colour is the antenna chip?

Red and White. What is strange if I use other firmware, like ESPresece, then Wi-Fi connectino is not a problem and it is stable. I have two Supermini, and with both I face the same issue.

I have the same problem… It works when I flash it with the voiceassistant firmware from esphome.io and connect in a stable way. As soon as I “adopt” the device in my local home assistant I get “auth expired” and my device will not connect at all.
I had similar issues with other devices as well. It has been an increasing issue with newer version of esphome

I am experiencing the same or similar issue as well. But, the logged output seems to point to the mqtt connection as a problem:

[E][mqtt.idf:167]: MQTT_EVENT_ERROR
[15:24:49.359][E][mqtt.idf:169]: Last error code reported from esp-tls: 0x8006
[15:24:49.361][E][mqtt.idf:170]: Last tls stack error number: 0x0
[15:24:49.363][E][mqtt.idf:171]: Last captured errno : 0 (Success)
[15:24:49.365][D][esp-idf:000][mqtt_task]: E (14136) esp-tls: [sock=56] select() timeout
[15:24:49.367][D][esp-idf:000][mqtt_task]: E (14136) transport_base: Failed to open a new connection: 32774
[15:24:49.369][D][esp-idf:000][mqtt_task]: E (14136) mqtt_client: Error transport connect
[15:24:49.370][W][mqtt:358]: Disconnected: TCP disconnected

I tried to use the api, and the api with mqtt: but both options produce the same error.