Dead Boards

Hi Guys

I keep getting dead boards and I wonder if there is a way to resurrect them?
NB. I have 8 functioning ESP32 and ESP 8266 boards, connected to ESPHome with shared configurations, so I do get it right sometimes.

2@ ESP32 Wemos D1 Mini boards fail to connect to WIFI, each show different faults.

I am installing a minimum config, via USB, connected directly to an HA Green box.

One ultimately reports “reason=‘Auth Expired’”, the other “reason=‘Probe Request Unsuccessful’”, though the sequence of logged errors is completely different.

I can supply full logs if anyone is interested.

Both of these chips otherwise work, I have used them tethered and even though they cannot connect, they appear to be running the configured code.

The 3rd one (a Wemos S2 Mini) is unable to connect to USB (plug it in and it is not visible, MacOS and HA Green). It did once work, I have no logs for this one.

I feel my failure rate is a bit high :cry:

What causes this, am I handling them badly and damaging them, do they commonly have manufacturing defects?

What failure rates do other people see?

1 Like

First, most of my ESP work is with the Wemos D1 Mini (ESP8266). They are so cheap I buy them 5 or 10 at a time from Ali Express. I do have a few ESP32’s but my go-to ESP is the Wemos D1 Mini because it has all the GPIO ports that I need. ESP32 would be overkill for my applications.

Having said that, out of probably three dozen Wemos D1 Minis, one arrived with a dead UART, and I smoked two from carelessness. Otherwise, they have been remarkably reliable.

I have lots of D1 minis in use, so far zero broken.

Any idea how?

Usually applying voltage across wrong pins.

Probably/possibly. Most people do not follow “proper” ESD handling protocols. Many boards work fine despite being mistreated, some do not survive.

Some percentage of manufacturing defects is expected. Depending on the source it might be higher than a reputable source.

Most people don’t see such a high failure rate.

I suspect your S2 one is really dead for some reason. Let it go in peace and responsibly recycle it.

Pick one of the other ones and provide more details and full log/config on it. It sounds like you have a failure to communicate for it. Compare the logs with a good one, same config (except name) and same location, same power supply. Then it becomes, “which one of these is not like the others”.

12 Volts will do it every time.

At a minimum, remove your shoes.

Show the configuration YAML.

I have virgin fingers that have never touched an Apple computer. On a PC I would recommend watching the Device Manager, Com ports, to see if the PC can see the UART. I have no idea if the Mac has a similar tool.

I once touched one Iphone… Does it count? Did I lose mine for nothing? :fearful:

I don’t believe that dev boards are generally sensitive to ESD nowadays. But I take out my shoes for comfort :wink:

Sorry to say, my fingers have been fouled by Apple devices. I was on a project once which required me to fly around the country teaching users how to work an iPad.

The day I retired I did a memory wipe of everything I knew about those things. My goal is to never touch one again.

Quick reactions from one wonderful forum member just saved my butt from further problems with this.
For now few years of intense therapy is likely sufficient.
But one day on the gates, Steve is waiting for you… :laughing:

Many thanks for your response.

I have 3 logs and a config, this will be a long post!!

Basic ESP32 config for testing

esphome:
  name: broken-wifi-01
  friendly_name: Broken WIFI Tester 01

esp32:
  board: esp32dev
  framework:
    type: arduino

logger:

api:
  encryption:
    key: "0aYxhK//2d7MuAwnBwX8gCkJ6B/Zxd185tzlpcROgDI="

ota:
  - platform: esphome
    password: "02c28fd114d02767bfc6918cbda24d97"

wifi:
  ssid: !secret wifi_ssid # Untitled-51
  password: !secret wifi_password

  ap:
    ssid: "Broken-WIFI-01"
    password: "236ANNSvUjT5"

captive_portal:

text_sensor:
  - platform: wifi_info
    ip_address:
      name: IP Address
    ssid:
      name: Hotspot
    mac_address:
      name: Mac Address

binary_sensor:
  - platform: status
    name: Status

I ran three versions of this, one called “broken-wifi-01” another called “broken-wifi-02” and one called “working-wifi”. Apart from the names each config is identical, none of the keys or passwords are real.

The configs declare that they should connect to my hidden SSID for IoT devices called “Untitled-51”.

Each run was conducted via a USB tether to my HA Green box, the logs are captured during runs where the build is cached.

I test 3 Wemos D1 Mini ESP32 chips, two known to fail with WIFI, one known to work. Each failure is different but reproducible.

Failure 1:

INFO ESPHome 2025.5.0
INFO Reading configuration /config/esphome/broken-wifi.yaml...
INFO Generating C++ source...
INFO Compiling app...
Processing broken-wifi-01 (board: esp32dev; framework: arduino; platform: platformio/[email protected])
--------------------------------------------------------------------------------
HARDWARE: ESP32 240MHz, 320KB RAM, 4MB Flash
 - toolchain-xtensa-esp32 @ 8.4.0+2021r2-patch5
