gladysjenkins2019 wrote:So do I need to add code lines in my setup to make sure the ESP is in client mode and light sleeping is enabled?
Gladys, yes, Automatic Light Sleep is not enabled by default, only Automatic Modem Sleep, so you need to add the
wifi_set_sleep_type(LIGHT_SLEEP_T) SDK call to enable Light Sleep. I see power drop to ~ 4mA during Light Sleep between beacons. It will go lower than 4mA, but you have to disable all timers (which loses the WiFi connection).
Depending on the DTIM listen interval Light Sleep runs at, you may miss packets in Station mode. If you can't afford to lose data, then you will want to use the default Modem Sleep instead (~15mA between TIM beacons, but no lost data). You don't have to do anything in your code to get Modem Sleep, it's running soon after you establish a connection. If you have frequent 'idle' calls in your program you'll see the power drop. For the Arduino IDE, 'idle' = delay(). Without 'idle', the modem never sleeps and substrate current is ~70mA.