#Test: Adafruit Huzzah ESP8266, firmware upgrade NodeMCU

The Adafruit Huzzah ESP8266 is a very compact card that is based on the Wifi module ESP-12 (ESP8266) from Chinese manufacturer Espressif. The Adafruit Huzzah is not an Arduino but its very versatile chip allows to execute many types of codes (Arduino, Lua, Python, AT commands …) depending on the installed firmware. In this article we will discover this small card very practical for projects of connected objects (IoT), how to program it in Lua or from the Arduino IDE and finally how to reinstall its firmware.

If you are starting with Wifi ESP8266 modules, you can also read this previous article explaining how to reinstall the firmware on an ESP-01.

Presentation and characteristics of the Adafruit Huzzah ESP8266

The Adafruit Huzzah ESP8266 is in the form of a 38.5 x 25.6 mm card. After programming (when you disconnect the FTDI module), the height with the pins is 20mm. This card was primarily designed to simplify the design of projects based on the ESP-12 module which is delivered in SMD format. Like all ESP8266 modules, the ESP-12 must be powered with 3.3V (it is not equipped with surge protection), the Huzzah solves this problem by integrating two protected power inputs (3 to 12 Volts ). Here are the main technical characteristics of the Huzzah that you can also find on the site of Adafruit on this page:

  • Espressif ESP-12 Wifi Module (consult the technical documentation)
  • A Reset button
  • A button connected to the GPIO0 to put the ESP-12 module in Flashing Mode (or bootloading mode).
  • Voltage Regulator 3V 500mA
  • 1x analog input (1.8V max)
  • 9x GPIO (3.3V) which can be used for I2C or SPI modules
  • 2x UART Pins
  • Support card equipped with 2×10 pins on each side of the card in pitch of 2.54mm compatible breadboard
  • Two 3 to 12V power sources protected by Schottky diode
  • Certifications CE (n ° BCTC-141212468) and FCC (n ° 2ADUIESP-12)
  • Dimensions: 25mm x 38mm x 5mm
  • Weight: 5g

How to use Adafruit the Huzzah ESP8266

Connection

connecteur coudé 90ESP8266 is programmed exclusively with an FTDI module that will be plugged into the connector located on top of the card. To save space, you can replace the connector supplied with the card with a 90 ° angled connector (if your project requires compactness).

To program or update your ESP8266 firmware, you will need an FTDI module. You can find for less than €2 from Asia. If your FTDI comes with a connector, simply plug the cable in so that the black wire is in front of the GND pin. Otherwise here is the color matching (to be checked with your FTDI module):

Adafruit Huzzah ESP8266 FTDI moduleBlack <-> GND

Blue <-> Not used

Red <-> V +

White <-> Rx

Yellow <-> Tx

Green <-> Not used

 

Programming the Adafruit Huzzah ESP8266 in Lua

The Adafruit Huzzah is primarily composed of an ESP8266 module shipped with NodeMCU 0.9.5 build 20150318 (Lua 5.1.4) pre-installed. If you do not know the Lua yet, we will realize a small program very simple to discover it. Before you begin, know that it is possible to send instructions (or an entire program) to the Huzzah directly using Putty.

Not everyone is familiar with command lines, but rather use ESPlorer, a more user-friendly tool. This is a Java program. It can therefore run on Mac OS, Linux, Windows. You can download it at this address. To run you must also install Java (version 7 at least) which you will find here.

After decompressing the Zip containing ESPlorer, run the program by double clicking the ESPlorer.jar file.

In the list of COM ports, select the one to which your card is connected. Select a speed of 9600 baud and press OPEN.

ESPlorer connecter esp8266 port com

Press the Reset button on the card. If all is good, you will get the message NodeMCU 0.9.6 build 20150704 powered by Lua 5.1.4 (the version numbers will correspond to your card of course). You can also see that the ESP8266 returns “lua: can not open init.lua” which means that the Huzzah has no program to run at startup. Let’s see how to do it now.

ESPlorer esp8266 init nodemcu

