Comparison of ESP8266 NodeMCU development boards

A comparison of ESP8266 NodeMCU development boards must inevitably also compare the ESP8266 chips used on those boards. The comparison can be confusing not because there are many different boards (there’s only 3) but because there are several names for the same thing.

Update 2020-01-29: if you found here because you’re actually interested in ESP32 devkits look no further! The amazing ThingPulse ePulse from yours truly consumes only 25μA in deep sleep.ThingPulse ePulse ESP32 devkit

Since this article has become quite long, and to give you an idea what to expect, I decided to put a TOC here:

Names of NodeMCU development boards

It’s unfortunate that there’s a mixup of version and generation names.

GenerationVersion“Common” Name
1st0.9V1
2nd1.0V2
2nd1.0V3

What I put in the 3rd column is just my observation of products in (Chinese) online shops such as Banggood and AliExpress. The last item is an odd one. A while a ago I started noticing this one product marketed as V3 even though it looks like a regular V2 board to me.

What further contributes to the naming jungle is precisely the fact that the hardware is open-source and anyone can produce and market NoduMCU development boards. There currently are three primary producers: Amica (see ‘NodeMCU and Amica‘ below), DOIT/SmartArduino, and LoLin/WeMos.

Comparison of NodeMCU development boards

1st and 2nd generation boards are easy to tell apart because their size is quite different. Both generations use ESP-12 chips with 4MB flash but the 2nd generation uses the newer and enhanced ESP-12E.

1st generation / v0.9 / V1

The original but now outdated dev kit is usually sold with an outstanding yellow board and is very wide. Its 47mm x 31mm mean that it covers all 10 pins of a regular bread board which makes it very inconvenient to use. There’s a blog post with a picture that demonstrates this quite clearly. They seem to be produced by Amica primarily (my guess).

It comes with a ESP-12 module and 4MB flash memory.

1st generation ESP8266 NodeMCU development board
1st generation ESP8266 NodeMCU development board

Pin layout of 1st generation NodeMCU development board. Source: https://github.com/nodemcu/nodemcu-devkit
Pin layout of 1st generation ESP8266 NodeMCU development board. Source: https://github.com/nodemcu/nodemcu-devkit

2nd generation / v1.0 / V2

The V2 fixes the short comings of the initial board, it’s more narrow and fits nicely into bread boards. The chip was upgraded from a ESP-12 to a ESP-12E.

2nd generatopm ESP8266 NodeMCU development board
2nd generation ESP8266 NodeMCU development board

Pin layout of 2nd generation ESP8266 NodeMCU development board. Source: https://github.com/nodemcu/nodemcu-devkit-v1.0
Pin layout of 2nd generation ESP8266 NodeMCU development board. Source: https://github.com/nodemcu/nodemcu-devkit-v1.0

V3

So, what’s with the V3? NodeMCU haven’t released a new specification so far. Hence, there’s no official 3rd generation board. Turns out that V3 is a “version” invented by producer LoLin to signify minor improvements to the V2 boards. Among others they claim their USB port to be more robust.

Pin layout LoLin NodeMCU development board V3. Source: http://www.wemos.cc/wiki/Hardware/Pin
Pin layout LoLin NodeMCU development board V3. Source: http://www.wemos.cc/wiki/Hardware/Pin

If you compare the pin layout there’s only a tiny difference to the V2 layout. LoLin decided to use one of the two reserve pins for USB power out and the other for an additional GND.
Watch out though for the difference in size! This LoLin board is significantly larger than the Amica and DOIT V2 boards. Because of its size I would never use it. There are clearly better alternatives.

AND what’s LoLin got to do with WeMos? I wish I knew…The pin layout you see here was originally hosted on wemos.cc but the link is now dead.

WeMos LOLIN32 ESP32 devkit

Announcement

Relationship between NodeMCU and Amica

What’s the relationship between NodeMCU and Amica? Here’s what I know.

Many V2 boards are created by or at least labeled with ‘Amica’. It’s a brand name created by the Dutch Gerwin Janssen who seems to spend a lot of time in Shenzhen, China. He owns the amica.io domain.

Although not officially part of the original NodeMCU team Gerwin designed a name for the devkit v1, called Amica. The team liked it and adopted the name.

Official vs Unofficial

NodeMCU posted a photo on Facebook which shows official and unofficial V2 boards. I don’t really understand the notion of official. It’s my understanding that with open-source hardware there’s no such thing as official boards. What it maybe means is that Amica is the “endorsed” producer and DOIT & LoLin are not.