Dependency Graph
|-- AsyncTCP-esphome @ 2.1.4
|-- WiFi @ 2.0.0
|-- FS @ 2.0.0
|-- Update @ 2.0.0
|-- ESPAsyncWebServer-esphome @ 3.3.0
|-- DNSServer @ 2.0.0
|-- ESPmDNS @ 2.0.0
|-- noise-c @ 0.1.6
RAM:   [=         ]  12.4% (used 40712 bytes from 327680 bytes)
Flash: [=====     ]  50.5% (used 926117 bytes from 1835008 bytes)
========================= [SUCCESS] Took 30.45 seconds =========================
INFO Successfully compiled program.
esptool.py v4.8.1
Serial port /dev/ttyACM0
Connecting.....
Chip is ESP32-D0WD-V3 (revision v3.1)
Features: WiFi, BT, Dual Core, 240MHz, VRef calibration in efuse, Coding Scheme None
Crystal is 40MHz
MAC: ec:e3:34:7b:e9:e8
Uploading stub...
Running stub...
Stub running...
Changing baud rate to 460800
Changed.
Configuring flash size...
Auto-detected Flash size: 4MB
Flash will be erased from 0x00010000 to 0x000f3fff...
Flash will be erased from 0x00001000 to 0x00005fff...
Flash will be erased from 0x00008000 to 0x00008fff...
Flash will be erased from 0x0000e000 to 0x0000ffff...
Compressed 931888 bytes to 617546...
Wrote 931888 bytes (617546 compressed) at 0x00010000 in 14.2 seconds (effective 523.8 kbit/s)...
Hash of data verified.
SHA digest in image updated
Compressed 17440 bytes to 12128...
Wrote 17440 bytes (12128 compressed) at 0x00001000 in 0.5 seconds (effective 263.8 kbit/s)...
Hash of data verified.
Compressed 3072 bytes to 144...
Wrote 3072 bytes (144 compressed) at 0x00008000 in 0.0 seconds (effective 508.2 kbit/s)...
Hash of data verified.
Compressed 8192 bytes to 47...
Wrote 8192 bytes (47 compressed) at 0x0000e000 in 0.1 seconds (effective 712.5 kbit/s)...
Hash of data verified.

