What is the current draw of a Wemos D1 mini board in deep sleep? And while connected to WiFi?
These are good questions when you are trying to power an ESP8266 board, like the Wemos D1 mini from a battery. As you know the best way to optimize power consumption is to use the deep sleep mode but not all boards are the same, even when talking about Wemos D1 mini boards. In fact the differences are big.
Here I will compare three boards during a cycle of activation and back to deep sleep. The boards connect to WiFi and send an HTTP request to a local server, then go into deep sleep. You will see screenshots of the current draw over time during the wake up time and the deep sleep below.
And if you read until the end you will also see how using ESP-NOW instead of regular WiFi could make data transmissions much faster and less power hungry.
All boards are connected to 3.3 volts directly on VCC pin.
D1 Mini

When active and connected to WiFi to send some data over HTTP the consumption goes up to 77.88mA on average, with spikes of 182mA. See bottom right numbers on the screenshot.

During deep sleep the current is 9.05mA. Bottom right of the screenshot.
D1 Mini Pro

When active and connected to WiFi to send some data over HTTP the consumption goes up to 72.49mA on average, with huge spikes of up to 455mA.

During deep sleep the current is 179µA (0.179mA).
D1 Mini v3

When active and connected to WiFi to send some data over HTTP the consumption goes up to 70.61mA on average, with spikes of up to 182mA.

During deep sleep the current is 84µA (0.084mA).
Best Wemos D1 Mini Board
Board | Active time | Current draw active | Current draw in deep sleep |
Wemos D1 mini | 9.6 seconds | 77.88mA | 9.05mA |
Wemos D1 mini pro | 9.3 seconds | 72.49mA | 179µA |
Wemos D1 mini v3 | 9.2 seconds | 70.61mA | 84µA |
Clearly the best board is the Wemos D1 Mini v3: lowest power consumption in deep sleep (84µA), also lowest average while active (70.61mA) and reasonable spikes of 182mA.
Second best the Wemos D1 Mini Pro but the spikes are huge when it connects to WiFi (455mA).
Avoid the Wemos D1 mini at all costs, terrible deep sleep current draw, 100x more than the D1 mini v3.
But depending on the application it is probably better to focus on spending less time active instead of focusing on the lowest possible deep sleep consumption. Have a look at this battery life calculator and play with the different parameters. You will see that spending 9 seconds active, at 70mA or more, is the biggest factor. In other words: a battery won’t last very long regardless of the deep sleep consumption if it has to connect to WiFi frequently.
The problem with WiFi
The problem with WiFi is that it takes a lot of time to establish a connection. You can see that all boards take over 9 seconds before they go back into deep sleep. If you look at the lines at the bottom of the charts you will see two signals:
- Signal 0 goes
HIGH
when thesetup()
part of the script starts andLOW
when entering deep sleep - Signal 1 goes
HIGH
when the WiFi connection has been established andLOW
entering deep sleep
So you can clearly see that establishing the connection is the most expensive part by far. Sending the HTTP request and waiting for a response is less than 300ms of those 9+ seconds. Which means it doesn’t matter what you do over WiFi later, connecting is expensive and slow.
And this is why ESP-NOW exists.
ESP-NOW

ESP-NOW is a protocol developed by Espressif that uses low power 2.4Ghz WiFi.
It allows communication between ESP devices and is much faster and less energy intensive.
It is important to note that all ESP boards support this protocol, including the ESP8266 and ESP32 (and of course all Wemos boards too).
So let’s do an experiment using the D1 Mini v3, as it was clearly the winner, but instead of connecting to a WiFi network and sending data over HTTP we are using the ESP-NOW protocol to send some info to a receiver:

Look at that, from 9 seconds to just 340 milliseconds with ESP-NOW. Isn’t that awesome?
Of course it has its cons. Connecting to a WiFi allows you to send data anywhere, over HTTP, MQTT, to a local server, to the cloud… Using ESP-NOW all you can do is send data to another device that has to be in WiFi range and you need to know its MAC address beforehand.
So it is not a silver bullet but if you really care about sending data and going back into deep sleep as quickly and efficiently as possible, and you don’t mind having another ESP device acting as the receiver then this is a massive improvement over regular WiFi.
I hope this was helpful. Feel free to leave a comment if you have any doubts, suggestions or if you just want to say hi.
PS: ESP32 analysis coming soon.
This is an updated and more detailed version of a previous article: Wemos D1 Mini: power consumption on deep sleep
Code? The default mode of sleep for the Wemos D1 Mini is modem-sleep- how did you put it into deep-sleep?
Hi Steve, I am using:
And then connecting pin D0 to RST so it can wake up from deep sleep.
Hola Salvatore. Gracias!
Thank you so much for this useful article! I just wish I’d read it first, I would have avoided buying v1.
Now I have bought D1 mini v3 (a clone sold by a german company), this board in deep-sleep drain 0.13mA (measured today). It will drain more than your D1 mini, but however a good value for battery supply.
Quizá voy a volver pronto para leer tu novidad sobre v4. Gracias de nuevo por ahora.
I am glad this was useful!!! Thank you Giove.
0.13mA is still really good. If you play with the battery life calculator you will see that a 3000mAh battery (with a 20% discharge safety margin) would power your board for 770 days in deep sleep. So what really matters now is how often you wake up from deep sleep and for how long. That’s why I find ESP-NOW so interesting.
For the next article I ordered a few ESP32 boards, will see how they compare in terms of deep sleep consumption.
See you around.