July 25th Review Update
============
I ordered 6 more pieces last night, and I got all of them following day. I installed Micropython on all of them and activated WebRepl, and I have no issues so far. All of them worked! I'm attaching new screenshots (the one with a fleet of NodeMcu's). Included in this screenshots are some of the projects I have done with this board:
1. Thermal camera sensor
2. Motion detector
3. Robot car
4. Laser tripwire system with RFID-based card access
5. Stepper motor with DRV8825 driver integration
6. Micro servo with OLED screen / Hall Sensor switch
All of these are programmed with Micropython. I have also attached screenshots of my frontend and backend Raspberry-based data collector and analytics program (my own platform). The point of these screenshots is to show what's possible with this board.
So far out of my 19 NodeMcu boards, 17 are perfect. The other two were failure because one of them was never delivered and the other one won't allow any firmware installation. Amazon has refunded those two by the way.
July 10th Review Update
============
So I ordered two more. However one of them was missing. Amazon only delivered one! The other one isn't accepting firmware updates. I wasted a week of waiting for the delivery and talking to support. The good thing is Amazon refunded both, and HiLetGo email tech support is able to provide "moral" support. At least they are responsive. So at the end the delivery part was Amazon's fault because what HiLetGo does is they delivery the items to Amazon and Amazon is the one who fulfills the order. Now the other board that's malfunctioning seems to HiLetGo's fault. I am at odds whether I should reduce my rating from 5 stars to 4 or 3 stars.
I looked for alternatives but I can't find any reliable sellers with reliable reviews. So I still went with HiLetGo. I ordered an extra 5 boards again. And they all worked fine. It took 2 mins to flash the firmware. So 10 good boards versus 1 missing and 1 malfunctioning (which both got refunded) I think should offset the bad experience I had. Comment below if you agree or not.
As part of my research why this other board isn't flashing correctly because of "espcomm_sync failed" errors, it seems it's a hardware misconfiguration. There were suggested workarounds but they didn't work for me. Google "nodemcu espcomm_sync failed" for solutions since I am not allowed to post a URL here. Also Google "Comparison of ESP8266 NodeMCU development boards" to get more information on various NodeMcu boards.
I say get the Amica-based NodeMcu board. It's the easiest and most reliable. The good thing is HiLetGo carries the Amica-based NodeMcu.
So far the projects I have made with this board are:
* Robot car
* Magnetic reed switches for door and mailbox
* Joystick controllers
* Rfid controller
* Weight sensors
* Neopixel controllers
I still prefer this board over the Adafruit Huzzah and Wemos. Recently I've dabbled with Ultrasonic Sensors and Relay. This board also worked flawlessly but the Olimex board seems better but pricier because it has integrated relay. I guess that's not really better because you can buy an extra relay and put it with the NodeMcu.
Jun 29th 2017 Review Update
============
So I ordered two of these again since they are the most reliable ESP8266 dev board out there (for the cheapest price). Oh I've tried them all (Huzzah, Olimex, Wemos etc). If you think I haven't, send me a message and I will order it.
Today I had a hiccup with uploading Micropython. It won't flash. The same commands that worked on my previous two NodeMcus worked flawlessly from these same vendor. But now it won't. I figured I have to use special flash mode when using esptool. Now it's working again.
So for those who are using Micropython and flashing the firmware with esptool, here's the commands that I'd suggest you try
1. Erase first. This assumes you update the PORT accordingly
esptool.py --port /dev/tty.SLAB_USBtoUART erase_flash
2. Upload the firmware. This assumes you went to Micropython and downloaded the firmware! The "-fm dio" is CRITICAL for these latest two dev boards I ordered. Previously I didn't need those. I read from the docs, most NodeMcu boards use this mode. So I guess I got lucky on my first two.
esptool.py --port /dev/tty.SLAB_USBtoUART --baud 115200 write_flash -fm dio 0x00000 esp8266-20170526-v1.9.bin
3. Reset and connect to your terminal to verify.
Bonus content:
Upload a NodeMcu LUA-based firmware:
===============================
esptool.py --port /dev/tty.SLAB_USBtoUART write_flash -fm dio 0x00000 nodemcu-master-21-modules-2017-06-09-04-48-50-float.bin
Note: This assumes you went to NodeMcu and downloaded their firmware. And you browse to the directory where you have this firmware.
Upload a NonOS firmware from Espressif:
===============================
esptool.py --port /dev/tty.SLAB_USBtoUART --baud 115200 write_flash --flash_mode dio --flash_size detect 0x00000 boot_v1.7.bin 0x01000 at/512+512/user1.1024.new.2.bin 0x3fc000 esp_init_data_default.bin 0x7e000 blank.bin 0x3fe000 blank.bin
Note: This assumes you downloaded the ESP8266_NONOS_SDK-2.1.0 sdk from Espressif's website. After downloading browse to ESP8266_NONOS_SDK-2.1.0/bin directory.
Screenshots from my projects
=======================
I've done a couple but I think these two robots I've made are notable and shows you can control these with NodeMcu. The joystick is controlled by a mini NodeMcu (same code I used for the standard NodeMcu). Whoemever is saying this dev board is fake doesn't know a thing.
Original Review
============
I ordered two of this, so I can play around with Micropython firmware (Python-based language) and the Nodemcu firmware (LUA-based language).
Pros:
* Solid build like a rock (compare to other ESP8266 boards)
* It has everything you need. No need for a separate FTDI cable or breakout board
* No need to pull down GPIOs to do a firmware flash update. It's all automatic. Firmware update with Micropython is pure magic.
* No need to solder pins since they are presoldered. Of course you might need to solder the unit itself with your projects but that's a different discussion.
* 4MB memory. That's 32Mbit
* Price is reasonable compare to Ebay
Cons
* None. It just works. That's why I ordered a second one.