Leaving...
Hard resetting via RTS pin...
INFO Successfully uploaded program.
INFO Starting log output from /dev/ttyACM0 with baud rate 115200
[11:19:54][I][logger:171]: Log initialized
[11:19:54][C][safe_mode:079]: There have been 0 suspected unsuccessful boot attempts
[11:19:54][D][esp32.preferences:114]: Saving 1 preferences to flash...
[11:19:54]x98SkEum\x95\xcd\xc1\xcd2.preferences:143]: Saving 1 preferences to flash: 0 cached, 1 written, 0 failed
[11:19:54][I][app:029]: Running through setup()...
[11:19:54][D][text_sensor:064]: 'Mac Address': Sending state 'EC:E3:34:7B:E9:E8'
[11:19:54][D][binary_sensor:034]: 'Status': Sending initial state OFF
[11:19:54][C][wifi:048]: Setting up WiFi...
[11:19:54][C][wifi:061]: Starting WiFi...
[11:19:54][C][wifi:062]:   Local MAC: EC:E3:34:7B:E9:E8
[11:19:55][D][wifi:482]: Starting scan...
[11:19:55][W][component:167]: Component wifi set Warning flag: scanning for networks
[11:20:00][D][wifi:497]: Found networks:
[11:20:00][D][wifi:546]: - ''[redacted] (36:F0:83:4E:D3:CF) [redacted]▂▄▆█
[11:20:00][D][wifi:546]: - 'EE-68MTJG'[redacted] (36:F0:83:4E:D3:CE) [redacted]▂▄▆█
[11:20:00][D][wifi:546]: - 'EE-68MTJG'[redacted] (D0:1B:F4:E2:45:72) [redacted]▂▄▆█
[11:20:00][W][wifi:551]: No matching network found!
[11:20:05][D][wifi:482]: Starting scan...
[11:20:11][D][wifi:497]: Found networks:
[11:20:11][D][wifi:546]: - ''[redacted] (36:F0:83:4E:D3:CF) [redacted]▂▄▆█
[11:20:11][D][wifi:546]: - 'EE-68MTJG'[redacted] (36:F0:83:4E:D3:CE) [redacted]▂▄▆█
[11:20:11][D][wifi:546]: - 'EE-68MTJG'[redacted] (D0:1B:F4:E2:45:72) [redacted]▂▄▆█
[11:20:11][W][wifi:551]: No matching network found!
[11:20:16][D][wifi:482]: Starting scan...
[11:20:22][D][wifi:497]: Found networks:
[11:20:22][D][wifi:546]: - 'EE-68MTJG'[redacted] (36:F0:83:4E:D3:CE) [redacted]▂▄▆█
[11:20:22][D][wifi:546]: - ''[redacted] (36:F0:83:4E:D3:CF) [redacted]▂▄▆█
[11:20:22][D][wifi:546]: - 'EE-68MTJG'[redacted] (D0:1B:F4:E2:45:72) [redacted]▂▄▆█
[11:20:22][W][wifi:551]: No matching network found!
[11:20:27][D][wifi:482]: Starting scan...
[11:20:33][D][wifi:497]: Found networks:
[11:20:33][D][wifi:546]: - ''[redacted] (36:F0:83:4E:D3:CF) [redacted]▂▄▆█
[11:20:33][D][wifi:546]: - 'EE-68MTJG'[redacted] (36:F0:83:4E:D3:CE) [redacted]▂▄▆█
[11:20:33][D][wifi:546]: - 'EE-68MTJG'[redacted] (D0:1B:F4:E2:45:72) [redacted]▂▄▆█
[11:20:33][W][wifi:551]: No matching network found!
[11:20:38][D][wifi:482]: Starting scan...
[11:20:44][D][wifi:497]: Found networks:
[11:20:44][D][wifi:546]: - ''[redacted] (36:F0:83:4E:D3:CF) [redacted]▂▄▆█
[11:20:44][D][wifi:546]: - 'EE-68MTJG'[redacted] (36:F0:83:4E:D3:CE) [redacted]▂▄▆█
[11:20:44][D][wifi:546]: - 'EE-68MTJG'[redacted] (D0:1B:F4:E2:45:72) [redacted]▂▄▆█
[11:20:44][W][wifi:551]: No matching network found!
[11:20:44][D][wifi:697]: Retrying with hidden networks...
[11:20:49][I][wifi:313]: WiFi Connecting to 'Untitled-51'...
[11:20:54][I][wifi:182]: Starting fallback AP!
[11:20:54][C][wifi:263]: Setting up AP...
[11:20:54][C][wifi:265]:   AP SSID: 'Broken-WIFI-01'
[11:20:54][C][wifi:266]:   AP Password: '236ANNSvUjT5'
[11:20:55][C][wifi:275]:   IP Address: 192.168.4.1
[11:20:55][C][api:030]: Setting up Home Assistant API server...
[11:20:55][I][app:066]: setup() finished successfully!
[11:20:55][I][safe_mode:041]: Boot seems successful; resetting boot loop counter
[11:20:55][D][esp32.preferences:114]: Saving 1 preferences to flash...
[11:20:55][D][esp32.preferences:143]: Saving 1 preferences to flash: 0 cached, 1 written, 0 failed
[11:20:55][W][component:167]: Component api set Warning flag: unspecified
[11:20:55][I][app:115]: ESPHome version 2025.5.0 compiled on May 26 2025, 11:13:43
[11:20:55][C][wifi:600]: WiFi:
[11:20:55][C][wifi:428]:   Local MAC: EC:E3:34:7B:E9:E8
[11:20:55][C][wifi:433]:   SSID: ''[redacted]
[11:20:55][C][wifi:440]:   BSSID: 00:00:00:00:00:00[redacted]
[11:20:55][C][wifi:441]:   Hostname: 'broken-wifi-01'
[11:20:55][C][wifi:443]:   Signal strength: 0 dB ▂▄▆█
[11:20:55][C][wifi:447]:   Channel: 1
[11:20:55][C][wifi:448]:   Subnet: 0.0.0.0
[11:20:55][C][wifi:449]:   Gateway: 0.0.0.0
[11:20:55][C][wifi:450]:   DNS1: 0.0.0.0
[11:20:55][C][wifi:451]:   DNS2: 0.0.0.0
[11:20:55][W][wifi:653]: Error while connecting to network.
[11:20:55][I][wifi:313]: WiFi Connecting to ''...
[11:20:55][W][wifi_esp32:278]: esp_wifi_connect failed: ESP_ERR_WIFI_SSID
[11:20:55][E][wifi:369]: wifi_sta_connect_ failed!
[11:20:55][W][wifi_esp32:566][arduino_events]: Event: Disconnected ssid='Untitled-51' reason='Probe Request Unsuccessful'
[11:20:55][C][logger:224]: Logger:
[11:20:55][C][logger:225]:   Max Level: DEBUG
[11:20:55][C][logger:226]:   Initial Level: DEBUG
[11:20:55][C][logger:228]:   Log Baud Rate: 115200
[11:20:55][C][logger:229]:   Hardware UART: UART0
[11:20:55][C][logger:233]:   Task Log Buffer Size: 768
[11:20:55][C][wifi_info:014]: WifiInfo Mac Address 'Mac Address'
[11:20:55][C][status:034]: Status Binary Sensor 'Status'
[11:20:55][C][status:034]:   Device Class: 'connectivity'
[11:20:55][C][captive_portal:089]: Captive Portal:
[11:20:55][C][mdns:120]: mDNS:
[11:20:55][C][mdns:121]:   Hostname: broken-wifi-01
[11:20:55][C][esphome.ota:073]: Over-The-Air updates:
[11:20:55][C][esphome.ota:074]:   Address: broken-wifi-01.local:3232
[11:20:55][C][esphome.ota:075]:   Version: 2
[11:20:55][C][esphome.ota:078]:   Password configured
[11:20:55][C][safe_mode:018]: Safe Mode:
[11:20:55][C][safe_mode:020]:   Boot considered successful after 60 seconds
[11:20:55][C][safe_mode:021]:   Invoke after 10 boot attempts
[11:20:55][C][safe_mode:023]:   Remain in safe mode for 300 seconds
[11:20:55][C][api:170]: API Server:
[11:20:55][C][api:171]:   Address: broken-wifi-01.local:6053
[11:20:55][C][api:173]:   Using noise encryption: YES
[11:20:55][C][wifi_info:012]: WifiInfo SSID 'Hotspot'
[11:20:56][C][wifi_info:010]: WifiInfo IPAddress 'IP Address'
[11:21:00][I][wifi:313]: WiFi Connecting to 'Untitled-51'...
[11:21:00][W][wifi:663]: WiFi network can not be found anymore.
[11:21:00][I][wifi:313]: WiFi Connecting to ''...
[11:21:00][W][wifi_esp32:278]: esp_wifi_connect failed: ESP_ERR_WIFI_SSID
[11:21:00][E][wifi:369]: wifi_sta_connect_ failed!
[11:21:05][I][wifi:313]: WiFi Connecting to 'Untitled-51'...
[11:21:05][W][wifi:663]: WiFi network can not be found anymore.
[11:21:05][I][wifi:313]: WiFi Connecting to ''...
[11:21:05][W][wifi_esp32:278]: esp_wifi_connect failed: ESP_ERR_WIFI_SSID
[11:21:05][E][wifi:369]: wifi_sta_connect_ failed!
[11:21:10][I][wifi:313]: WiFi Connecting to 'Untitled-51'...
[11:21:10][W][wifi:663]: WiFi network can not be found anymore.
[11:21:10][I][wifi:313]: WiFi Connecting to ''...
[11:21:10][W][wifi_esp32:278]: esp_wifi_connect failed: ESP_ERR_WIFI_SSID
[11:21:10][E][wifi:369]: wifi_sta_connect_ failed!
[11:21:15][I][wifi:313]: WiFi Connecting to 'Untitled-51'...
[11:21:15][W][wifi:663]: WiFi network can not be found anymore.
[11:21:16][I][wifi:313]: WiFi Connecting to ''...
[11:21:16][W][wifi_esp32:278]: esp_wifi_connect failed: ESP_ERR_WIFI_SSID
[11:21:16][E][wifi:369]: wifi_sta_connect_ failed!

Failure 2:

INFO ESPHome 2025.5.0
INFO Reading configuration /config/esphome/broken-wifi.yaml...
INFO Generating C++ source...
INFO Compiling app...
Processing broken-wifi-02 (board: esp32dev; framework: arduino; platform: platformio/[email protected])
--------------------------------------------------------------------------------
HARDWARE: ESP32 240MHz, 320KB RAM, 4MB Flash
 - toolchain-xtensa-esp32 @ 8.4.0+2021r2-patch5
Dependency Graph
|-- AsyncTCP-esphome @ 2.1.4
|-- WiFi @ 2.0.0
|-- FS @ 2.0.0
|-- Update @ 2.0.0
|-- ESPAsyncWebServer-esphome @ 3.3.0
|-- DNSServer @ 2.0.0
|-- ESPmDNS @ 2.0.0
|-- noise-c @ 0.1.6
RAM:   [=         ]  12.4% (used 40712 bytes from 327680 bytes)
Flash: [=====     ]  50.5% (used 926117 bytes from 1835008 bytes)
========================= [SUCCESS] Took 30.48 seconds =========================
INFO Successfully compiled program.
esptool.py v4.8.1
Serial port /dev/ttyACM0
Connecting....
Chip is ESP32-D0WD-V3 (revision v3.1)
Features: WiFi, BT, Dual Core, 240MHz, VRef calibration in efuse, Coding Scheme None
Crystal is 40MHz
MAC: 08:a6:f7:10:8a:e8
Uploading stub...
Running stub...
Stub running...
Changing baud rate to 460800
Changed.
Configuring flash size...
Auto-detected Flash size: 4MB
Flash will be erased from 0x00010000 to 0x000f3fff...
Flash will be erased from 0x00001000 to 0x00005fff...
Flash will be erased from 0x00008000 to 0x00008fff...
Flash will be erased from 0x0000e000 to 0x0000ffff...
Compressed 931888 bytes to 617549...
Wrote 931888 bytes (617549 compressed) at 0x00010000 in 13.9 seconds (effective 536.6 kbit/s)...
Hash of data verified.
SHA digest in image updated
Compressed 17440 bytes to 12128...
Wrote 17440 bytes (12128 compressed) at 0x00001000 in 0.4 seconds (effective 371.9 kbit/s)...
Hash of data verified.
Compressed 3072 bytes to 144...
Wrote 3072 bytes (144 compressed) at 0x00008000 in 0.0 seconds (effective 1307.7 kbit/s)...
Hash of data verified.
Compressed 8192 bytes to 47...
Wrote 8192 bytes (47 compressed) at 0x0000e000 in 0.0 seconds (effective 2130.4 kbit/s)...
Hash of data verified.

