In the previous article introducing the Adafruit Huzzah ESP8266 we saw how to reinstall the original NodeMCU firmware. It is now possible thanks to the nodemcu-build tool proposed by Frightanic to customize its firmware and to choose the modules that are really needed for its project. Customizing your firmware can be useful if you run out of space, need a module only available in the development version…
Customize the NodeMCU firmware
It is very easy to customize the NodeMCU firmware of your ESP8266 with the Frightanic online tool nodemcu-build. Let’s find out how.
To retrieve your custom firmware you must go to the Frightanic website. You will need to enter your email address. Frightanic is committed to using it only to send you the status of preparing your firmware and download links when it is ready.
You can choose between the “master” branch and the “dev” branch. The dev branch is reserved for the more adventurous among you but it sometimes contains good surprises.
The master branch contains (at the date of this article) the following modules:
- ADC
- ADXL345
- AM2320
- APA102
- bit
- BME280
- BMP085
- CJSON
- CoAP
- crypto
- DHT
- encoder
- end user setup
- file
- GPIO
- HMC5883L
- HTTP
- HX711
- I²C
- L3G4200D
- mDNS
- MQTT
- net
- node
- 1-Wire
- PCM
- perf
- PWM
- RC (no docs)
- rfswitch
- rotary
- RTC fifo
- RTC mem
- RTC time
- Sigma-delta
- SNTP
- Somfy
- SPI
- struct
- Switec
- TM1829
- timer
- TSL2561
- U8G
- UART
- UCG
- websocket
- WiFi
- WS2801
- WS2812
By clicking on the small icon in the form of a book, you can directly access the documentation of the module and more particularly the functions proposed by it.
Finally you can enable SSL support and a debug mode. Activate debug mode only in the development phase and if you encounter debugging problems because this mode increases the size of the firmware and reduces the execution speed of the code (which no one usually wants).
Your configuration finished, press “Start your build” at the bottom of the page. After about 1 to 2 minutes, you should receive an email containing the link to retrieve your custom firmware. Two versions are available. The first allows to use variables with real numbers (Float), the other only integers (Integer). It’s up to you to choose the one that best suits your project.
Installing your new ESP8266 NodeTMU firmware
You can follow all the instructions to flash an Adafruit Huzzah ESP8266 board on this previous article. Proceed the same way but this time go in the config tab:
- Specify the path of your new custom NodeMCU firmware and check the selection box
- Uncheck the default firmware
- Specify the flash address to 0x00000
Connect your board using the FTDI module and then put your ESP8266 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 GPIO0 button. The led illuminates by half. The ESP8266 is in “bootload mode”
Finally, press Start to install your firmware. The operation starts as soon as the board is detected (the Mac address is displayed). If you encounter any difficulties, check that your board is in bootload mode. For example, on an Adafruit Huzzah ESP8266, the GPIO0 led should be on at 50%.
Trick. You can pass the board in bootload mode even if you have already pressed Start.
To check the version of the newly installed firmware, open a connection with Putty or ESPlorer and press the Reset button on the board. If everything went well, you should read a message like this:
NodeMCU custom build by frightanic.com branch: master commit: c8037568571edb5c568c2f8231e4f8ce0683b883 SSL: false modules: dht,file,gpio,tmr,wifi build built on: 2016-04-07 16:41 powered by Lua 5.1.4 on SDK 1.4.0 lua: cannot open init.lua
Now you have a firmware perfectly adapted to the needs of your projects.