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.

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.

Generation Version “Common” Name
1st 0.9 V1
2nd 1.0 V2
2nd 1.0 V3

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 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.

Arduino starter kit

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’s behind the NodeMCU Facebook account and 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 get them at AliExpress and seeed studio.

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 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

19 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.

  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/

  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.

Leave a Reply

Your email address will not be published. Required fields are marked *