Leaving...
Hard resetting via RTS pin...
INFO Successfully uploaded program.
INFO Starting log output from /dev/ttyACM0 with baud rate 115200
[11:30:37][I][logger:171]: Log initialized
[11:30:37][C][safe_mode:079]: There have been 0 suspected unsuccessful boot attempts
[11:30:37][D][esp32.preferences:114]: Saving 1 preferences to flash...
[11:30:37]kEum\x95\xcd\xc1\xcd2.preferences:143]: Saving 1 preferences to flash: 0 cached, 1 written, 0 failed
[11:30:37][I][app:029]: Running through setup()...
[11:30:37][D][text_sensor:064]: 'Mac Address': Sending state '08:A6:F7:10:8A:E8'
[11:30:37][D][binary_sensor:034]: 'Status': Sending initial state OFF
[11:30:37][C][wifi:048]: Setting up WiFi...
[11:30:37][C][wifi:061]: Starting WiFi...
[11:30:37][C][wifi:062]:   Local MAC: 08:A6:F7:10:8A:E8
[11:30:37][D][wifi:482]: Starting scan...
[11:30:37][W][component:167]: Component wifi set Warning flag: scanning for networks
[11:30:43][D][wifi:497]: Found networks:
[11:30:43][I][wifi:541]: - 'Untitled-51' (F6:92:BF:98:EE:51) [redacted]▂▄▆█
[11:30:43][D][wifi:542]:     Channel: 1
[11:30:43][D][wifi:543]:     RSSI: -94 dB
[11:30:43][D][wifi:546]: - 'Ubik'[redacted] (F4:92:BF:A8:EE:51) [redacted]▂▄▆█
[11:30:43][D][wifi:546]: - 'ElectricAnt'[redacted] (F6:92:BF:A8:EE:51) [redacted]▂▄▆█
[11:30:43][D][wifi:546]: - 'TALKTALK94D66D'[redacted] (5C:B1:3E:94:D6:6A) [redacted]▂▄▆█
[11:30:43][D][wifi:546]: - ''[redacted] (F6:92:BF:B8:EE:51) [redacted]▂▄▆█
[11:30:43][I][wifi:313]: WiFi Connecting to 'Untitled-51'...
[11:30:45][W][wifi_esp32:569][arduino_events]: Event: Disconnected ssid='Untitled-51' bssid=F6:92:BF:98:EE:51[redacted] reason='Auth Expired'
[11:30:45][W][wifi:653]: Error while connecting to network.
[11:30:45][D][wifi:697]: Retrying with hidden networks...
[11:30:45][I][wifi:313]: WiFi Connecting to 'Untitled-51'...
[11:30:46][W][wifi_esp32:569][arduino_events]: Event: Disconnected ssid='Untitled-51' bssid=F6:92:BF:98:EE:51[redacted] reason='Auth Expired'
[11:30:46][W][wifi:653]: Error while connecting to network.
[11:30:46][D][wifi:697]: Retrying with hidden networks...
[11:30:51][I][wifi:313]: WiFi Connecting to 'Untitled-51'...
[11:30:58][W][wifi_esp32:569][arduino_events]: Event: Disconnected ssid='Untitled-51' bssid=F6:92:BF:98:EE:51[redacted] reason='Auth Expired'
[11:30:58][W][wifi:653]: Error while connecting to network.
[11:30:58][D][wifi:697]: Retrying with hidden networks...
[11:30:58][I][wifi:313]: WiFi Connecting to 'Untitled-51'...
[11:31:00][W][wifi_esp32:569][arduino_events]: Event: Disconnected ssid='Untitled-51' bssid=F6:92:BF:98:EE:51[redacted] reason='Auth Expired'
[11:31:00][W][wifi:653]: Error while connecting to network.
[11:31:00][D][wifi:697]: Retrying with hidden networks...
[11:31:05][I][wifi:313]: WiFi Connecting to 'Untitled-51'...
[11:31:13][W][wifi_esp32:569][arduino_events]: Event: Disconnected ssid='Untitled-51' bssid=F6:92:BF:98:EE:51[redacted] reason='Auth Expired'
[11:31:13][W][wifi:653]: Error while connecting to network.
[11:31:13][D][wifi:697]: Retrying with hidden networks...
[11:31:13][I][wifi:313]: WiFi Connecting to 'Untitled-51'...
[11:31:15][W][wifi_esp32:569][arduino_events]: Event: Disconnected ssid='Untitled-51' bssid=F6:92:BF:98:EE:51[redacted] reason='Auth Expired'
[11:31:15][W][wifi:653]: Error while connecting to network.
[11:31:15][D][wifi:697]: Retrying with hidden networks...
[11:31:20][I][wifi:313]: WiFi Connecting to 'Untitled-51'...
[11:31:28][W][wifi_esp32:569][arduino_events]: Event: Disconnected ssid='Untitled-51' bssid=F6:92:BF:98:EE:51[redacted] reason='Auth Expired'
[11:31:28][W][wifi:653]: Error while connecting to network.
[11:31:28][W][wifi:690]: Restarting WiFi adapter...
[11:31:28][I][wifi:313]: WiFi Connecting to 'Untitled-51'...
[11:31:30][W][wifi_esp32:569][arduino_events]: Event: Disconnected ssid='Untitled-51' bssid=F6:92:BF:98:EE:51[redacted] reason='Auth Expired'
[11:31:30][W][wifi:653]: Error while connecting to network.
[11:31:30][D][wifi:697]: Retrying with hidden networks...
[11:31:35][I][wifi:313]: WiFi Connecting to 'Untitled-51'...
[11:31:37][I][wifi:182]: Starting fallback AP!
[11:31:37][C][wifi:263]: Setting up AP...
[11:31:37][C][wifi:265]:   AP SSID: 'Broken-WIFI-02'
[11:31:37][C][wifi:266]:   AP Password: '236ANNSvUjT5'
[11:31:37][C][wifi:275]:   IP Address: 192.168.4.1
[11:31:37][C][api:030]: Setting up Home Assistant API server...
[11:31:37][I][app:066]: setup() finished successfully!
[11:31:37][I][safe_mode:041]: Boot seems successful; resetting boot loop counter
[11:31:38][D][esp32.preferences:114]: Saving 1 preferences to flash...
[11:31:38][D][esp32.preferences:143]: Saving 1 preferences to flash: 0 cached, 1 written, 0 failed
[11:31:38][W][component:167]: Component api set Warning flag: unspecified
[11:31:38][I][app:115]: ESPHome version 2025.5.0 compiled on May 26 2025, 11:25:53
[11:31:38][C][wifi:600]: WiFi:
[11:31:38][C][wifi:428]:   Local MAC: 08:A6:F7:10:8A:E8
[11:31:38][C][wifi:433]:   SSID: ''[redacted]
[11:31:38][C][wifi:440]:   BSSID: 00:00:00:00:00:00[redacted]
[11:31:38][C][wifi:441]:   Hostname: 'broken-wifi-02'
[11:31:38][C][wifi:443]:   Signal strength: 0 dB ▂▄▆█
[11:31:38][C][wifi:447]:   Channel: 14
[11:31:38][C][wifi:448]:   Subnet: 0.0.0.0
[11:31:38][C][wifi:449]:   Gateway: 0.0.0.0
[11:31:38][C][wifi:450]:   DNS1: 0.0.0.0
[11:31:38][C][wifi:451]:   DNS2: 0.0.0.0
[11:31:38][C][logger:224]: Logger:
[11:31:38][C][logger:225]:   Max Level: DEBUG
[11:31:38][C][logger:226]:   Initial Level: DEBUG
[11:31:38][C][logger:228]:   Log Baud Rate: 115200
[11:31:38][C][logger:229]:   Hardware UART: UART0
[11:31:38][C][logger:233]:   Task Log Buffer Size: 768
[11:31:38][C][wifi_info:014]: WifiInfo Mac Address 'Mac Address'
[11:31:38][C][status:034]: Status Binary Sensor 'Status'
[11:31:38][C][status:034]:   Device Class: 'connectivity'
[11:31:38][C][captive_portal:089]: Captive Portal:
[11:31:38][C][mdns:120]: mDNS:
[11:31:38][C][mdns:121]:   Hostname: broken-wifi-02
[11:31:38][C][esphome.ota:073]: Over-The-Air updates:
[11:31:38][C][esphome.ota:074]:   Address: broken-wifi-02.local:3232
[11:31:38][C][esphome.ota:075]:   Version: 2
[11:31:38][C][esphome.ota:078]:   Password configured
[11:31:38][C][safe_mode:018]: Safe Mode:
[11:31:38][C][safe_mode:020]:   Boot considered successful after 60 seconds
[11:31:38][C][safe_mode:021]:   Invoke after 10 boot attempts
[11:31:38][C][safe_mode:023]:   Remain in safe mode for 300 seconds
[11:31:38][C][api:170]: API Server:
[11:31:38][C][api:171]:   Address: broken-wifi-02.local:6053
[11:31:38][C][api:173]:   Using noise encryption: YES
[11:31:38][C][wifi_info:012]: WifiInfo SSID 'Hotspot'
[11:31:38][C][wifi_info:010]: WifiInfo IPAddress 'IP Address'
[11:31:39][D][text_sensor:064]: 'Hotspot': Sending state 'Untitled-51'
[11:31:39][W][component:257]: Component wifi_info.text_sensor took a long time for an operation (813 ms).
[11:31:39][W][component:258]: Components should block for at most 30 ms.
[11:31:40][W][wifi:653]: Error while connecting to network.
[11:31:40][I][wifi:313]: WiFi Connecting to 'Untitled-51'...
[11:31:40][W][wifi_esp32:569][arduino_events]: Event: Disconnected ssid='Untitled-51' bssid=F6:92:BF:98:EE:51[redacted] reason='Auth Expired'
[11:31:42][W][wifi_esp32:569][arduino_events]: Event: Disconnected ssid='Untitled-51' bssid=F6:92:BF:98:EE:51[redacted] reason='Auth Expired'
[11:31:42][W][wifi:653]: Error while connecting to network.
[11:31:42][D][text_sensor:064]: 'Hotspot': Sending state ''
[11:31:47][I][wifi:313]: WiFi Connecting to 'Untitled-51'...
[11:31:50][D][text_sensor:064]: 'Hotspot': Sending state 'Untitled-51'
[11:31:51][W][wifi:653]: Error while connecting to network.
[11:31:51][I][wifi:313]: WiFi Connecting to 'Untitled-51'...
[11:31:51][W][wifi_esp32:569][arduino_events]: Event: Disconnected ssid='Untitled-51' bssid=F6:92:BF:98:EE:51[redacted] reason='Auth Expired'
[11:31:53][W][wifi:653]: Error while connecting to network.
[11:31:53][W][wifi_esp32:569][arduino_events]: Event: Disconnected ssid='Untitled-51' bssid=F6:92:BF:98:EE:51[redacted] reason='Auth Expired'
[11:31:54][D][text_sensor:064]: 'Hotspot': Sending state ''

