Cómo compilar firmware NodeMCU para ESP8266

Otra entrada dedicada a este módulo WiFi tan impresionante, versátil y económico. En este caso utilizaremos el firmware de NodeMCU, pero vamos a compilar el código fuente con las últimas actualizaciones liberadas en el GitHub de NodeMCU.

Igualmente podemos seguir los pasos que están descritos en la wiki de NodeMCU. Pero yo voy a explicar los problemas que me he encontrado por el camino ;)

Lo primero que vamos a hacer darnos una vuelta la esta entrada del blog Cómo instalar MicroPython en un módulo ESP8266-12 donde hay una primera parte en la que se explica cómo compilar OpenSource ESP SDK toolchain xtensa-lx106-elf-gcc, requisito para poder compilar cualquier firmware para ESP8266, entre otros éste de NodeMCU.

Una vez tenemos toolchain de OpenSource ESP SDK (recordad que en la varible PATH debemos tener la ruta donde está xtensa-lx106-elf-gcc), ya podemos clonar el repositorio de NodeMCU:

git clone https://github.com/nodemcu/nodemcu-firmware.git  

Ahora cambiamos al directorio nodemcu-firmware que nos ha creado git y ejecutamos make:

cd nodemcu-firmware  
make  

Una vez ha finalizado en la carpeta bin vamos a tener dos archivos:

0x00000.bin  
0x10000.bin  

Estos serán los que utilicemos para flashear nuestro módulo. Para ello vamos a utilizar el siguiente comando (si lo ejecutamos desde el directorio donde hemos realizado el make ya hace referencia a los anteriores ficheros .bin. Recordad también cambiar el parámetro donde se indica el puerto de conexión /dev/ttyUSB0)

esptool.py -p /dev/ttyUSB0 write_flash 0x00000 ./bin/0x00000.bin 0x10000 ./bin/0x10000.bin  

Una vez ha finalizado, lo ideal es hacer un reset del módulo. Para verificar que tenemos nuestro módulo funcionando en NodeMCU, lo que tenemos que hacer es conectarnos al puerto COM y cuando estamos conectados hacerle un reset, veremos entonces como se inicia y nos devuelve la información de la versión:

nodemcu esp8266

En el momento que he creado la entrada es la NodeMCU 1.5.1 by Lua 5.1.4 con SDK 1.5.1

En mi GitHub he dejado los ficheros 0x00000.bin y 0x10000.bin por si queréis utilizarlos y no liaros con la parte de la compilación.

ACTUALIZADO 23/07/2016

Hay un servicio online que te permite configurar y te compila el firmware a tu gusto ;) http://nodemcu-build.com/index.php