Open txf- opened 6 months ago
@txf- Hi, I am try to reproduce it, but I can not reproduce it in my test environment.
In my test environment, I use the default power save example ($IDF_PATH/examples/wifi/power_save/) and simple replace the test code, then build it with default sdkconfig, download it to ESP32-C6-DevKitC-1 V1.2 board and run test, can not reproduce the reset: Brownout Reset (software or hardware)
or reset: Power-on Reset
.
Can you provide your sdkconfig, I will use it try to reproduce this problem, thanks.
@esp-lis attaching the sdkconfig to this post (adding *.txt extension) sdkconfig.txt
@esp-lis attaching the sdkconfig to this post (adding *.txt extension) sdkconfig.txt
@txf- sorry, I use sdkconfig.txt to test, but can not reproduce it, I modified some options, such as SSID and partition table related, this is the configure file I used to compile.
Addition, for reset: Brownout Reset (software or hardware)
or reset: Power-on Reset
. I think it is related to the power supply, can you measure the power supply voltage and current of the board during runtime?
Think it is related to the power supply, can you measure the power supply voltage and current of the board during runtime?
@esp-lis , Having just tested that, You are probably correct. I cannot detect any droops below the configured brownout level (there are some), and I don't understand why it fails once then succeeds the second time.
But our regulator an (LDO) has a maximum current supply of 300 mA. I have since noticed in the C6 datasheet, it specifies in the recommended conditions (section 5.2) that the "Cumulative input current" is 0.5A.
During normal usage the C6 will never pull that much. It appear that even with extensive decoupling caps our LDO is not enough to supply the WiFi radio during initialization. With previous ESP32 devices that wasn't an issue, it may be with this one.
Think it is related to the power supply, can you measure the power supply voltage and current of the board during runtime?
@esp-lis , Having just tested that, You are probably correct. I cannot detect any droops below the configured brownout level (there are some), and I don't understand why it fails once then succeeds the second time.
But our regulator an (LDO) has a maximum current supply of 300 mA. I have since noticed in the C6 datasheet, it specifies in the recommended conditions (section 5.2) that the "Cumulative input current" is 0.5A.
During normal usage the C6 will never pull that much. It appear that even with extensive decoupling caps our LDO is not enough to supply the WiFi radio during initialization. With previous ESP32 devices that wasn't an issue, it may be with this one.
Refer to esp32_datasheet_en.pdf for the requirements of supply voltage and current. The datasheet recommends a minimum external power supply current of 0.5 A. If stable and reliable system operation is required, I suggest using a power supply with a higher power rating.
Answers checklist.
IDF version.
5.2.1
Espressif SoC revision.
ESPC6-WROOM-1
Operating System used.
Linux
How did you build your project?
VS Code IDE
If you are using Windows, please specify command line type.
None
Development Kit.
Custom Board
Power Supply used.
Battery
What is the expected behavior?
I expect the device to connect to wifi and then continue executing when waking from deep sleep, it should behave the same as when simply powering it on or resetting the device.
What is the actual behavior?
The actual behaviour is that when starting WiFi the device resets, whereupon after that reset the device connects normally as expected.
Steps to reproduce.
Run the following example code. This has been edited from the power_save example :
Configure TX power to 10 dBm.
Reset seems to happen when just after calling esp_wifi_start()
Debug Logs.
More Information.
I also reduced the TX power to 40 (10dBm) both in code and via SDKCONFIG. Ticking "the reduce txpower on brownout", does not have any effect.
Disabling the Brownout detector does allow the device to correctly identify the reason for reset
reset: Brownout Reset (software or hardware)
, as opposed with the brownout detector activereset: Power-on Reset
.Adding a delay (10s) before starting wifi also has no effect.