I was very excited when the very same group that developed the NodeMcu Lua firmware announced their ESP8266 Dev board. I ordered one from Banggood and yesterday it arrived after more than a month.
The PCB seems to be well done. The silk screen is yellow as opposed to the blue one the group posted on Github. Besides that they look identical. Solder points look also well done. An interesting point you can observe on the bottom side of the PCB: there is a gap which probably will increase Wifi sensitivity, since the PCB antenna is in this area.
|The upper side of the NodeMCU Dev Kit with an ESP8266 ESP12 mounted|
|The bottom side of the Dev Kit. You can see the gap on the yellow PCB
which probably should improve Wifi sensitivity
After the first inspection I wanted to attach it to my Mac running Yosemite (10.10). I then opened ESPlorer to see if it would find the Dev Kit but no luck there, the device just didn’t show up. I went back to the NodeMCU Github page and quickly found out, that they used a rather exotic CH340G as chip to connect the ESP8266 with the USB interface. It seems that this chip is a lot cheaper than the FT232R by FTDI that is usually used for a Serial-To-USB adaptor. I quickly found the driver page of the vendor but this was not directly supporting Yosemite. Ray on his esptoy page linked to these drivers:
- Mac OS X: http://raysfiles.com/drivers/ch341ser_mac.zip
- Windows XP: http://raysfiles.com/drivers/ch341ser.exe
- Windows 7, 8, 8.1 and Linux: no drivers required
Flashing New Firmware
There are two tiny buttons on the board: one labeled “User” and the other labeled “Flash”. I’m not sure yet what the User button does, but when pressed during power up the Flash button makes the device go into boot mode where it theoretically can receive new firmwares.
I say theoretically because it didn’t work at all at first. Everything I tried just caused the following error:
$ python esptool.py --port /dev/tty.Repleo-CH341-XXXX write_flash 0x00000 nodemcu_latest.bin Connecting... Traceback (most recent call last): File "esptool.py", line 471, in esp.connect() File "esptool.py", line 149, in connect raise Exception('Failed to connect') Exception: Failed to connect
After a while I gave up and used a normal serial-to-usb adapter to connect to the RX, TX and GND pins directly, without using the CH340G. For power supply I kept the ESP8266 Dev Kit connected to my Mac.
After another reset I could program the Dev Kit from ESPlorer and I have to say, it works like a charm. It’s great not skip a few wires just to connect to USB. With the Dev Kit power supply and serial connection is all in one beautiful USB wire.
|The NodeMCU Dev Kit compared to the ESP8266 ESP201:
You can easily see that the Dev Kit covers all pins,
whereas the ESP201 has one row left
A ridiculous amount of coffee was consumed in the process of building this project. Add some fuel if you'd like to keep me going!