Tutorial: Flashea Tasmota en un dispositivo Sonoff (o un ESP8266) con Arduino IDE

Tutorial: Flashea Tasmota en un dispositivo Sonoff (o un ESP8266) con Arduino IDE

Manual para cambiar el firmware a los módulos con chip ESP8266 como los Sonoff , Wemos, NodeMCU, etc al firmware de Tasmota para utilizar con Home Assistant o a través de web con una nueva interfaz.

Material necesario:

  • Módulo con chip esp8266 como es el Sonoff Basic (podéis comprarlo aquí) que vamos a utilizar en este caso.

Material opcional que facilita el trabajo sobre todo si son varios módulos a flashear:

  • Pines para soldar

  • Cables para conexiones tipo Dupont hembra-hembra (Podéis comprar aquí eligiendo la opción Female-Female, 20 cm y 10 pcs)

  • Interruptor (podéis comprarlo aquí)

Primero nos aseguramos que el conector del ftdi lo tenemos puesto en 3,3v, luego conectamos 4 cables (Rx-Tx-Gnd-3,3v). El cable de 3,3v lo llevamos a una patilla del interruptor y de la otra patilla sacaremos otro cable dupont.

En nuestro Sonoff tendremos que soldar los pines correspondientes, en el Wemos solo es identificar en la placa los rx-tx-3,3 y gnd, y, en el ESP8266 de igual forma podemos mirar los pines correspondientes.

Pines a soldar en Sonoff Basic (3,3v-Rx-Tx-Gnd y gpio14 por si lo utilizamos en un futuro)

Pin FTDI Pin ESP8266
3,3v 3,3 v
Tx Rx
Rx Tx
Gnd Gnd

NOTA: Recordad que el pin de 3,3v del ESP8266 vendría del interruptor que se puso

Una vez soldados los pines vamos a conectarlos con el ftdi:

Ahora vamos a preparar el software.

Necesitamos descargarnos varias cosas, empezamos por arduino ide 1.8.5 en su versión “for non admin install” que es la segunda opción que nos encontraremos en esta página.

Una vez descargado lo descomprimimos y lo pasamos al escritorio, antes de abrir el .exe vamos a crear las carpetas ‘portable’ y ‘sketchbook’ dentro de la carpeta arduino-1.8.5.

Ahora abrimos el arduino.exe y abajo en la pestaña que se abre vamos a File (archivo), Preferencias y en Additional Boards Manager Urls: (gestor de Urls adicionales de tarjetas) ponemos la siguiente url:

http://arduino.esp8266.com/stable/package_esp8266com_index.json

Arriba vamos a decirle en que carpeta queremos guardar nuestros proyectos, elegir la carpeta sketchbook que creamos dentro de arduino-1.8.5.

Damos ok y salimos.

Pinchamos en Tools (herramientas) y vamos a Board: (Placa), aquí arriba vamos a Board Manager (gestor de tarjetas), esperamos a que cargue y buscamos la tarjeta “esp8266 by ESP8266 community”, seleccionamos la versión 2.41 y la instalamos.

Vamos a descargar el nuevo firmware para el esp8266, en este caso será la versión de Tasmota, para ello nos dirigimos a esta página: https://github.com/arendst/Sonoff-Tasmota/tree/v5.14.0 esta es la última versión estable, la 5.14 que esta probado con la conexión del gpio14 y funciona de forma estable sin tener que añadir resistencias ni condensadores.

Para descargar pinchamos en clonar o descargar y descargamos como zip.

Una vez descargado lo descomprimimos y pasamos al escritorio.

Ahora copiaremos el archivo platform.txt que está en Sonoff-Tasmota-5.14/arduino/versión 2.4.1

y lo pegamos en Arduino 1.8.5/portable/packages/esp8266/hardware/ esp8266/2.4.1.

Seguimos copiando archivos, nos vamos a Sonoff-Tasmota-5.14/lib

y copiamos todo a Arduino 1.8.5libraries y también en la carpeta sketcbook/libraries.

Volvemos a Sonoff-Tasmota-5.14 y copiamos la carpeta Sonoff en Arduino1.8.5/sketchbook

Con esto tenemos todo el software necesario para flashear Tasmota al esp8266.
El siguiente paso es configurar el arduino ide para nuestra placa, para eso abrimos arduino.exe y pinchamos en tools (herramientas) y configuramos igual que en la imagen:

