I'm running a project with a nodeMCU DevKit and my project runs smooth if I run it connected through the usb wire to the computer.

I need to run my project using battery and I tried with a ICR14500 battery (3.7V and 700mAh). I connected the battery to the Vin pin but the NodeMCU doesn't send the data to the cloud.

When I run it with the battery I have detected some random behaviour, some times the led on the ESP8622 is blinking continiously and the total board power consumption is around 130mA!

Any idea what can be happening?

  • 1
    connect it to the 3V pin to bypass the LDO on VIN. A 3.7v Vcc is ok: barely within spec... – dandavis Apr 27 '17 at 7:34
  • This is a good approach, I will try this. My project is ported from another implemented with a D1Mini and I have realised that the LDO in the D1Mini is the TR9013 which has a voltage dropout maximum of 250mV. On the contrary the LDO on the NodeMCU is the NCP1117 and it has a output dropout around 0.9V at 100mA. – rdiaz82 Apr 27 '17 at 8:46
  • 1
    @dandavis a full lithium battery is 4.2 Volt. I think this is far out of spec. – Gerben Apr 27 '17 at 9:21
  • 2
    You need to use a voltage regulator with a lower dropout. – Gerben Apr 27 '17 at 9:21
  • 1
    @Gerben: touche; I forgot 3.7!=3.7. a hybrid buck+boost set to 3.3 and connected to "3V" would be ideal in this precarious situation; minimal heat, forgiving input voltage (ex: 3.8-12). – dandavis Apr 27 '17 at 9:28

It seem to be a problem with onboard regulator such as AMS1117. ESP are really sensitive to power instability. For every of my project i need to put capacitor on alimentation to prevent bugs. I think you dont have enougth voltage to work properly with your regulated input. To correct this issue you should put two battery to get 7.5 volt on the regulated input. Another solution is using 3.3v input to pass trought the regulator.

  • Yes!! this is what was happening! – rdiaz82 Apr 27 '17 at 21:10

If your battery is fully charged it’ll supply abount 4.2V. The ESP should be able to handle up to 4.7V fine (according to this forum post), except that it’ll draw more current. So there’s no immediate need to go through the regulator.

If you’re battery-powering and want to use deep sleep, also consider using a different regulator with a lower quiescent current (e.g. MCP1702), otherwise the AMS1117 is already drawing at least 4mA.

Blinking and non-operation of the ESP is a sign for errors during boot, e.g. causing boot loops, typically caused by unstable power-supply, e.g. insufficient voltage or that the power supply cannot fulfill the peak current requirements (abount 200mA for the ESP).

My suggestion to be failsafe: just connect two batteries is series (7.4V nominal) and go through a 3.3V regulator.


ESP8266 require 3.3v input. Some boards require 5V (from USB) and have regulators on. How do you know that supplying 3.7v to Vin will work?

As to the high power consumption I would suspect it might be the WIFI transmitting.

  • The NodeMCU have a regulator built in (the NCP1117) and It has a minimum input voltage of 3.5V. Anyway I'm going to try with another battery because it could be voltage drop when the ESP8266 tries to communicate through WiFi – rdiaz82 Apr 27 '17 at 7:39
  • 2
    @rdiaz82: all my nodeMCUs have an AMS117, which wants 4.75v min. less==instability – dandavis Apr 27 '17 at 7:56

I am sure my NodeMCU requires 5V power, not 3.7V, and the high power consumption is related to Wifi - a notoriously high user of power!

This is why many battery driven ESP8266 related projects contain sleep mode stuff, to attempt to significantly reduce power consumption.


For the deep sleep problem maybe you should try with lower time value such as 10 second for example. For me it's a problem with the duration .

I've never seen this kind of problem on my project but try with lower value and tell me what you got !

  • Yes! 15 minutes in production, in test I'm using 1 minute xD – rdiaz82 Apr 28 '17 at 6:53
  • Why have you added a second answer, when you could have edited and updated your existing answer? – Greenonline Jul 13 '17 at 8:33

The vin pin will work with anything above 5v as it goes via ams1117 to drop it to 3.3, to provide 3.3v directly connect to pin which says 3v directly on nodemcu lolin board

  • It's actually not 5v, though 5v is sufficient; but the point you are making has already been made several times. How does your answer improve on those of nearly three months ago? – Chris Stratton Jul 12 '17 at 21:15

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.