ESP-WROOM-32
El ESP32 es un microcontrolador SoC de alto rendimiento con conectividad WiFi y Bluetooth/BLE integrada, diseñado por Espressif Systems.
El módulo ESP-WROOM-32 integra el chip ESP32-D0WDQ6, memoria Flash SPI de 4 MB y antena PCB, ideal para proyectos de IoT, domótica, wearables y automatización.

Características principales
- Chip principal: ESP32-D0WDQ6
- Arquitectura: CPU Xtensa® 32-bit LX6 dual-core
- Frecuencia del CPU: 160 MHz (máx. 240 MHz)
- Memoria SRAM: 520 KB
- Memoria Flash: 4 MB SPI (en el módulo)
- Voltaje de operación: 3.0 – 3.6 V (típico 3.3 V)
- Consumo de corriente: 5 µA deep sleep / 80–240 mA activo
- WiFi: 802.11 b/g/n (2.4 GHz)
- Bluetooth: v4.2 BR/EDR y BLE
- GPIOs disponibles: Hasta 30, multipropósito
- Interfaces: UART, SPI, I²C, I²S, CAN, PWM, ADC, DAC, Touch, SDIO
- Entradas analógicas: (ADC) 18 canales, 12 bits
- Salidas analógicas: (DAC) 2 canales, 8 bits
- Rango de temperatura: -40 °C a +125 °C
- Dimensiones ESP-WROOM-32: 25.5 × 18 × 3.1 mm
- Certificaciones: FCC / CE / IC / TELEC / KCC / RoHS
Pinout (ESP-WROOM-32)
El ESP32 tiene muchos más GPIOs (hasta 30–34 según el módulo), pero algunos tienen funciones especiales o restricciones de uso. Aquí te resumo los pines más comunes y seguros de usar, junto con sus funciones principales.
Pines seguros para uso general
| GPIO | Estado / Función principal | Comentario |
|---|---|---|
| GPIO4 | GPIO / PWM / I²C SDA / SPI CS | Muy versátil y seguro |
| GPIO5 | GPIO / PWM / I²C SCL / SPI CS | Seguro para salida o entrada |
| GPIO16 | GPIO / UART2 RX | Libre y confiable |
| GPIO17 | GPIO / UART2 TX | Libre y confiable |
| GPIO18 | GPIO / SPI CLK / PWM | Seguro y muy usado |
| GPIO19 | GPIO / SPI MISO / PWM | Seguro |
| GPIO21 | GPIO / I²C SDA / PWM | Recomendado |
| GPIO22 | GPIO / I²C SCL / PWM | Recomendado |
| GPIO23 | GPIO / SPI MOSI / PWM | Común para salida |
| GPIO25 | GPIO / ADC / DAC / PWM | Muy flexible |
| GPIO26 | GPIO / ADC / DAC / PWM | Muy flexible |
| GPIO27 | GPIO / ADC / PWM | Recomendado |
| GPIO32 | GPIO / ADC / Touch / PWM | Recomendado |
| GPIO33 | GPIO / ADC / Touch / PWM | Recomendado |
Pines que NO debes usar para GPIO normal
| GPIO | Estado / Función principal | Comentario |
|---|---|---|
| GPIO0 | Boot / Flash mode | Debe estar LOW para flashear; cuidado con periféricos |
| GPIO2 | Boot / LED / Flash | Debe estar LOW o HIGH según arranque; inestable |
| GPIO12 | Boot (HIGH = arranque fallido) | ⚠️ Puede impedir el arranque |
| GPIO15 | Boot (debe estar LOW al inicio) | Solo usar si conoces su función |
| GPIO6–GPIO11 | Conectados al Flash SPI interno | ❌ No utilizables |
| GPIO34 | ADC / Solo entrada | No puede ser salida |
| GPIO35 | ADC / Solo entrada | No puede ser salida |
| GPIO36 (VP) | ADC / Solo entrada | No puede ser salida |
| GPIO39 (VN) | ADC / Solo entrada | No puede ser salida |
| GPIO1 (TX0) | UART0 TX (Serial Debug) | Evitar si usas puerto serie |
| GPIO3 (RX0) | UART0 RX (Serial Debug) | Evitar si usas puerto serie |
Modos de arranque
| Pin | Función durante el arranque | Nivel recomendado | Comentario |
|---|---|---|---|
| GPIO0 | Selecciona modo de arranque (Flash o ejecución) | HIGH para ejecutar programa LOW para flashear |
No conectar a periféricos que cambien su estado al encender |
| GPIO2 | Afecta arranque; debe estar en HIGH si se usa modo normal | HIGH | No conectar a dispositivos que lo mantengan LOW |
| GPIO12 | Afecta voltaje del flash; HIGH puede impedir arranque | LOW | ⚠️ Evitar usarlo al encender |
| GPIO15 | Define parte del modo de arranque SPI/SDIO | LOW | Debe mantenerse en LOW al arrancar |