El puerto com deberemos elegir el que nuestro pc dedique al convertidor Ftdi, por defecto instala los drivers el mismo pero si no fuese así en la carpeta de arduino 1.8.5 tenemos una carpeta de drivers para ftdi.

Ahora toca compilar el firmware Tasmota.

Abrimos arduino.exe y pinchamos en archivo, luego en Abrir, aquí buscamos la carpeta Sonoff que esta dentro de arduino 1.8.5/sketchbook y seleccionamos el archivo sonoff.ino, le damos a abrir.

En esta ventana nos vamos a la parte superior derecha y veremos una pequeña flecha debajo de la lupa, pinchamos y buscamos el archivo user_config.h, pinchamos en el y nos aparece en la ventana del arduino.

Ahora toca hacer unas configuraciones, buscamos — Project —– y aquí en #define PROJECT le ponemos un nombre de identificación.

En –Wifi— nos vamos a #define STA_SSID1 y colocamos entre comillas el nombre de nuestra wifi y debajo igual pero la pass de la wifi

Seguimos bajando y buscamos las opciones de MQTT, aquí podemos ya configurar nuestra id y pass de mosquitto, siempre entre comillas.

Una vez hechos estos pasos, conectamos el ftdi con el interruptor en off y seleccionamos el puerto en herramientas, le damos a compilar, la “v” debajo de archivo,

Si toda ha ido bien nos debe aparecer algo como esto:

Ahora solo queda poner en modo flash el esp8266, en el Sonoff es dejar pulsado el pulsador físico que trae el Sonoff y pasamos el interruptor a “on”, después le damos a Subir (la flecha debajo de archivo):

Una vez que termine de compilar empezara a subir el archivo al Sonoff y debería aparecernos algo como esto:

Si queremos confirmar que todo ha ido bien podemos abrir la consola, icono de la lupa arriba a la derecha, ponemos la velocidad en 115200 y pulsamos el botón del sonoff, debería de aparecernos algún dato tipo POWER “ON” y también podremos ver que ip le ha asignado nuestro router.

Entramos a esa ip desde nuestro navegador y nos debe aparecer una ventana tal que así:

Ahora entramos en configuración:

Configurar modulo:

En tipo de modulo escogemos el que corresponda a nuestra placa, en este caso un Sonoff Basic.

En gpio lo suyo es dejar todo tal cual si no vamos a utilizar nada exterior, si queremos utilizar interruptores/conmutadores de pared tendremos que habilitar el gpio14 como un switch, si lo que vamos a utilizar es un pulsador debemos configurarlo como button.

Salvamos y volvemos a configuración.

Nos vamos a configuración Wifi y definimos el nombre de nuestro host, en este caso la ip de la raspberry donde tengo instalado Home Assistant:

Salvamos y volvemos a configuración.

Nos vamos a configuración mqtt y confirmamos que la configuración sea la correcta para utilizar mqtt, aquí es importante que no tengamos ningún cliente mqtt con el mismo nombre y el tema debe ser el mismo que luego configuraremos en Home Assistant.

Salvamos y pasamos el interruptor a “off” desconectamos los cables del sonoff y el ftdi del pc.

Instalamos la placa en su carcasa y la conectamos a 220v por “IN”.
Si hemos hecho los pasos bien y después de configurar nuestro nuevo switch en la configuración de Home Assistant nos aparecerá como nueva entity y podremos actuar sobre ella.

Si no nos cogiese la red wifi por alguna mal configuración en user_config.h el módulo creará un AP propio con el nombre que le hemos asignamos al en la configuración, para entrar deberemos de conectarnos a dicho AP y acceder a la configuración a través del navegador con la ip 192.168.4.1

En caso de no utilizarlo en Home Assistant y solo utilizarlo en nuestra red deberemos de darle una ip fija en nuestro router y así poder entrar mas fácilmente.

IMPORTANTE: Con el fin de ayudaros de una forma más directa, he creado un grupo en Telegram de Home Assistant en Español donde podemos ayudarnos todos así como evitar que os quedéis atascados, si tenéis telegram podéis pulsar aquí para uniros y si no lo tenéis, os recomiendo que os lo instaléis ya que lo usaremos en el tutorial para notificarnos.

La entrada Tutorial: Flashea Tasmota en un dispositivo Sonoff (o un ESP8266) con Arduino IDE se publicó primero en Domótica en Casa.

Eduardo Ruiz

Informático de vocación, apasionado de la tecnología y blogger desde hace mucho tiempo, escribo de lo que me entretiene y disfruto con ello. Si deseas seguirme, usa el rss del blog o en mi perfil de .