ESP32-S2 reboots when WiFi is used
-
- Posts: 9724
- Joined: Thu Nov 26, 2015 4:08 am
Re: ESP32-S2 reboots when WiFi is used
I think that trick only works on larger caps; 100nF simply charges too quick for you to spot it on a multimeter.
Re: ESP32-S2 reboots when WiFi is used
Hi,
I confirm that some S2 Mini clone boards have a routing problem on the C14 ground pad.
After several hours of investigation (and one jeopardized board) the fix is straightforward.
Scratch the ground plane a put a blob between the C14 cap and the ground plane. See attachment.
The WiFi is now rock solid and stable, this make a huge difference.
Cheers.
I confirm that some S2 Mini clone boards have a routing problem on the C14 ground pad.
After several hours of investigation (and one jeopardized board) the fix is straightforward.
Scratch the ground plane a put a blob between the C14 cap and the ground plane. See attachment.
The WiFi is now rock solid and stable, this make a huge difference.
Cheers.
- Attachments
-
- IMG_20220717_161722.jpg (1.8 MiB) Viewed 8640 times
-
- Posts: 9724
- Joined: Thu Nov 26, 2015 4:08 am
Re: ESP32-S2 reboots when WiFi is used
Nice! Thanks for the pic and confirming this was the issue and the workaround works.
-
- Posts: 7
- Joined: Thu Jun 23, 2022 1:54 am
Re: ESP32-S2 reboots when WiFi is used
I tried soldering some wires and a 0.68 uF capacitor to EN and GND, but WiFi wasn't stable. As a test, I used some alligator clips to add a 220uF capacitor in parallel and WiFi was stable, but then I did notice the slow start (several seconds).
So I settled on soldering some wires and a 22 uF, 16 V capacitor between EN and GND and things seem stable now (with no slow startup).
Thanks for all the help!
So I settled on soldering some wires and a 22 uF, 16 V capacitor between EN and GND and things seem stable now (with no slow startup).
Thanks for all the help!
-
- Posts: 4
- Joined: Wed Nov 30, 2022 9:13 am
Re: ESP32-S2 reboots when WiFi is used
Verified the EN line is very noisy on bad esp32s2 mini boards and just holding the corner of the board by the EN pin smooths out the EN signal. I added a larger cap to between EN and ground and it seems to have cleaned the signal up and no more reboots. 5/7 of my esp32s2 minis has this same problem causing resets whenever my code tried to start the wifi connection.
-
- Posts: 4
- Joined: Wed Nov 30, 2022 9:13 am
Re: ESP32-S2 reboots when WiFi is used
So the EN line is routed all the way down to the reset switch and it seems like somewhere along that trace it is picking up noise. Adding a small 22uF 6.3V cap along the edge of the reset switch is an easier place to tack on a cap as one side is ground and the other is the EN line. There is already a large 44uF cap on the other side of the board that ties EN to ground as as been described in this thread but that part doesn't seem to be enough and scratching that edge to get a better ground connection didn't seem to help with my resets as it already had a good ground connection there at the top of the chip.
The 805 size cap I used, needed a pretty large soldier bridge but not too hard. I didn't have any bigger ones on hand which would have made it easier.
I'm guessing this is partially why these esp32s2 mini boards are so cheap. Only 2/7 working boards is pretty terrible, hoping this fix is all that's needed to make these things usable.Re: ESP32-S2 reboots when WiFi is used
I have the same problem, 1 of 3 is working correctly and 2 works but when I use the wifi then they will sometimes reboot or just stop.
I remove the EN pin and shortened the track ( so that it will not pick up noise from the RF antenna ),Did not help,
I even connected the EN to 3v3 also did not help.
The same code I have run on an ESP32C3 and ESP32S no problems.
Software functions
Wifimanager
OTA
REST API
Software stack: used
#include <Arduino.h> // https://github.com/espressif/arduino-es ... ores/esp32
#include <WiFi.h> // https://github.com/espressif/arduino-es ... aries/WiFi
#include <WiFiClient.h> // https://github.com/espressif/arduino-es ... aries/WiFi
#include <WiFiUdp.h> // https://github.com/espressif/arduino-es ... aries/WiFi
#include <WebServer.h> // https://github.com/espressif/arduino-es ... /WebServer
#include <ESPmDNS.h> // https://github.com/espressif/arduino-es ... es/ESPmDNS
#include <HTTPClient.h> // https://github.com/espressif/arduino-es ... HTTPClient
#include <ArduinoJson.h> // https://github.com/bblanchon/ArduinoJson
#include <NTPClient.h> // https://github.com/arduino-libraries/NTPClient
#include <WiFiManager.h> // WifiManager by tzapu https://github.com/tzapu/WiFiManager
#include <ArduinoOTA.h> // https://github.com/espressif/arduino-es ... ArduinoOTA
#include <RCSwitch.h> // https://github.com/sui77/rc-switch
#include <OneWire.h> // https://www.pjrc.com/teensy/td_libs_OneWire.html
#include <DallasTemperature.h> // https://github.com/milesburton/Arduino- ... ol-Library
I remove the EN pin and shortened the track ( so that it will not pick up noise from the RF antenna ),Did not help,
I even connected the EN to 3v3 also did not help.
The same code I have run on an ESP32C3 and ESP32S no problems.
Software functions
Wifimanager
OTA
REST API
Software stack: used
#include <Arduino.h> // https://github.com/espressif/arduino-es ... ores/esp32
#include <WiFi.h> // https://github.com/espressif/arduino-es ... aries/WiFi
#include <WiFiClient.h> // https://github.com/espressif/arduino-es ... aries/WiFi
#include <WiFiUdp.h> // https://github.com/espressif/arduino-es ... aries/WiFi
#include <WebServer.h> // https://github.com/espressif/arduino-es ... /WebServer
#include <ESPmDNS.h> // https://github.com/espressif/arduino-es ... es/ESPmDNS
#include <HTTPClient.h> // https://github.com/espressif/arduino-es ... HTTPClient
#include <ArduinoJson.h> // https://github.com/bblanchon/ArduinoJson
#include <NTPClient.h> // https://github.com/arduino-libraries/NTPClient
#include <WiFiManager.h> // WifiManager by tzapu https://github.com/tzapu/WiFiManager
#include <ArduinoOTA.h> // https://github.com/espressif/arduino-es ... ArduinoOTA
#include <RCSwitch.h> // https://github.com/sui77/rc-switch
#include <OneWire.h> // https://www.pjrc.com/teensy/td_libs_OneWire.html
#include <DallasTemperature.h> // https://github.com/milesburton/Arduino- ... ol-Library
- Attachments
-
- IMG_20230225_082232776_HDR.jpg (319.79 KiB) Viewed 7668 times
-
- Posts: 4
- Joined: Wed Nov 30, 2022 9:13 am
Re: ESP32-S2 reboots when WiFi is used
Im not sure you are supposed to pull EN directly to 3.3V as it may screw up the esp32 init. Try putting a large cap between the EN and GND like I did in my picture above.Emile_esp wrote: ↑Thu Mar 02, 2023 6:43 amI have the same problem, 1 of 3 is working correctly and 2 works but when I use the wifi then they will sometimes reboot or just stop.
I remove the EN pin and shortened the track ( so that it will not pick up noise from the RF antenna ),Did not help,
I even connected the EN to 3v3 also did not help.
Re: ESP32-S2 reboots when WiFi is used
Many thanks to your proposed solution, it works for me too.kt88fr wrote: ↑Sun Jul 17, 2022 2:25 pmHi,
I confirm that some S2 Mini clone boards have a routing problem on the C14 ground pad.
After several hours of investigation (and one jeopardized board) the fix is straightforward.
Scratch the ground plane a put a blob between the C14 cap and the ground plane. See attachment.
The WiFi is now rock solid and stable, this make a huge difference.
Cheers.
Re: ESP32-S2 reboots when WiFi is used
Hey everyone. I'd like to share my expirience with this exact issue on S2 mini clones. In my case S2 minis worked if I touched EN and nearby pins with my fingers, otherwise it got stuck/rebooted. I ran a simple ESPHOME config with a blinking LED and a WIFI connection to test things.
I noted that my S2 minis already had a "C14 capacitor GND fix", i.e. a solder blob was there.
I tried different solutions:
1. Most promising was a 10uF cap between EN/GND pins. On one S2 mini it almost fixed the issue, but it still went offline randomly after few hours. Another S2 mini did constant reboots after few seconds of LED flashes, without the cap it just didn't start.
2. A 10k resistor between 3.3v and EN pins to "increase" the EN signal voltage didn't change anything.
3. An additional 15nF (or 15pF, don't remember exactly) cap right on RST button pins also didn't change anything.
After some experiments with my dad we came to the conclusion that this is a noise/interference problem, most likely related to the WIFI antenna, because covering it with fingers also fixed the issue. So we tried the next logical thing: lower the WIFI tx power, and amazingly it did fix all issues instantly! The funny part is that no additional caps are needed in this case at all!
ESPHOME docs says 20.0dB output power is default, the lowest possible value is 8.5dB, but setting 20.5dB might cause unexpected restarts. I've found that setting 18.0dB solves the issue, but at 19.0dB we're back at square one (hangs/restarts).
Not sure if it's the S2 mini clone issue or something else, but feel free to use this info to finally do something cool with your ESP32s !
I noted that my S2 minis already had a "C14 capacitor GND fix", i.e. a solder blob was there.
I tried different solutions:
1. Most promising was a 10uF cap between EN/GND pins. On one S2 mini it almost fixed the issue, but it still went offline randomly after few hours. Another S2 mini did constant reboots after few seconds of LED flashes, without the cap it just didn't start.
2. A 10k resistor between 3.3v and EN pins to "increase" the EN signal voltage didn't change anything.
3. An additional 15nF (or 15pF, don't remember exactly) cap right on RST button pins also didn't change anything.
After some experiments with my dad we came to the conclusion that this is a noise/interference problem, most likely related to the WIFI antenna, because covering it with fingers also fixed the issue. So we tried the next logical thing: lower the WIFI tx power, and amazingly it did fix all issues instantly! The funny part is that no additional caps are needed in this case at all!
ESPHOME docs says 20.0dB output power is default, the lowest possible value is 8.5dB, but setting 20.5dB might cause unexpected restarts. I've found that setting 18.0dB solves the issue, but at 19.0dB we're back at square one (hangs/restarts).
Not sure if it's the S2 mini clone issue or something else, but feel free to use this info to finally do something cool with your ESP32s !
Who is online
Users browsing this forum: No registered users and 65 guests