Si lo recuerdas, ya hemos introducido el chip ESP8266, un IC para conectividad WiFi muy práctico para usar en tus proyectos con Arduino. Ahora le toca el turno a Wemos D1, una placa que incluye este mismo chip y que también resulta bastante práctica para multitud de proyectos DIY. Si lo deseas, puedes obtener documentación de esta placa desde la web oficial de Wemos, y a la que puedes acceder desde aquí.
Te recomiendo ver nuestro artículo sobre el ESP8266 que he puesto en el enlace anterior, ya que de lo contrario, al comenzar con Wemos D1 estarás algo más perdido si no tienes una base. También deberías ver nuestra otra guía sobre NodeMCU, que tiene muchísima relación con el ESP8266 y con este otro componente que hoy nos ocupa. En esos dos artículos obtendrás también ejemplos de código para poder programar el ESP8266, las bibliotecas necesarias para Arduino IDE, etc.
Wemos
Es una marca china que fabrica este tipo de placas electrónicas de desarrollo y sus shields desde su web oficial. Entre sus productos destacados, puedes encontrar la placa Wemos D1.
Wemos D1
Existen dos placas muy interesantes aportadas por Wemos, una de las Wemos D1 y la otra es su hermana pequeña Wemos D1 Mini, que es más reducida, u otras versiones más caras como la Pro (con 16M de flash en vez de 4M), etc. Para muchos, es una de sus placas favoritas de desarrollo para el chip ESP8266, incluso por encima de NodeMCU, o de otros módulos con ESP8266, para ciertas aplicaciones.
En el artículo de NodeMCU y ESP8266 que he citado, puedes aprender que el chip ESP8266 se puede integrar en varios módulos como el ESP12, ESP12E, etc. En el caso de la Wemos D1 Mini, es un poco mayor de tamaño que usar directamente un ESP12 sin más, con unas dimensiones de 34.2×25.6mm y 3 gramos de peso.
Pero si usas el ESP12 pelado, tendrás muchas carencias. Con la Wemos D1 Mini tienes ventajas y extras como un puerto microUSB y conversor serial para su conexión. También incluye un regulador de tensión para alimentarla directamente con la toma de 5V de Arduino, y la circuitería interna se encargará de pasar esos voltios al voltaje que realmente necesita el módulo.
Otra de las ventajas de los productos de Wemos es que permiten extender sus funcionalidades con shields, que existen en gran cantidad para controlar motores (drivers), módulo relé, pantallas OLED, sensores de temperatura y humedad,PIR, botón, etc. Es decir, te aporta muchas facilidades para usar estos componentes con control desde Internet o en red WAN.
Aunque no todo son ventajas, en contra tiene un número menor de pines disponibles, con 11 GPIOs frente a los 17 que tienes en otros módulos como el ESP12 o el NodeMCU. No obstante, esto no debe ser un problema mayor, ya que muchos proyectos no necesitan más de estos 11 pines, aunque todo dependerá de lo que necesite cada usuario…
Caracterísicas, pinout, y precios
Al estar basada en el ESP12E, comparte características, por tanto, te hago aquí un resumen:
- Trabaja a velocidades de 80 a 160Mhz.
- 4 MB de memoria flash
- Alimentación de 3.3v, aunque tiene conversor para poderla alimentar con la 5V de Arduino si quieres.
- 11 GPIO, todos con PWM menos D0.
- Interrupciones
- I2C bus
- Entradas analógicas 1 (3.2v max)
- Conector microUSB
El precio de unos 2€ y pico, hasta los 20€, dependiendo del modelo. Lo puedes encontrar en muchas tiendas especializadas y online. Así que puedes tener una Wemos D1 Mini muy muy barata, más que NodeMCU y solo un poco por encima del precio que cuesta un módulo ESP12E sin más extras…
Para comprar estos productos y sus shields, Wemos ofrece un apartado de Tienda Online, pero te redirige a AliExpress, así que es la tinda por donde se distribuye de forma oficial.
El pinout de una placa básica Wemos D1 Mini es:
- TX: va conectado al TXD del ESP8266, para TXD.
- RX: va conectado al RXD del ESP8266, para RXD.
- A0: conectado al pin del mismo nombre como entrada analógica.
- D0: es el GPIO16 del módulo, y se usa como E/S.
- D1: el GPIO5 del módulo, como E/S, PWM, Interrupción, I2C y SCL.
- D2: al GPIO4, para E/S, PWM, Interrupción, I2C, SDA.
- D3: al GPIO0, para E/S con resistencia 10K pull-up, PWM, Interrupción e I2C.
- D4: GPIO2, igual al anterior, pero añade BUILTIN_LED
- D5: al GPIO14, para E/S, PWM, Interrupción, I2C y SCK.
- D6: GPIO12, igual al anterior, pero en vez de SCK para MISO.
- D7: al GPIO13 del ESP12, igual al anterior.
- D8: al GPIO15, para E/S con resistencia pull-down de 10K, PWM, Interrupción, I2C y SS.
- G: es la GND (ground), la conexión a tierra.
- 5V: para alimentación.
- 3V3: alimentación 3.3v.
- RST: conectada a RST, es decir, para reset.
Para obtener un datasheet, ya sabes que puedes obtener la documentación desde la web oficial de Wemos que dejé al principio del artículo. También tienen una completa Wiki que te recomiendo, ya que podrás obtener mucha ayuda… Incluso tienen tutoriales.