Introducción
En esta entrada vamos a explicar cómo programar el Wifi ESP8266 con el IDE de Arduino en modo stand-alone. Es decir que utilizaremos el propio procesador que incorpora este módulo de WiFi para ejecutar nuestras propias aplicaciones en vez de utilizarlo como un periférico que nos conecta al WiFi e internet.
El ESP8266 ha dado mucho de que hablar desde su aparición en 2014 cuando cambió el mundo del WiFi en sistemas embebidos, por su bajo precio y excelentes características. En aquel entonces el ESP8266 se utilizaba como un simple módulo WiFi o “gateway” que permitía conectar nuestra tarjeta Arduino a Internet de manera muy económica a través del puerto serial (UART).
En esta entrada iremos un paso mas allá y explicaremos como cargar programas directamente al procesador del módulo WiFi ESP8266 con el IDE de Arduino, pudiendo programarlo como un microcontrolador independiente y autónomo, aprovechando así el “pequeño” procesador incluido dentro del SoC, permitiéndonos con esto ahorrar unas cuantas placas Arduino en proyectos futuros.
Con este tutorial agregamos otra razón a la lista (ya extensa) para adquirir ahora mismo una tarjeta basada en el ESP8266. Para este tutorial estaremos usando una tarjeta Wemos D1, que tiene la misma forma que un Arduino Uno R3 pero tiene como cerebro un módulo ESP8266.
Con este método es posible programar también otras tarjetas basadas en el ESP8266, por ejemplo el NodeMCU e incluso el módulo WiFi ESP-01.
Materiales
Para realizar los pasos que se muestran en esta página requerimos los siguientes productos:
- Wemos D1 con ESP8266
- Protoboard 830 puntos
- Cables jumpers para protoboard
- Resistencia de 330 ohms 1/4 W
- Leds
¿Cómo programar el WiFi ESP8266 con el IDE de Arduino?
- El primer paso es instalar el IDE de arduino 1.6.4 o mayor desde www.arduino.cc

- Luego debemos agregar la URL del ESP8266 al gestor de tarjetas, copiamos la siguiente url y la pegamos en el cuadro correspondiente en las preferencias del IDE de Arduino. http://arduino.esp8266.com/stable/package_esp8266com_index.json

- Luego instalamos el paquete del ESP8266 desde el “Gestor de Tarjetas” ubicado en el menú Herramientas>Placa>Gestor de tarjetas. Buscamos la suite de tarjetas basadas en el ESP8266 y damos click en instalar.

- Se comenzará la descarga de un par de cientos de megas que contienen los compiladores gcc y otras herramientas de desarrollo de software para el ESP8266. Al terminar y si todo salió bien veremos la palabra “INSTALED” en letras azules a un costado de ESP8266.

- Ahora podemos reiniciar el IDE de arduino y debemos poder seleccionar la tarjeta basada en el ESP8266 dentro del menú Herramientas>Placa

Circuito de prueba
Para esta prueba lo único que requerimos es conectar un led al puerto D2 de la tarjeta Wemos D1 con su respectiva resistencia limitadora de corriente, como se muestra en la siguiente imagen:
Código para probar el ESP8266 con Arduino IDE
Para probar que los programas puedan cargarse de manera exitosa podemos compilar el famoso programa de destello de led y probarlo en nuestro ESP8266. Utilizaremos el siguiente código que podemos cortar/pegar en el IDE de arduino.
/**
* GeekFactory - "Construye tu propia tecnologia"
* Distribucion de materiales para el desarrollo e innovacion tecnologica
* www.geekfactory.mx
*
* Ejemplo de parpadeo de led usando el ESP8266 en modo "Stand-alone" sin la
* necesidad de ser conectado a un Arduino.
*
* Utilizamos el pin GPIO02, disponible en los módulos económicos en nuestra tienda.
*
* En la tarjeta WemosD1 se corresponde con el pin D9 y el led a bordo del módulo
*/
void setup() {
pinMode(2, OUTPUT);
}
void loop() {
digitalWrite(2, HIGH);
delay(1000);
digitalWrite(2, LOW);
delay(1000);
}Conclusión
Con lo aprendido en esta entrada podemos preparar nuestro entorno de desarrollo para trabajar con el ESP8266 en cualquiera de sus versiones. Con esto generamos código nativo para ejecutarse en el CPU del ESP8266 sin la necesidad de un Arduino.
Nos puede servir cualquier placa basada en el ESP8266, no solamente el Wemos D1 que vimos en esta entrada.
Existen placas bastante populares como el NodeMCU y el módulo Wifi ESP8266 económico que se consiguen por aproximadamente $100 pesos mexicanos. Esto es excelente para realizar cualquier tipo de dispositivo inteligente conectado a Internet con el menor costo posible.













