Quick Look: Makerfocus NodeMCU Board with 18650 Battery On-Board

Disclaimer: This post has affiliate (and direct) links to the reviewed product on Amazon.

As fun as adding a voltage booster (for 5V projects) and/or voltage regulation and a charge circuit is to our designs, sometimes it’s nice to just have everything done for us. We’re big fans of the ESPxxxx/NodeMCU ecosystem: they’re cheap, they’re WiFi-enabled out-of-the-box, they’re small, and they’re usable in the Arduino ecosystem if that’s how you roll.

We found this little guy on Amazon:

It’s a NodeMCU-compatible board with a built-on 18650 battery holder and charge control circuit: it may end up being one of our go-to designs when we need a battery-operated, low-IO WiFi-enabled part (a disturbingly-frequent ask), barely larger than the battery itself. Slick. Let’s take a look, and do a sanity programming check.

Major plus: MOUNTING HOLES. Boards without mounting holes are a real pain. Minor drag: the 18650 battery holder is on the back, so you’re not going to pop this bad boy in a breadboard any time soon, unless you put some longer headers on the top of the board, and don’t mind not being able to hit the switches or see the lights.

The Guts

The brain is an ESP-WROOM-02 (see links in Resources) with a Silicon Labs CP2102 handling USB comms. An Advanced Monolithic Systems AMS1117 chip regulates the volts, charging is controlled with a Nanjing Extension Microelectronics TP5400 (whose datasheet I could only find in Chinese 🙁

The LED near the charge controller will be red when charging, green when charged or under USB-only power. You can charge and run the board at the same time. We see solar in this board’s future.

The Setup

There are a number of steps to make this work in the Arduino environment; you may want to go a different route–but we needed to keep in the Arduino ecosystem to keep our classes as uniform as possible.

  • Install USB Driver
  • Add Board Manager URL
  • Pick a board, any board
  • Set the RESET method

Install USB Driver

You may need to install a driver for the Silicon Labs CP2102. Drivers are available on the Silicon Labs CP2102 Driver Downloads page for major environments.

For OS X (the only one we’ve tested so far) you’ll get a ZIP file with a disk image (DMG). Unzip, open the image, and run the package file Silicon Labs VCP Driver.pkg, and do the normal package install thing.

Add Board Manager URL

If you haven’t already been using ESP-ish boards you’ll need to add a board manager URL to the board manager. In the Arduino IDE open the preferences via Cmd-, or the menu. The list of board manager URLs is a comma-separated list.

Board manager dialog box with board manager URL text box highlighted
Board Manager Dialog

To it add:


Pick a Board, Any Board

For this mini-review we stuck with a generic 8266 board. Under Tools ⇨ Board choose “Generic ESP8266 Module.”

Board selection drop-down menu
Board Selection

Set the RESET Method

To upload our sketches to the board we need to set the RESET method under Tools ⇨ Reset.

Shows board drop-down method with board reset method
Reset Method

We didn’t need to make any other changes to get the basics working.

The Glory

The “documentation” on the Amazon product page states that the on-board LED is on GPIO16, so our go-to example, Blink, will use pin 16 for the LED:

#define LED 16

void setup() {
  pinMode(LED, OUTPUT);

void loop() {
  digitalWrite(LED, 0);

  digitalWrite(LED, 1);

If you’ve followed all the steps above (and do let us know if we’ve left anything out) you should see an attractively-blue blinking LED.

We’ll be revisiting this board both here and in our upcoming Maker’s End Inspiration Series book, ESP Inspiration, so stay tuned–this little guy is going to get some projects!



7 thoughts on “Quick Look: Makerfocus NodeMCU Board with 18650 Battery On-Board”

  1. Where did you find what the RESET method should be? Is this a per board specification or is this some general knowledge?
    If this thing charges itself from a battery it has an onboard battery or capacitor? Is that weird or just to regulate voltage?
    You didn’t show any wi-fi-ing. How’s that work? How’s it connect to an AP?
    Can you put the header pin strip on the top so that the battery would then be “on the top” and breadboard-able?

      1. It’s a NodeMCU thing; NodeMCU boards just require it–don’t know the technical details, but will find out and post a followup post.
      2. The battery is on-board, that’s what “with 18650 Battery On-Board” means. It has a charge controller to regulate the charging process.
      3. WiFi connectivity is handled via “standard” Arduino WiFi libraries. A future post will show an example.
      4. Yes, you definitely could, and we might try it. The issues would be that the lights wouldn’t be as visible, and access to the Reset switch would be problematic. We mounted ours on a small board and run jumpers to a breadboard, which is a little messy, but not bad.
  2. Just found this lovely little module, as well. Wondering if you’d determined how to enable Deep Sleep mode?

    1. It’s (roughly) an 8266, so related sleep code should “just work”, although not sure if there’s additional functionality in the packaged chip. The doc links (eventually) lead to full specs–we’ll poke around at it when we have a chance.

      1. One comment/question at Amazon mentions the jumper pads on the trace from the RST pin. I’ll be connecting those shortly.

Tell us what you think! (But be nice.)

This site uses Akismet to reduce spam. Learn how your comment data is processed.