I want to battery-power my NodeMCU. It will be mostly deep sleeping and waking up every 1-2 minutes.

I've seen the best way to power it with the least wasting of power is through a lithium battery.

So I've bought a 18650 rechargable battery and a MCP1700 LDO which will give me a constant 3.3 V, that will connect straight to the 3.3 V pin and bypass the NodeMCU's regulators, as I understand from here.

My question is: if all of the previous is correct, what will happen when the 18650 battery power fall below the 3.5 V (3.3 V + 0.2 V from MCP1700 dropout)? Will it stop automatically giving power at all? Will it provide less than 3.3 V and will it harm the NodeMCU?

  • google nodemcu brownout
    – jsotola
    Commented Jan 29, 2020 at 20:51
  • does the cell have an integrated protection board? if so, then it will just cut-off.
    – dandavis
    Commented Jan 30, 2020 at 21:20
  • If you battery come with flat head with exact 6.5cm long, it likely is an unprotected type without the built-in over-votage, under-voltage shut down circuit. You will need to get your own protection circuit. Even with the protection circuit, it is likely that cut-off will be around 3v instead of 3.5v. ESP8266 operates at 3.0v to 3.6v, so when your regulator input fall below 3.3v, it won't cut off with or without protection circuit, your regulator will not function properly as it is supposed to be.
    – hcheung
    Commented Oct 26, 2020 at 6:41
  • If your regulator input voltage is lower than 3.3v, it will not shutdown, it simply unregulated. ESP8266 works between 3.0 to 3.6v, as it draw quite some current at power-up of the WiFi (170mA), it could cause the voltage drop to 3.0v, which will crash the ESP8266. To prevent this happen, make sure your MCP1700 output has a bigger capacitor than recommended 1uF on the datasheet.
    – hcheung
    Commented Oct 26, 2020 at 6:53

1 Answer 1


As with any electronics, once you get outside of normal operating parameters, behaviour becomes undefined. It's up to you to avoid that.

The smartest thing to do is to employ a battery protection circuit or some means to shut down the system (or prevent it from waking up from deep sleep) before the voltage drops too low. This will also prevent your battery from damage by overdischarging it.

The ESP's minimum operating voltage according to its datasheet is 3.0V. Below that, behaviour is undefined but you can expect unreliable operation, crashes or even permanent damage. If you're writing to Flash memory when below the minimum voltage, the Flash might become corrupted (including the program the ESP is running).

  • I totally agree..i don't want in any case let esp work under 3v..so..from your answer i understand that the ldo i suggest does NOT provide you this safety.. Could you suggest a circuit that turn will power of the whole system if ldo output is less than 3V?
    – uzer123
    Commented Jan 30, 2020 at 21:20
  • As far as I can see the MCP1700 does not have an undervoltage protection so I would expect the output voltage to gradually drop when the input falls below the LDO threshold. There are numerous Battery Protection boards available that could provide you with an automatic shutdown safety. You could also use the ADC of the ESP8266 to let it monitor its own supply voltage and take appropriate action.
    – StarCat
    Commented Jan 31, 2020 at 10:16
  • i guess something based to TP4056 that will shutdown at a specific voltage? about the ADC, so i connect LDO ground to esp ground, then batteries positive (LDO in) to a esp pin, and in this way "analogRead" my battery voltage?
    – uzer123
    Commented Feb 1, 2020 at 20:58
  • TP4056 is a charging IC, it is not a voltage regulator. The TP4056 itself does not provide the protection circuitry, some of the TP4056 board has extra circuitry that come with a DW01A chip and 8205 dual-MOSFET to provide the battery over-charge (4.2v), over-discharge (below 3v) protection. You still need the MCP1700 regulator to get 3.3v.
    – hcheung
    Commented Oct 26, 2020 at 7:03

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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