I met the same problem like this website : https://github.com/espressif/arduino-esp32/issues/1651
When I run the example code for the DeepSleep-Mode of the ESP32 (TimerWakeUp) only the first 4 letters of the Serial.println()-function will be printed => Boot.
It would seem serial is not synchronous, so it continues sending after the function returns and you puting to deep sleep stops the serial where it is.
Do you have, please, a solution to display the sentences normally => “Boot number: 25” for example and not “Boot” ?
Best regards, Hervé
Note : I use “DOIT ESP32 DEVKIT V1” model (with 30 pinouts)
I follow the instructions of “Module 3 Unit 2” in this blog. => add delay(1000); at the line 87
Hello Hervé, I’m sorry for taking so long to get back to you, but I was on holidays and unfortunately I had very low bandwidth to properly answer questions.
Yes, I’ve updated the code a few weeks ago to add delays to all the deep sleep examples to avoid that problem: https://github.com/RuiSantosdotme/ESP32-Course/tree/master/code/DeepSleep
I’m glad you were able to find the solution.
I had the same problem and found this thread only after I solved it myself (using the same approach, adding a delay(1000) statement just before the esp_deep_sleep_start(); statement.
Can someone elaborate what is happening here?
The code in the course should be updated with this change in the latest version. Basically, if you don’t have the delay, the ESP32 doesn’t have time to print any message in the Serial monitor because it goes into deep sleep mode too quickly (and serial messages are slower to be displayed).