Successful Run:

INFO ESPHome 2025.5.0
INFO Reading configuration /config/esphome/working-wifi.yaml...
INFO Generating C++ source...
INFO Compiling app...
Processing working-wifi (board: esp32dev; framework: arduino; platform: platformio/[email protected])
--------------------------------------------------------------------------------
HARDWARE: ESP32 240MHz, 320KB RAM, 4MB Flash
 - toolchain-xtensa-esp32 @ 8.4.0+2021r2-patch5
Dependency Graph
|-- AsyncTCP-esphome @ 2.1.4
|-- WiFi @ 2.0.0
|-- FS @ 2.0.0
|-- Update @ 2.0.0
|-- ESPAsyncWebServer-esphome @ 3.3.0
|-- DNSServer @ 2.0.0
|-- ESPmDNS @ 2.0.0
|-- noise-c @ 0.1.6
RAM:   [=         ]  12.4% (used 40712 bytes from 327680 bytes)
Flash: [=====     ]  50.5% (used 926101 bytes from 1835008 bytes)
========================= [SUCCESS] Took 30.42 seconds =========================
INFO Successfully compiled program.
esptool.py v4.8.1
Serial port /dev/ttyACM0
Connecting.....
Chip is ESP32-D0WD-V3 (revision v3.1)
Features: WiFi, BT, Dual Core, 240MHz, VRef calibration in efuse, Coding Scheme None
Crystal is 40MHz
MAC: 08:a6:f7:10:a3:e8
Uploading stub...
Running stub...
Stub running...
Changing baud rate to 460800
Changed.
Configuring flash size...
Auto-detected Flash size: 4MB
Flash will be erased from 0x00010000 to 0x000f3fff...
Flash will be erased from 0x00001000 to 0x00005fff...
Flash will be erased from 0x00008000 to 0x00008fff...
Flash will be erased from 0x0000e000 to 0x0000ffff...
Compressed 931872 bytes to 617508...
Wrote 931872 bytes (617508 compressed) at 0x00010000 in 14.0 seconds (effective 533.3 kbit/s)...
Hash of data verified.
SHA digest in image updated
Compressed 17440 bytes to 12128...
Wrote 17440 bytes (12128 compressed) at 0x00001000 in 0.4 seconds (effective 367.0 kbit/s)...
Hash of data verified.
Compressed 3072 bytes to 144...
Wrote 3072 bytes (144 compressed) at 0x00008000 in 0.0 seconds (effective 1173.1 kbit/s)...
Hash of data verified.
Compressed 8192 bytes to 47...
Wrote 8192 bytes (47 compressed) at 0x0000e000 in 0.0 seconds (effective 1862.4 kbit/s)...
Hash of data verified.