official NodeMCU development board
Official NodeMCU 1.0/V2 development board

NodeMCU posted another photo on Facebook (see left) with specifics what is considered official and what not. Amica really seems to be the only producer which is 100% in-line with the V2 NodeMCU hardware spec. The Amica boards are not sold at Banggood but you can still get them at AliExpress and seeed studio if you search carefully. Beware that these days many devices advertised as “NodeMCU V2” are NOT spec compliant.

However, Banggood carries a NodeMCU v2 devkit under the brand name “Geekcreit” that looks genuine.

Alternatives

WeMos D1 mini

At the end of 2015 the hottest alternative seems to be the WeMos D1 mini. It has roughly the same width as a V2 NodeMCU devkit but at 34.2mm it is nearly a third shorter. It runs an ESP-8266EX MCU and provides 4MB flash. Its nine GPIO pins make the D1 mini suitable for a large IoT target audience. It supports both Arduino and NodeMCU.

WeMos D1 mini
WeMos D1 mini, a NodeMCU devkit alternative

WeMos also sells a number of shields of equal size which allows to build nicely stackable units.

The only downside for many may be that you have to solder the pins yourself. Each D1 mini comes with a pair of long and short female pins and a pair of normal pins. Some reports on the Internet claim that it can be a bit difficult to get proper drivers for the CH34x USB to serial chip on the D1 mini. That’s the same chip used by some of the cheap Arduino clones.
Also, it’s obviously got a few pins less than the NodeMCU boards, check the pin map. How else would they be able to reduce the length so much? On the other hand it’s also got a 5V out just like the LoLin V3.

Oh, and the best part? They’re sold at Aliexpress for just $4! I ordered mine on December 19th 2015 and got them in the mail on the 31st, that’s impressive. They’re sent by registered(!) air mail.

WiFiMCU

DOIT/SmartArduino, producer of V2 boards, also has a dev kit alternative that uses a Cortex-M4 chip instead of the ESP8266 with otherwise the same board.

Adafruit/SparkFun

Adafruit HUZZAH ESP8266 Breakout
Adafruit HUZZAH ESP8266 Breakout

Among the others two that come to mind pretty quickly are the SparkFun ESP8266 Thing and the Adafruit HUZZAH ESP8266 Breakout. I don’t own either of them but the Adafruit board, as most of their stuff, looks pretty neat. It’s a bit smaller than the NodeMCU dev kits but you need a special USB to TTL serial cable rather than a standard USB cable.

Recently I discovered Adafruit sells a development very similar to the NodeMCU v2 dev kit but with an additional LiPo connector – pretty cool. See the separate article for details.

Adafruit Feather HUZZAH with ESP8266 and LiPo connector
Adafruit Feather HUZZAH with ESP8266 and LiPo connector

ESP8285 development board

In a separate article from June 2016 I’ll show you how to use the NodeMCU firmware on a tiny ESP8285 development board. That SoC is very similar to the ESP8266 except that it’s got 1MB SPI flash embedded right in the SoC.

ESP8285 development board
ESP8285 development board with FTDI FT230X USB-to-serial converter, a MAX1555 LiPo battery charger and 11 GPIO

