En el momento de escribir esto hay dos variantes de Sonoff, Sonoff, a secas, y Sonoff RF. Sonoff RF se diferencia, principalmente, por tener añadido un módulo RF 433Mhz que da la posibilidad de manejar el relé desde un mando a distancia. Parece que la versión RF tiene alguna particularidad, que la hace diferente. Por lo que lo dicho aquí no es valido para la versión RF. Cuando disponga de un Sonoff RF (está en camino) publicaré al respecto.
De fabrica viene con un software, que mediante una app, que se puede instalar en nuestro móvil (Android o iOS), permite controlar el relé.
La gracia esta en poder poner nuestro propio software y tener total libertad.
¡Advertencia!
No conectar a corriente alterna el Sonoff hasta que se haya cerrado la caja. La corriente alterna es peligrosa, además hay riesgo de destruir el dispositivo.
Soldar hilera de pines
En primer lugar habrá que soldar una hilera de pines para poder acceder mediante serial-ttl al ESP8266. Hay un espacio previsto para soldar los pines, se trata de cuatro agujeros que están junto al pulsador. Como se puede ver en las fotos, es fácil identificarlos.
![]() |
Con la hilera de pines ya soldada |
Conectar el adaptador USB a serial-TTL
Vuelvo a repetirlo: no conectar a corriente alterna Sonoff hasta haber cerrado la caja, y mucho menos con el adaptador conectado. Conectar el adaptador USB a serial-TTL, mientras hay corriente alterna en el circuito, puede freír los componentes.En ebay o en Aliexpress se pueden encontrar adaptadores por menos de 2€. Hay que tener en cuenta que la mayoria necesitan un cable con conector mini-USB, no nos valdrá el cable del móvil que suele ser micro-USB.
El adaptador debe trabajar a 3,3v, esto es imprescindible, ya que ESP8266 funciona a 3,3v.
La conexión se debe hacer de acuerdo a las siguientes indicaciones:
![]() |
Pines de la Sonoff |
Sonoff | Adaptador |
---|---|
3.3V | 3.3V |
RX | TX |
TX | RX |
GND | GND |
![]() |
Sonoff conectado con el adaptador USB a serial-TTL |
Borrar la memoria
Si no se borra la memoria el dispositivo puede tener un comportamiento extraño. Para hacerlo se puede usar esptool, arrancando en modo programación. Para arrancar el modo programación hay que mantener pulsado el pulsador antes de alimentar el Sonoff, en este caso, que usamos un conversor USB a serial-TTL, será antes de conectar el USB. En mi instalación de Linux Ubuntu lo he hecho así:
./esptool.py -p /dev/ttyUSB0 erase_flash
Lógicamente, el puerto puedo variar en cada caso.
Si tienes problemas para hacer esto desde un Linux puede ser porque el usuario no tiene permiso para acceder a los puertos USB. Para solucionarlo lee mi articulo al respecto.
Si tienes problemas para hacer esto desde un Linux puede ser porque el usuario no tiene permiso para acceder a los puertos USB. Para solucionarlo lee mi articulo al respecto.
Programarlo
Hay varias opciones para programar un ESP8266. Yo he optado por hacerlo con Arduino IDE.
La configuración de Arduino IDE es la siguiente:
void setup() { pinMode(13, OUTPUT); } void loop() { digitalWrite(13, HIGH); delay(1000); digitalWrite(13, LOW); delay(1000); }
Para ponerlo en modo programación habrá que repetir el mismo procedimiento que hicimos para borrar la memoria. Es decir, mantener pulsado el pulsador antes de alimentar el Sonoff.
Si se opta por Arduino IDE solo sería necesario usar el adaptador USB a serial-TTL la primera vez, luego se podría programar a través de actualizaciones OTA (Over The Air).
Puertos disponibles
Los puertos que tenemos disponibles son los siguientes:
Función | Puerto |
---|---|
Pulsador | GPIO0 |
Relé | GPIO12 |
LED | GPIO13 |
RX | GPIO3 |
TX | GPIO1 |
Conectar a corriente alterna
Como se indica en la caja, 1 y 2 es la entrada, mientras que 3 y 4 la salida. Puede ser interesante saber que 1 y 3 siempre están conectados, el relé actúa entre 2 y 4. De esta manera, en caso de poder identificar el cable de fase y de neutro, el de neutro debería conectarse en 1 y el de fase en 2.
![]() |
Conexión a corriente alterna |
Enlaces de interes
Página de producto de Sonoff: https://www.itead.cc/smart-home/sonoff-wifi-wireless-switch.htmlEsquema: http://wiki.iteadstudio.com/images/6/6b/Sonoff_schmatic.pdf
Articulo de Peter Scargill (comentarios muy interesantes): http://tech.scargill.net/itead-slampher-and-sonoff/
Para cualquier cuestión no dudéis en preguntar.
Actualización 25/4/2016: ya he publicado como hackear el Sonoff RF.
Hola:
ResponderEliminarMuy bueno.
Puedes ampliar el tutorial con más ejemplos funcionales como complemento si lo deseas para sacar el máximo partido.
Saludos.
Si, en el futuro publicaré algún proyecto hecho a partir de Sonoff. De momento quería tener un resumen, para mi, y para quien le interese, que sirviera de punto de partida.
EliminarHola Javier:
ResponderEliminarHaz hecho un buen resumen. Como segunda entrada, en el futuro y cuando tengas más conocimiento sobre este hackeo, puedes detallar en forma de tutorial paso a paso como hace para hacjearlo realmente, sobre todo lo que explicastes arriba en resumen, pero no muestras alguna imagen.
Por ahora está todo perfect lo que has hecho.
Buen trabajo.
Hola Javier, muy interesante el artículo, gracias por el aporte. Me interesaría saber si has experimentado acceder a otros puertos, como el GPIO4 o GPIO5, que según el esquemático de itead están libres. Por ejemplo, para poner una sonda de temperatura.
ResponderEliminarSaludos,
Atokita
Hola Atokita,
EliminarGPIO4 y GPIO5 están tan libres que no están conectados. Para tener puerto extras se puede recurrir a RX y TX que se corresponden con GPIO3 y GPIO1.
Parece que la última versión tiene 5 pines, en vez de 4. Con lo cual habría un puerto más, supongo.
Para temas concretos de temperatura es interesante el próximo lanzamiento de Itead, el Sonoff TH: http://wiki.iteadstudio.com/Sonoff_TH que incorpora un DHT11 como sensor de humedad y temperatura.
Hola Javier,
ResponderEliminarGracias por la respuesta. He visto el enlace que pusiste y también el del Sonoff SV: http://wiki.iteadstudio.com/Sonoff_SV donde están accesibles los puertos 4,5, y 14. Es justo lo que necesito, pero me acaban de llegar 3 sonoff de los normalitos y me gustaría ampliar su posibilidad de conexión. Pero identificar y soldar en la placa no lo veo tan fácil.
Saludos,
Atokita
Gracias por tu artículo, yo estoy interesado en su conectividad wifi, ¿seria posible encender y apagar sin la aplicacion movil, desde un ordenador o interfaz? También sería interesante la versión con temperatura, recibir esos datos en un navegador.
ResponderEliminarHola,
EliminarClaro, una vez abierta la posibilidad de programarlo, puedes hacer lo que quieras, todo es cuestión de ponerse.
Buenas:
ResponderEliminar¿Harán algún experimento funcional como ejemplo?
Aunque sea muy básico.
Saludos.
Ya tengo cosas funcionando. Ahora es cuestión de encontrar tiempo para documentarlo.
EliminarPor algo se empieza y tienes hecho. Cuando puedas, ánimos y adelante. ;)
ResponderEliminarhola
ResponderEliminartengo un sonoff y quiero instalarlo en una llave de luz. por lo tanto no lo puedo conectar a la salida de 220, sino que quiero conectar el retorno al relay. se podria hacer eso?
La función del Sonoff es actuar como interruptor, que es lo que pretendes, por lo que no habría ningún problema.
EliminarLo de conectar el retorno al relay no acabo de entenderlo.
Tengo una broadlink rm2 pro y no me reconoce el sonoff. con este cambio lo reconoceria?
ResponderEliminarNo conozco el broadlink rm2 pro, pero parece que sirve para controlar dispositivos por IR y RF. Si estamos hablando de un Sonoff RF pienso que debería funcionar tal y como viene.
EliminarSi, es cierto. La mia es wireless no rf.
EliminarUPSS
Hola. Podrias explicar que más se consigue. Que no haga la aplicación existente??. Yo de momento con un rele temporizado y un contactor manejo las luces exteriores y la puerta automática de mi casa de campo!!!
ResponderEliminarHola Carlos, pues eso ya depende de cada uno. En mi caso, la motivación principal es utilizar Blynk, para otros será el soporte para MQTT. La gracia es convertir un dispositivo cerrado en uno abierto.
EliminarHola Carlos Alemany, tengo intención de abrir y cerrar una puerta de corredera de mi casa haciendo uso del sonoff, veo que tu ya lo has hecho, podrías indicarme como, actualmente lo hago con el mando de la puerta, pero me gustaría hacerlo con el movil exitando el SONOFF como si fuese un simple pulsador ya que el mecanismo de la puerta admite usar un pulsador para abrir y cerrar.
EliminarMuchas gracias de antemano.
Hola soy usuario de varios dispositivos sonoff y estoy muy contento con ellos pero me falta saber porque no funcionan con wifi pero sin conexion a internet, me puden ayudar?
ResponderEliminarHola. Imagino que los usas con el firmware original. La conexión no es directa app-SonOff, pasa por un servidor app-servidor-SonOff, por lo que necesitas Internet para acceder al servidor.
Eliminarcon la ultima actualización se puede controlar por LAN (app-sonoff) directamente cundo no haya conexión a Internet!
EliminarHola! una consulta, al reemplazar el firmware original del sonoff se pierde la vinculación con el servidor y la posibilidad de controlarlo con EWELINK?
ResponderEliminarmuchas gracias!
Efectivamente
EliminarSería posible alimentar el sonoff con una fuente externa (5v o 12V) para usarlo como relé de control. Seguro que hay otras opciones pero ya tengo los sonoff, y pretendo usarlo con la APP.
ResponderEliminarNo de una manera sencilla
EliminarBuenas,
ResponderEliminarSe puede conmutar con un conmutador físico normal? De esta forma se podria (encender/apagar una luz) tanto des del móbil como físicamente.
Gracias
Para poder encender o apagar manualmente el dispositivo que conectamos al Sonoff este dispone de un pulsador
EliminarHola como podria contactarte para que nos apoyes en un proyecto de la empresa? Saber cuantos nos cobras por asesorarnos y desarrollarlo. Saludos
ResponderEliminarDecime que es lo que queres hacer, capaz yo puedo ayudarte.
EliminarHola. Sabes si puedo programarlo con la corriente alterna conectada al sonoff.
ResponderEliminarMuchas gracias
No! nunca se debe programar conectado a la corriente.
EliminarBuenos dias, Se puede conectar un apagador manual al sonoff para tener una alternativa en caso de no haber internet, saludos.
ResponderEliminarBuenos dias Javier,
ResponderEliminarel pulsador que lleva el sonoff, permite para encender/apagar manualmente? De ser así, se podria soldar otro pulsador (mas agradable) en paralelo y scarlo de la caja, no?
La idea principal es poder encender/apagar tanto a través de wifi como a través de un conmutador físico.
Gracias,
Si se puede, pero porque no usas este?
Eliminarhttps://www.itead.cc/sonoff-touch.html
Hola amigo espero puedas responder mi pregunta , cuando hago el procedimiento de emparejamiento me aparece
ResponderEliminarEL DISPOSITIVO PERTENECE A OTRO USUARIO y de hecho son casi nuevos una vez los probaron pero no pudieron emparejarlos , pero hay alguna forma de restaurar para que no aparezca esto amigo ?
hola estimados tengo una consulta puedo usar mi esp-01 con la aplicación ewelink, me refiero a comprarme mi esp y programarlo para poder acceder a la plataforma de ewelink y usar mi esp -01 con la plataforma ewelink
ResponderEliminarLas comunicaciones con el servidor de Ewelink van encriptadas por lo que creo que no vas a poder.
Eliminarhola, los sonoff puedo controlarlos desde otras APP, también en español?
ResponderEliminarEstoy intentádolo, usando domoticz o home assistant. Por ahora no pude, tampoco le pude dedicar mucho tiempo porque estoy con mucho trabajo. Si llego a poder te aviso.
EliminarHola, me podríais decir si se puede conseguir el Sketch original del sonoff? Es que me gustaría implementarlo en otro tipo de módulos basados en el ESP8266 cambiándole algunos parámetros y poder usarlo con EWeLink gracias y saludos
ResponderEliminarHola quisiera averiguar como conecto el usb-ttl al ordenador o al usb de arduino, he probado a los dos sitios y no me carga el program, gracias
ResponderEliminarHola, parece que aqui no contesta nadie. El problema que tenia esta solucionado, el usb-ttl hay que conectarlo al ordenadoe y el arduino tambien a otro usb.
ResponderEliminarEl probma que tengo ahora es que cuando conecto el usb-ttl con el sonoff si utilizo la placa ESP8266 dice none en com1 por ej. si selecciono ESP8285 si dice que esta en com1. En cualquiera de los dos casos conecto el sonoff con usb-ttl sin alimentacion pulso el pulsador, doy alimentacion y se queda apagado y no parpadea el led Si intento subir el programa da error
Como puedo programar eventos que tengan retardos en segundos y no solamente en minutos? me interesa tambien poder crear mas de 8 eventos por dia
ResponderEliminarSiento no poder ayudarte. Nunca he tenido un Sonoff G1.
ResponderEliminarHola, una consulta.
ResponderEliminarAlguien pudo hacerlo funcionar con solo wifi...sin la nube ??
Agradezco la informacion.
Muchas gracias
Por ahí alguien comentó que se debe actualizar
EliminarTengo un interruptor wifi Teckin SP22 y no hay forma de conectarlo
ResponderEliminarcon dos programas diferentes,eWelink y Smart Life,a ver si alguien me da una idea de como hacerlo funcionar.Gracias y un saldo.
Hola:
Eliminar¿Haz probado con su programa?
No el de terceros.
Al menos averigua desde el fabricante que te den los códigos AT. Con ello puedes crear tu propio programa.
Saludos.
Hola
EliminarGracias por la info, ¿qué son los códigos AT? Quiero controlar un smart plug desde distintas aplicaciones, desde por ejemplo una CGI y no manualmente desde la APP
Gracias de nuevo
Buenas tardes. A mi me gustaría saber cómo puedo actuar sobre el relé de manera física. Con el fin de actuar sobre el sonoff desde app y desde el interruptor de pared. Así podré apagar y encender las luces con instrucciones vía Alexa y/o de manera convencional.
ResponderEliminarGracias.
Hola, enhorabuena por el trabajo tan bien elaborado y explicado, yo quería hacerte una pregunta, ya que no dispongo de Linux : ¿ se podría borrar la memoria del sonoff desde el IDE de Arduino con la pestaña > Herramientas> Erase Flash> All Flash contents. ? Gracias de antemano.
ResponderEliminarSonoff no es compatible con 5G, alguna app que reemplace a eWeLink ?
ResponderEliminar