¿Sos nuevo en ESP32? ¡Empezá aquí! El ESP32 es una serie de microcontroladores System on a Chip (SoC) de bajo costo y bajo consumo, desarrollados por Espressif. Incluye capacidades inalámbricas Wi-Fi y Bluetooth, además de un procesador de doble núcleo.
¿Qué es el ESP32?
El ESP32 es una serie de microcontroladores desarrollados por Espressif. Su popularidad se debe a las siguientes características:
- Bajo costo: precios muy accesibles para el público en general.
- Bajo consumo: admite modos de suspensión profunda para ahorrar energía.
- Wi-Fi: puede conectarse a Internet (modo estación) o crear su propia red (modo punto de acceso). Ideal para proyectos IoT y domótica.
- Bluetooth: compatible con Bluetooth clásico y BLE (Bluetooth de Baja Energía).
- Doble núcleo: dos microprocesadores Xtensa LX6 de 32 bits (núcleo 0 y núcleo 1).
- Periféricos ricos: toque capacitivo, ADC, DAC, UART, SPI, I2C, PWM y más.
- Compatible con Arduino: programable con el lenguaje Arduino C/C++.
- Compatible con MicroPython: también soporta firmware MicroPython.
Especificaciones del Módulo ESP-WROOM-32
| Característica | Detalle |
|---|---|
| Procesador | Tensilica Xtensa Dual-Core LX6, 32 bits, 160/240 MHz |
| Wi-Fi | 150 Mbps con HT40 |
| Bluetooth | BLE + Bluetooth clásico |
| ROM | 448 KB |
| SRAM | 520 KB |
| Flash incorporado | 0, 2 o 4 MiB según modelo |
| Seguridad | Aceleración hardware para AES y SSL/TLS |
ESP32 vs ESP8266: Principales Diferencias
- El ESP32 es más rápido y tiene más GPIO con múltiples funciones.
- El ESP32 admite 18 canales ADC vs. solo 1 pin ADC de 10 bits en el ESP8266.
- El ESP32 incluye Bluetooth; el ESP8266 no.
- El ESP32 tiene doble núcleo (mayoría de modelos); el ESP8266 tiene uno solo.
- El ESP32 incluye sensor de efecto Hall y pines táctiles para despertar del modo profundo.
- El ESP32 es un poco más caro que el ESP8266.
Placas de Desarrollo ESP32
Hay una gran variedad de placas de desarrollo ESP32. Todas incluyen los circuitos necesarios para alimentar y programar el chip, conectarlo a la computadora, pines para periféricos, LEDs y antena Wi-Fi integrados.
¿Cómo elegir una placa?
- Interfaz USB a UART y regulador de voltaje integrados.
- Botones BOOT y RESET/EN para cargar código y reiniciar.
- Configuración de pines y acceso al pinout de la placa.
- Conector de antena externa opcional para mayor alcance Wi-Fi.
- Conector de batería LiPo si necesitás alimentación portátil.
¿Cuál es la mejor placa para principiantes?
Para principiantes se recomienda una placa con amplia selección de GPIO, voltaje regulado y entrada USB. Algunas opciones: Adafruit ESP32 Feather, Sparkfun ESP32 Thing, NodeMCU-32S, Wemos LoLin32.
Placa de Referencia: ESP32 DEVKIT V1 DOIT
En esta guía usamos la placa ESP32 DEVKIT V1 DOIT como referencia. Sus especificaciones:
| Especificación | Valor |
|---|---|
| Núcleos | 2 (dual core) |
| Wi-Fi | 2,4 GHz hasta 150 Mbits/s |
| Bluetooth | BLE + Bluetooth heredado |
| Arquitectura | 32 bits |
| Frecuencia | Hasta 240 MHz |
| RAM | 512 KB |
| Pines | 30, 36 o 38 (según modelo) |
| Botones | RESET y BOOT |
| LEDs integrados | Azul (GPIO2) y Rojo (alimentación) |
| Puente USB-UART | CP2102 |
La placa incluye interfaz microUSB, chip CP2102 (USB a UART), botón RESET para reiniciar y botón BOOT para entrar en modo de carga. El LED azul está conectado internamente al GPIO 2 y es útil para depurar.
Guía de Pines GPIO
El chip ESP32 expone hasta 36 GPIO en la placa DEVKIT V1 DOIT. Gracias a la multiplexación, podés asignar funciones UART, I2C o SPI a distintos pines desde el código. Los pines de alimentación disponibles son 3V3, GND y VIN.
⚠️ Importante: los pines GPIO6 a GPIO11 están conectados al flash SPI interno y no deben usarse para otros propósitos.
¿Cómo Programar el ESP32?
- Arduino C/C++ (método recomendado para principiantes)
- Espressif IDF (marco de desarrollo IoT)
- MicroPython
- JavaScript / LUA
Instalación: Arduino IDE + ESP32
Paso 1 – Instalar Arduino IDE
Descargá Arduino IDE desde arduino.cc/en/Main/Software. También necesitás Java instalado (java.com/download).
Paso 2 – Agregar soporte ESP32
- Abrí Archivo → Preferencias.
Arduino IDE: Archivo > Preferencias
- En URLs adicionales del Administrador de Placas, pegá:
https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json
- Abrí Herramientas → Placa → Administrador de Placas.
- Buscá esp32 e instalá el paquete de Espressif Systems v3.x.
- Reiniciá el IDE. Luego verificá en Herramientas → Placa que aparezca esp32.
Arduino IDE: Herramientas > Placa con esp32 disponible
Paso 3 – Probar la instalación
- Conectá la placa por USB (cable con datos, no solo de carga).
- Hacé clic en Seleccionar otra placa y puerto.
- Buscá y seleccioná DOIT ESP32 DEVKIT V1 junto con el puerto COM correspondiente.
- Abrí: Archivo → Ejemplos → WiFi (ESP32) → Escaneo WiFi.
- Presioná Subir. Si ves error, presioná el botón BOOT mientras se compila.
- Abrí el Monitor Serial a 115200 baudios y presioná RESET.
Ejemplos disponibles para ESP32
Una vez instalado el soporte ESP32, encontrarás una gran cantidad de ejemplos listos para usar en Archivo → Ejemplos.
Conclusión
El ESP32 es una plataforma poderosa, económica y versátil, ideal tanto para principiantes como para proyectos avanzados de IoT. Con el entorno Arduino IDE configurado, ya estás listo para explorar todas sus capacidades. ¡En la próxima clase veremos cómo controlar los GPIO y conectar periféricos!