54 thoughts on “Comparison of ESP8266 NodeMCU development boards

  1. LoLin version looks like (from the photo in the link posted above) it uses CH340 as USB converter where instead Amica v.2 and DOIT v.3 (produced by smARtDUINO… =8-| …) use CP2102.

    1. My feeling as to why LoLin chose to call their product a “V3” instead of a “V2” is because they “missed the boat” when it came to reducing the width of their PCB, so folks comparing it to say an old Amica v0.9 board (which is just as wide as the LoLin board and is considered by most people as “breadboard unfriendly” because there is no free (available) pin hole in a MB-102 solderless breadboard when you mount these boards, well they had to do something to recover or gain market share so they call it V3. I have a couple of them and they seem to be pretty good boards. I usually breadboard then using a pair of mini breadboard (the kind w/o power rails and a 17 x 10 layour of pin holes). If you separate them by about 1.5cm, you can plug in the LoLin NodeMCU (or Amica v0.9) and it will fit pretty well. I generally then peal off the backing tape on the double sided tape that comes on back of these breadboards and plunk them down onto a wooden board using the NodeMCU as a space. This way you get a real stable work area.

      1. I did the same! At first I thought I cannot fit it on my breadboard which been lying from my junk collections for more than two decades. Then I realized that I can separate the supply rail and fit together the main board. One thing I notice with my NodeMCU Lolin V3, it seems unstable and difficult to manipulate the GPIOs unlike the Raspberry Pi which you can program reliably and straight forward. Many times I have to flash again and again in order to load new or modified Arduino codes.

  2. Thanks for digging up this information and laying it out clearly, you saved me a bunch of time researching these for myself, not to mention the frustration of almost ordering one of the oversized LoLin “V3” boards. With any luck, I have an Amico board on the way to go with the two DoIt boards I got from Bangood previously.

    Ok, now back to getting my ESP8266 based OneWire temperature server sketch complete and debugged…

  3. I also think that the latest nodemcu firmware 1.4.0 that you get when you use http://nodemcu-build.com/index.php, the great custom build website from frightanic has the pin mappings for the amica board correct, i.e. D1 is 1, D2 is 2 etc. Took me a while to figure out which software pin corresponded to which board pin

  4. Amica boards allow you to use DIO mode freeing up 2 more GPIO’s for on/off functionality the way in which they are wired is a mod version thus making them the most useful boards sold to date.

    Lolin board is my second favorite as it is cheap and the pin spacing seems to work fine with dupont connectors why breadboard when you can create cheap wiring harnesses to do the work with mostly every module out there. It is dupont harnessing or go home for me custom harnesses are relatively simplistic by nature and cheap and effective if only other people understood this principal … I think we may see more of an influx of testing and projects.

  5. Long before modified version of NodeMCU and Lolin or adafruit boards were available, smartWIFI was introduced (March-15) by KNEWRON (www.knewron.co.in). They had introduced battery charger and USB converter with power out, switch, RGB LED, user button on board which later inspired other guys to follow.

    Available on Tindie now: tindie.com/products/Knewron/smartwifi-development-module-esp8266-based/

    1. oddly the Wemos boards are more expensive at Wemos than with some other chinese suppliers. Copies? also called Wemos board and Wemos charges shipping as well.
      Via Aliexpress they do seem to ship to HK.. but still charge shipping

  6. Hello.

    Just wanted to mention that Wemos’s D1 mini is not the same as their previous LoLin board which I have – D1 has quite a few pins less, specifically soft SPI and SDIO pins (SD0-3, SDCLK, SDCMD interleaved with MOSI, MISO, SCLK, CS and GPIO9/D11, GPIO10/D12).

    I suppose you knew about that, but I thought it needed to be explicitelly stated for those who thought, like I did, that D1 mini is just different form factor with two-sided components.
    Basically, an updated/shortened LoLin board…

    So, maybe you should emphasize that if you need those pins, one should not go for D1 mini but instead go for regular V2/V3 board.

    Cheers, Andrea

  7. YouTuber Andreas Spiess has a nice review of the various options for ESP8266, it is reasonabley recent (2016)

  8. Here’s another board to consider: Onion Omega (https://onion.io) is truly a board oriented towards IOT devices and projects! It’s super small, has built-in WiFi, runs Linux, program it using popular web languages (Node.js, Python, etc.), lots of Expansions (bluetooth, gps, servo, etc.) to extend the capabilities, can be remotely controlled/updated via Onion Cloud and very affordable!

  9. Thank you that’s a useful comparison.

    The CH340 is proving to be popular and drivers are much easier to find. The CH340 driver was incorporated into Chrome OS very recently and seems to be there by default in Ubuntu.

    The NodeMCU V2 seems to be the best value (I paid less than £3 including P&P) and has all the features I want. The only drawback is that it’s pretty wide so it spans the breadboard completely. That’s not a disaster but it’s a bit annoying having to run jumpers underneath the board to connect it to anything.

      1. That’s what I do. I don’t get why anyone would refuse to use it on account of its size. It’s not as though you’re going to leave it on the breadboard after your project is built.

        Also note that Debian handles the CH340 just fine without needing a driver to be installed.

  10. On the LoLin “v3” board – IMPORTANT! The usb connector is only soldered by the pins. The legs are inadequately soldered, if at all. Have two – same on each.

    Make sure to solder the four legs to stabilize the connector. Solder can be applied from back with a hotter fine tipped iron.

    I spent hours of frustration, changing cables, using different software, baud rates, and cursing different parts of the universe, before I noticed that the USB connector was not secure.

  11. @cc young thanks for the heads up, have one coming for the ‘collection’, will be switching to ESP8266-100 and ESP8285 with our lipo charger while waiting on the ESP32..

    1. If using Windows 7 or early version of Windows 8, you will need to load serial COM port drivers to windows for either USB-to-UART bridge chip… Silicon Labs CP2102 or WCH’s CH340G. The small squarish CP2102 is used by Amica brand NodeMCU v1.0 and some DoIt Brand NodeMCUs. The rectangular CH340G chip is used by LoLin, some DoIt Brand NodeMCUs, and WeMos D1, D1/R1 and D1-Mini MCUs. Here are the links I use:

      A.) SiliconLabs CP2102 Drivers for Windows 7/8/8.1
      https://www.silabs.com/products/mcu/Pages/USBtoUARTBridgeVCPDrivers.aspx#windows

      B.) WCH CH340G Drivers for Windows 7/8/8.1
      http://www.arduined.eu/ch340g-converter-windows-7-driver-download/

      Also, don’t be put off if the name of the driver file is “CHG341SER.zip”, as the ‘341 is fully software compatible to the ‘340. So, go ahead and use the ‘341 version of the drivers. I use them on my LoLin, WeMOs D1 & D1/R2 boards as well as for my Arduino Nano boards (those cheaper Chinese clones).

  12. 1. on the LoLin “V3” NodeMCU, the at rest 5V is about 110ma

    2. is there a forum/list for this sort of thing?

    1. While the pin layout and your comment indicates the availability of 5V on the LoLin board I am at a loss to find it …….. S2 and G do not provide 5V in my testing ….. can you help?

  13. Dear Marcel,

    Thank you for this great and detailed comparison of these boards. I’ve already come back a couple of times to consult the differences. Very helpful!

  14. There is also a “light” version of the NodeMCU on AliExpress from RobotDyn.
    https://www.aliexpress.com/store/product/WIFI-module-ESP8266-PRO-Light-version-of-NodeMCU-board-8M-flash-memory/1950989_32733798744.html

    It lacks the USB so it’s more like a simple breakout with additional power regulator so that it accepts 4 to 9 Volts. I’m wondering what the chip next to the AMS1117 is. Could not find any datasheets for it (or I’ve looked at the wrong places).

    1. This looks really good. Narrow footprint and comes with headers. I hope somebody tests this guy soon!

      Only problem is shipping – great if you’re buying several of one item, but for several items (for me) shipping from this vendor becomes expensive fast.

  15. Working with the RobotDyn ESP8266PRO.

    First, no doc provided by manufacturer.

    Here is as far as I got: 10Kohm between EN and 5V, 10Kohm between IO15 and gnd. To flash, ground IO0 and reset. I used a PL2303 cable I had successfully used with Ardruino Mino Pro.

    Results: No Go. consistently Digest mistmatch.

    Anybody successful with this thing yet?

  16. Great article! Thank you for the well organized information.

    I believe there are a couple errors:
    1. Spelling error: “If you you compare the” under ‘Comparison of NodeMCU development boards – v3’.
    2. The aliexpress URL under ‘Relationship between NodeMCU and Amica – Official vs Unofficial’ returns a 404.

      1. Many thanks for your quick answer.
        I purchased and received one already. But I have strange behaviors with the Vin pin.
        So I wondered if that could be a generic issue. But maybe it’s only my sample.

  17. Another difference I’ve found on LoLin V3 is they mount a 40Mhz crystal rather than the 26MHz. The crystal value is supposed to be on the flash in a specific location. Standard firmware (or arduino ide generate code) use the default, so the the end result is the think is clocked wrong -> serial output will be garbagem wifi won’t work.

  18. I noted in your article that you stated that the Amica NodeMCU is not sold at Banggood. However, this is where I purchased mine back in December of 2017. In fact, it is still available but is listed as a “Geekcreit” brand. It is possible that this image is incorrect but I doubt it. See for yourself at the following link:

    https://m.banggood.com/NodeMcu-Lua-WIFI-Internet-Things-Development-Board-Based-ESP8266-CP2102-Wireless-Module-p-1097112.html?rmmds=search

    Great comparison article BTW!

    1. Thanks. I’ve noted the Geekcreit brand quite a while ago but never bothered to check whether the module looks genuine. It does indeed seem to be a NodeMCU v2 devkit.

  19. “I don’t really understand the notion of official. It’s my understanding that with open-source hardware there’s no such thing as official boards”

    I disagree with that statement. Open source means that the copyright holder gives the rights to the distribution and evaluation of the source code (or blueprints in hardware). That does not mean that the holder loses their copyright. In fact, the open source project CAN become closed-source at any time the holder chooses so. This would mean that all implementations of the code (or parts of the design) in other projects would be allowed, but all subsequent changes and implementations after that point in time would not.

    “Official boards” Simply mean that the copyright holder (the creator) is the one to create the next generation device (which I would personally trust more).

Leave a Reply