ESP32.
notebook
Microcontrolador ESP32
El ESP32 es un microcontrolador potente y versátil, diseñado por Espressif Systems,
que ha ganado popularidad por su capacidad de combinar un rendimiento robusto
con bajo consumo de energía, a un costo accesible. Es ampliamente utilizado en
aplicaciones de Internet de las Cosas (IoT), dispositivos portátiles, domótica, y otros
proyectos electrónicos.
Arquitectura
El ESP32 cuenta con una arquitectura basada en un procesador dual‐core Xtensa
LX6, que puede funcionar a una frecuencia de hasta 240 MHz. Además, posee un
coprocesador adicional que puede manejar tareas específicas, permitiendo que los
núcleos principales se enfoquen en tareas críticas.
1
[Link]
Especificaciones Técnicas:
‐ CPU: Dual‐core Xtensa LX6 a 240 MHz.
‐ Memoria RAM: 520 KB de SRAM.
‐ Memoria Flash: Capacidad de hasta 16 MB con almacenamiento externo.
‐ Conectividad: Wi‐Fi 802.11 b/g/n, Bluetooth v4.2 y BLE.
‐ GPIO: Hasta 34 pines configurables.
‐ Interfaces: SPI, I2C, I2S, UART, CAN, PWM.
‐ ADC/DAC: 12‐bit ADC con 18 canales, 8‐bit DAC.
2
[Link]
Principales características:
1. Conectividad Inalámbrica:
‐ El ESP32 es conocido por su conectividad integrada, que soporta Wi‐Fi y
Bluetooth, lo que lo convierte en una opción ideal para proyectos de IoT. Soporta
tanto Bluetooth clásico como BLE (Bluetooth Low Energy).
2. Consumo de Energía:
‐ Diseñado para operar en aplicaciones donde el consumo de energía es crítico, el
ESP32 ofrece varios modos de baja energía, incluyendo un modo de profundo
sueño (Deep Sleep) que reduce el consumo a menos de 10 µA.
3. Capacidades de Procesamiento:
‐ Además de su CPU dual‐core, el ESP32
incluye un acelerador de hardware para
operaciones de cifrado (AES, SHA, RSA, etc.),
lo que mejora la seguridad en aplicaciones
críticas. También soporta procesamiento en
tiempo real y es capaz de manejar
aplicaciones que requieren Inteligencia
Artificial (AI) y Procesamiento Digital de
Señales (DSP).
3
[Link]
4. Entrada/Salida Versátil:
‐ Con hasta 34 pines GPIO, el
ESP32 permite la conexión de
una amplia variedad de
sensores, actuadores y
periféricos. Además, ofrece
PWM, ADC de 12 bits, DAC de 8
bits, y capacidad para interfaces
como SPI, I2C, y UART.
5. Seguridad:
‐ El ESP32 está equipado con Secure Boot, cifrado de memoria flash, y un
generador de números aleatorios de hardware, proporcionando un entorno
seguro para aplicaciones que manejan datos sensibles.
4
[Link]
Entorno de desarrollo y programación:
El ESP32 es compatible con varias plataformas de desarrollo, lo que lo hace
accesible para programadores con diferentes niveles de experiencia.
1. Espressif IoT Development Framework (IDF):
‐ Este es el entorno de desarrollo oficial proporcionado por Espressif, que
incluye bibliotecas, ejemplos, y herramientas para programar y depurar el ESP32.
2. Arduino IDE:
‐ Para aquellos familiarizados con el desarrollo en Arduino, el ESP32 puede ser
programado utilizando el Arduino IDE, lo que permite un inicio rápido y una
curva de aprendizaje más suave.
3. PlatformIO:
‐ PlatformIO es otro entorno popular que soporta el ESP32, proporcionando un
ecosistema completo con gestión de bibliotecas, compilación y depuración
multiplataforma.
4. Lenguajes de Programación:
‐ El ESP32 se puede programar en C y C++. También soporta MicroPython y
Lua, lo que permite a los desarrolladores trabajar en entornos de scripting más
flexibles.
5
[Link]
El ESP32 se ha utilizado en una amplia gama de aplicaciones, gracias a su
versatilidad y potencia:
1. Domótica:
‐ Control de luces, termostatos inteligentes, y sistemas de seguridad en
hogares.
2. Sensores Inteligentes:
‐ Sistemas de monitoreo ambiental, sensores de movimiento, y estaciones
meteorológicas.
3. Wearables:
‐ Dispositivos portátiles de fitness, monitores de salud, y rastreadores de
actividad.
4. Robótica:
‐ Controladores de robots y drones que requieren conectividad inalámbrica y
procesamiento en tiempo real.
6
[Link]
Al comparar el ESP32 con otros microcontroladores populares, como el Arduino
Uno, se destaca por:
Rendimiento y Potencia: El ESP32 es significativamente más potente que el
Arduino Uno, con una velocidad de reloj 15 veces superior, más memoria RAM
y Flash, y conectividad inalámbrica integrada.
Conectividad: Mientras que el Arduino Uno no ofrece conectividad inalámbrica,
el ESP32 tiene Wi‐Fi y Bluetooth integrados, lo que lo hace ideal para
aplicaciones IoT.
Consumo de Energía: El ESP32 es más eficiente en términos de energía, gracias
a sus modos de bajo consumo, algo crucial en aplicaciones portátiles y de
sensores.
Facilidad de Uso: El Arduino Uno sigue siendo más simple para principiantes,
especialmente en entornos educativos, debido a su menor complejidad y
amplio soporte en la comunidad.
Aplicaciones: Aunque ambos pueden usarse en una variedad de proyectos, el
ESP32 es mejor para aplicaciones avanzadas que requieren procesamiento en
tiempo real, conectividad inalámbrica, y seguridad.
7
[Link]
Característica Arduino Uno ESP32
Procesador AVR ATmega328P Dual‐core Xtensa LX6 a 240 MHz
Velocidad de Reloj 16 MHz 240 MHz
Memoria RAM 2 KB SRAM 520 KB SRAM
Hasta 16 MB con almacenamiento
Memoria Flash 32 KB
externo
Conectividad Inalámbrica No Wi‐Fi 802.11 b/g/n, Bluetooth v4.2, BLE
GPIO (Pines Digitales) 14 pines digitales (6 con PWM) Hasta 34 pines configurables
ADC (Convertidor A/D) 10‐bit ADC con 6 canales 12‐bit ADC con 18 canales
DAC (Convertidor D/A) No 8‐bit DAC (2 canales)
Interfaces de Comunicación UART, SPI, I2C UART, SPI, I2C, I2S, CAN, PWM
Modos de bajo consumo, incluyendo Deep
Consumo de Energía Relativamente alto en comparación
Sleep (menos de 10 µA)
Voltaje de Operación 5V (lógica a 5V) 3.3V (lógica a 3.3V)
Modos de Bajo Consumo No Sí, varios modos de bajo consumo
Secure Boot, cifrado de memoria, generador
Seguridad No
de números aleatorios de hardware
Arduino IDE, Espressif IDF, PlatformIO,
Soporte de Software Arduino IDE
MicroPython, Lua
Proyectos simples de electrónica, Proyectos avanzados de IoT, domótica,
Aplicaciones Típicas
prototipos básicos aplicaciones en tiempo real
Costo Bajo (~$10‐20 USD) Medio (~$5‐10 USD)
8
[Link]