Copy the following code in the editor, then save it (Save button) giving it the name init.lua (this is very important). This small program simply flashes the blue LED of the Wifi antenna of the module ESP-12.

ESPlorer esp8266 nodemcu save enregistrer init.lua

ESPlorer saves the program and downloads it directly to the program map. After a few seconds, the blue LED next to the antenna will flash according to the interval corresponding to the variable “duration”.

That is, you have just realized your first program a Lua.

Now, with each connection (or Reset), your Huzzah ESP8266 launches the program init.lua which flashes the blue LED of the antenna. To delete it, it is very simple, press the “Format” button to the right of the console.

Programming the Adafruit Huzzah ESP8266 with the Arduino IDE

It is very simple to program the Huzzah from the Arduino IDE. Note that after uploading your program you will need to flash the firmware (explained in the following paragraph) NodeMCU to be able to run Lua programs again.

As in the previous article explaining how to flash the original firmware of an ESP-01, you need to configure your Arduino IDE. Open the Preferences and add the library to program the esp8266 cards.

IDE Arduino 1.6.8 esp8266 package

Go to the map manager and look for esp8266, then click install.

IDE Arduino 1.6.x ajouter carte esp8266

When the installation is complete, select “Adafruit Huzzah ESP8266”. The standard configuration is as follows:

  • CPU Fequency: 80 Mhz
  • Flash Size: 3M SPIFFS
  • Upload Speed: 115200
  • Port: the COM port on which the card is plugged
  • Choose ArduinoISP as a programmer.

Open the Blink example and replace output address 13 with 0, the address of the GPIO LED present on the card. Now you have to put the card in “bootload” mode, proceed as follows:

  • Press and hold the GPIO0 button. The LED lights up at full power
  • Press the Reset button
  • Release Reset
  • Release the GPIO button. The led illuminates by half. The ESP8266 is in “bootload mode”

Now upload your Arduino program. After recompilation, the download begins. You can follow the progress of the download by orange dots scrolling in the console. You can also follow the operation with the blue LED of the ESP8266 which flashes during the operation. The program starts at the end of the download.

Adafruit Huzzah ESP8266 IDE Arduino bootload mode téléversement

Update or reinstall NodeMCU firmware

Here is a short tutorial to update or reinstall the NodeMCU firmware that applies to all ESP8266 cards. The easiest method is to use the NodeMCU ESP8266 Flasher program, which you can download here. It is available only for Windows users (32 or 64 bit). For Mac OS users (or linux), it will be necessary to turn to esptool.py Flasher of which I have detailed its use in this article.

First, go to the “Advanced” tab and check the configuration. Here is my Huzzah ESP8266

  • Baudrate: 115200
  • Flash Size: 4MByte
  • Flash Speed: 80MHz
  • SPI Mode: DIO

adafruit Huzzah ESP8266 Flasher NodeMcu Advanced settings

ESP8266 Flasher includes the latest NodeMCU firmware. If you need to install another version, indicate the path to it here

adafruit Huzzah ESP8266 Flasher NodeMcu Config

Put the card in bootload mode like this:

  • Press and hold the GPIO0 button. The LED lights up at full power
  • Press the Reset button
  • Release Reset
  • Release the GPIO button. The led illuminates by half. The ESP8266 is in “bootload mode”

Finally, select the COM port to which your card is connected and press START. If everything is correct, the Flasher will detect the Mac address of your card and immediately start downloading the Firmware NodeMCU. The operation lasts about one minute. The blue LED of the ESP-12 module flashes during operation.

ESP8266 Flasher NodeMcu

After completion, you can use ESPlorer, Putty or the Arduino IDE Series Monitor.

If you get the following error message, the first cause of this error is an insufficient power supply of your FTDI cable that causes an error during the firmware update operation.

To solve this problem, I simply installed a 3.7 volt LiPo battery (a block of 2 new AA batteries can also fit) on the V+ pin.

Subscribe to the weekly newsletter

No spam and no other use will be made of your email. You can unsubscribe anytime.

Tags:

DIY Projects