Leaving...
Hard resetting via RTS pin...
INFO Successfully uploaded program.
INFO Starting log output from /dev/ttyACM0 with baud rate 115200
[11:40:57][I][logger:171]: Log initialized
[11:40:57][C][safe_mode:079]: There have been 0 suspected unsuccessful boot attempts
[11:40:57][D][esp32.preferences:114]: Saving 1 preferences to flash...
[11:40:57]x98SkEum\x95\xcd\xc1\xcd2.preferences:143]: Saving 1 preferences to flash: 0 cached, 1 written, 0 failed
[11:40:57][I][app:029]: Running through setup()...
[11:40:57][D][text_sensor:064]: 'Mac Address': Sending state '08:A6:F7:10:A3:E8'
[11:40:57][D][binary_sensor:034]: 'Status': Sending initial state OFF
[11:40:57][C][wifi:048]: Setting up WiFi...
[11:40:57][C][wifi:061]: Starting WiFi...
[11:40:57][C][wifi:062]:   Local MAC: 08:A6:F7:10:A3:E8
[11:40:57][D][wifi:482]: Starting scan...
[11:40:57][W][component:167]: Component wifi set Warning flag: scanning for networks
[11:41:03][D][wifi:497]: Found networks:
[11:41:03][I][wifi:541]: - 'Untitled-51' (F6:92:BF:98:EE:51) [redacted]▂▄▆█
[11:41:03][D][wifi:542]:     Channel: 1
[11:41:03][D][wifi:543]:     RSSI: -46 dB
[11:41:04][I][wifi:541]: - 'Untitled-51' (F6:92:BF:9C:5C:BD) [redacted]▂▄▆█
[11:41:04][D][wifi:542]:     Channel: 11
[11:41:04][D][wifi:543]:     RSSI: -72 dB
[11:41:04][D][wifi:546]: - 'ElectricAnt'[redacted] (F6:92:BF:A8:EE:51) [redacted]▂▄▆█
[11:41:04][D][wifi:546]: - ''[redacted] (F6:92:BF:B8:EE:51) [redacted]▂▄▆█
[11:41:04][D][wifi:546]: - 'Ubik'[redacted] (F4:92:BF:A8:EE:51) [redacted]▂▄▆█
[11:41:04][D][wifi:546]: - 'BT-P3AWNR'[redacted] (30:B1:B5:9A:B4:8B) [redacted]▂▄▆█
[11:41:04][D][wifi:546]: - 'EE WiFi'[redacted] (7A:B1:B5:9A:B4:8C) [redacted]▂▄▆█
[11:41:04][D][wifi:546]: - ''[redacted] (7A:B1:B5:9A:B4:8F) [redacted]▂▄▆█
[11:41:04][D][wifi:546]: - 'TALKTALK94D66D'[redacted] (5C:B1:3E:94:D6:6A) [redacted]▂▄▆█
[11:41:04][D][wifi:546]: - 'AndroidAP5032'[redacted] (6A:4A:9B:C1:68:D2) [redacted]▂▄▆█
[11:41:04][D][wifi:546]: - 'EE-68MTJG'[redacted] (36:F0:83:4E:D3:CE) [redacted]▂▄▆█
[11:41:04][D][wifi:546]: - ''[redacted] (36:F0:83:4E:D3:CF) [redacted]▂▄▆█
[11:41:04][D][wifi:546]: - 'EE-68MTJG'[redacted] (D0:1B:F4:E2:45:72) [redacted]▂▄▆█
[11:41:04][D][wifi:546]: - ''[redacted] (CA:1B:F4:E2:45:76) [redacted]▂▄▆█
[11:41:04][D][wifi:546]: - 'EE WiFi'[redacted] (62:83:94:98:A7:01) [redacted]▂▄▆█
[11:41:04][D][wifi:546]: - ''[redacted] (62:83:94:98:A7:04) [redacted]▂▄▆█
[11:41:04][D][wifi:546]: - 'BT-9QF9HJ'[redacted] (8C:83:94:98:A7:00) [redacted]▂▄▆█
[11:41:04][D][wifi:546]: - 'EE-68C28T'[redacted] (4C:22:F3:64:72:66) [redacted]▂▄▆█
[11:41:04][D][wifi:546]: - ''[redacted] (72:22:F3:64:72:62) [redacted]▂▄▆█
[11:41:04][D][wifi:546]: - 'ElectricAnt'[redacted] (F6:92:BF:AC:5C:BD) [redacted]▂▄▆█
[11:41:04][D][wifi:546]: - ''[redacted] (F6:92:BF:BC:5C:BD) [redacted]▂▄▆█
[11:41:04][D][wifi:546]: - 'Ubik'[redacted] (F4:92:BF:AC:5C:BD) [redacted]▂▄▆█
[11:41:04][D][wifi:546]: - 'VM8633349'[redacted] (AC:F8:CC:63:F7:61) [redacted]▂▄▆█
[11:41:04][D][wifi:546]: - ''[redacted] (AC:15:A2:16:52:52) [redacted]▂▄▆█
[11:41:04][D][wifi:546]: - 'Jimbo’s Mesh'[redacted] (AE:25:A2:16:52:52) [redacted]▂▄▆█
[11:41:04][D][wifi:546]: - 'Netatmo'[redacted] (AE:45:A2:16:52:52) [redacted]▂▄▆█
[11:41:04][D][wifi:546]: - 'TALKTALKDDB34D'[redacted] (78:17:BE:DD:B3:5C) [redacted]▂▄▆█
[11:41:04][D][wifi:546]: - 'Netatmo'[redacted] (AE:45:A2:16:52:4A) [redacted]▂▄▆█
[11:41:04][D][wifi:546]: - ''[redacted] (AC:15:A2:16:59:DE) [redacted]▂▄▆█
[11:41:04][I][wifi:313]: WiFi Connecting to 'Untitled-51'...
[11:41:05][I][wifi:617]: WiFi Connected!
[11:41:05][C][wifi:428]:   Local MAC: 08:A6:F7:10:A3:E8
[11:41:05][C][wifi:433]:   SSID: 'Untitled-51'[redacted]
[11:41:05][C][wifi:436]:   IP Address: 192.168.3.48
[11:41:05][C][wifi:440]:   BSSID: F6:92:BF:98:EE:51[redacted]
[11:41:05][C][wifi:441]:   Hostname: 'working-wifi'
[11:41:05][C][wifi:443]:   Signal strength: -47 dB ▂▄▆█
[11:41:05][C][wifi:447]:   Channel: 1
[11:41:05][C][wifi:448]:   Subnet: 255.255.255.0
[11:41:05][C][wifi:449]:   Gateway: 192.168.3.1
[11:41:05][C][wifi:450]:   DNS1: 192.168.3.1
[11:41:05][C][wifi:451]:   DNS2: 0.0.0.0
[11:41:05][D][wifi:626]: Disabling AP...
[11:41:05][C][api:030]: Setting up Home Assistant API server...
[11:41:05][I][app:066]: setup() finished successfully!
[11:41:05][W][component:182]: Component wifi cleared Warning flag
[11:41:05][W][component:167]: Component api set Warning flag: unspecified
[11:41:05][I][app:115]: ESPHome version 2025.5.0 compiled on May 26 2025, 11:36:27
[11:41:05][C][wifi:600]: WiFi:
[11:41:05][C][wifi:428]:   Local MAC: 08:A6:F7:10:A3:E8
[11:41:05][C][wifi:433]:   SSID: 'Untitled-51'[redacted]
[11:41:05][C][wifi:436]:   IP Address: 192.168.3.48
[11:41:05][C][wifi:440]:   BSSID: F6:92:BF:98:EE:51[redacted]
[11:41:05][C][wifi:441]:   Hostname: 'working-wifi'
[11:41:05][C][wifi:443]:   Signal strength: -48 dB ▂▄▆█
[11:41:05][C][wifi:447]:   Channel: 1
[11:41:05][C][wifi:448]:   Subnet: 255.255.255.0
[11:41:05][C][wifi:449]:   Gateway: 192.168.3.1
[11:41:05][C][wifi:450]:   DNS1: 192.168.3.1
[11:41:05][C][wifi:451]:   DNS2: 0.0.0.0
[11:41:05][D][text_sensor:064]: 'Hotspot': Sending state 'Untitled-51'
[11:41:05][C][logger:224]: Logger:
[11:41:05][C][logger:225]:   Max Level: DEBUG
[11:41:05][C][logger:226]:   Initial Level: DEBUG
[11:41:05][C][logger:228]:   Log Baud Rate: 115200
[11:41:05][C][logger:229]:   Hardware UART: UART0
[11:41:05][C][logger:233]:   Task Log Buffer Size: 768
[11:41:05][C][wifi_info:014]: WifiInfo Mac Address 'Mac Address'
[11:41:05][C][status:034]: Status Binary Sensor 'Status'
[11:41:05][C][status:034]:   Device Class: 'connectivity'
[11:41:05][C][captive_portal:089]: Captive Portal:
[11:41:05][C][mdns:120]: mDNS:
[11:41:05][C][mdns:121]:   Hostname: working-wifi
[11:41:05][C][esphome.ota:073]: Over-The-Air updates:
[11:41:05][C][esphome.ota:074]:   Address: working-wifi.local:3232
[11:41:05][C][esphome.ota:075]:   Version: 2
[11:41:05][C][esphome.ota:078]:   Password configured
[11:41:05][C][safe_mode:018]: Safe Mode:
[11:41:05][C][safe_mode:020]:   Boot considered successful after 60 seconds
[11:41:05][C][safe_mode:021]:   Invoke after 10 boot attempts
[11:41:05][C][safe_mode:023]:   Remain in safe mode for 300 seconds
[11:41:05][C][api:170]: API Server:
[11:41:05][C][api:171]:   Address: working-wifi.local:6053
[11:41:05][C][api:173]:   Using noise encryption: YES
[11:41:05][C][wifi_info:012]: WifiInfo SSID 'Hotspot'
[11:41:05][C][wifi_info:010]: WifiInfo IPAddress 'IP Address'
[11:41:05][D][text_sensor:064]: 'IP Address': Sending state '192.168.3.48'
. . . 

