En la entrada anterior de esta nueva sección sobre el ESP8266 y ESP32, vimos el SoC ESP8266. En esta entrada nos toca ver a su hermano mayor el ESP32, dentro de este tándem de procesadores diseñados para IoT.
En la próximas entradas iremos viendo placas de desarrollo basadas en estos SoC y cómo programarlos con distintos firmwares y lenguajes de programación.
Pero de momento nos toca presentar al ESP32, una máquina potente que destaca por sus capacidades de comunicación WiFi y Bluetooth BLE.
¿Qué es el ESP32?
El ESP32 es un SoC (System on Chip) diseñado por la compañía china Espressif y fabricado por TSMC. Integra en un único chip un procesador Tensilica Xtensa de doble núcleo de 32bits a 160Mhz (con posibilidad de hasta 240Mhz), conectividad WiFi y Bluetooth.
Compararemos ambos modelos con más detalle en la próxima entrada, pero ya vemos que es muy superior al ESP8266. A cambio, lógicamente, el precio es ligeramente superior. Pero, aun así, es espectacular en características/precio.
Como no podía ser de otra forma, la comunidad Maker acogió el nuevo ESP32 con los brazos abiertos. Se han desarrollado firmwares, documentación, herramientas y, aunque su soporte es aún inferior al del ESP8266, en la actualidad es fácil encontrar tutoriales sobre el mismo y continuamente se publican nuevos artículos.
Por supuesto, los fabricantes están atentos y han desarrollado numerosas placas de desarrollo que integran el ESP32. Algunas tienen baterías LiPo tipo 16050, otras TFT, otras pantallas OLED, comunicación por Lora… Y cada vez aparecen nuevas opciones, algunas realmente interesantes.
También empiezan a verse artículos y productos comerciales que emplean el ESP32 como núcleo. No obstante, de momento, encontramos más artículos que montan el ESP8266, seguramente por su bajo precio o llevas más tiempo en el mercado. No obstante, puede que esta tendencia se acabe invirtiendo y veamos un mayor número de productos comerciales basados en el ESP32, dada su mayor potencia e incluir Bluetooth BLE.
En cuanto a lenguajes de programación tenemos varias opciones, básicamente similares a las que vimos en ESP8266. Es posible emplear el IDE de Arduino, instalar MicroPython, RTOS, Mongoose OS, Espruino.
En definitiva, una máquina muy interesante y que nos va a dar mucho juego. Tiene un potencial enorme para elaborar todo tipo de proyectos, sobre por su capacidad de comunicación, ocupando un lugar destacado en aplicaciones de IoT. Vamos, que por proyectos no os vais a aburrir, no.
Profundizaremos en el ESP32 en los futuros tutoriales de la sección dedicada al ESP8266 y ESP32.
De momento, aquí tenemos las características técnicas de esta brutal maquinita.
Características del ESP32
- Procesador Xtensa LX6 de 32 bits de doble núcleo
- Velocidad de 160Mhz (máximo 240 Mhz)
- Co-procesador de ultra baja energía
- Memoria 520 KiB SRAM
- Memoria flash externa hasta 16MiB
- Encriptación de la Flash
- Arranque seguro
- Pila de TCP/IP integrada
- Wifi 802.11 b/g/n 2.4GHz (soporta WFA/WPA/WPA2/WAPI)
- Bluetooth v4.2 BR/EDR y BLE
- Criptografía acelerada por hardware
- 32 pins GPIO
- Conversor analógico digital (ADC) de 12bits y 18 canales
- 2 conversores digital analógico (DAC) de 8bits
- 16 salidas PWM (LED PWM)
- 1 salida PWM para motores
- 11 conversor analógico a digital de 10 pin
- 10x sensores capacitivos (en GPIO)
- 3x UART, 4x SPI, 2x I2S, 2x I2C, CAN bus 2.0
- Controladora host SD/SDIO/CE-ATA/MMC/eMMC
- Controladora slave SDIO/SPI
- Sensor de temperatura
- Sensor de effecto Hall
- Generador de números aleatorios
- Reloj tiempo real (RTC)
- Controlador mando a distancia infrarrojos (8 canales)