The first and second log samples show two different chips failing in two different ways, the third log shows a third functioning chip, acting normally.

Many thanks for any insights.

Not really. They both show the device is not seeing your wifi networks. This could be because they have broken/poor antennae.

Notice how the signal levels (when displayed) are really low. Also notice how few networks are showing by the ones that fail.

Which of the many clones of the D1 do you have and from where did you source them. There are many complaints similar to yours but I didn’t really see any solutions. The ones with the chip antenna appear to be particularly bad.

The biggest issue i see is that your unnecessarily flashing boards and all with the same default configuration… Why? Why not just wait untill you’re actually going to use them for something othet than wasting power and broadband wifi signal??

I would suggest that you dont do those pre-made configurations where you’ve essentially just added a wifi signal sensor and flash it onto boards just for shits and giggles because its an easy way to self cause errors and headaches that arent even close to being necessary and not to mention you’re wssting limited ip addresses on them and each time you rename them to some “actual project name” then its going to leave behind a bunch of old entities from that first Name and they’ll all need to be manually deleted and there wasnt even a little bit to gain by pre-flashing them.

Probably because I asked them to. I asked to get proper logs from a working and non-working board to be able to see the difference.

Yeah, he asked :joy:
But I tend to do that anyway …

  • Gives me the confidence the board actually works before I work with it
  • Once it has been flashed in a tethered state, I can continue working more conveniently using OTA.

As for the providence of the boards, I cannot really answer, I get them from eBay :man_shrugging:

I use a lot of ESP8266 devices, (see release with pcb coming soon) What I discovered is that my Asus Router can only handle about 20-25 WiFi devices. The symptom was device not connecting or device dropping off WiFi and maybe reconnecting. I employed a Ubiquiti access point that allows for 300 connections (I don’t recommend it because even a simple configuration is onerous).

I have noticed was that some ESP8266 devices connect better. Sometimes connections “struggle” when two devices are close together (2cm). These are typical symptoms of poor handling, that is, device is ESD damaged, but not sufficiently to cause complete failure.

Most often, as previously noted, poor handling, and letting the magic smoke out is the problem.

Also noted is minimizing the number of times a device is flashed. Which also means, don’t store data that will change often in non-volatile memory. Calibration constants, yes, current pulse count, no.

-OSD

Thanks Dude
I have not experienced this problem with ESP8266’s yet :crossed_fingers:
I also use Ubiquiti.
This is the first time I heard anything about them getting worn out by being repeatedly flashed, it won’t be the case with these specific chips (I barely had the chance) but during development of other ones, particularly with complex displays, I have been flashing regularly.
Maybe I should use simulation on an SDL display during heavy development.

You would probably have to reflash them tens of thousands of times for it to be a problem.

1 Like

I have never heard someone managed to damage Esp32 flash with uploads. You really have to give commitment to do it.

2 Likes