Volver al Blog
Electrónica23 de julio de 2026

El controlador ESP-32 38 Pines

Descripción completa del controlador ESP32 de 38Pines

A

Administrador

Equipo de Pixelnova

El controlador ESP-32 38 Pines

La guía definitiva del microcontrolador más popular para proyectos IoT y electrónica


Introducción al ESP32

El ESP32 es un microcontrolador de bajo costo y alto rendimiento desarrollado por Espressif Systems, que ha revolucionado el mundo del Internet de las Cosas (IoT) y la electrónica maker. Con su integración de WiFi y Bluetooth, junto con una potente arquitectura de doble núcleo, se ha convertido en la elección preferida para desarrolladores y entusiastas de la electrónica.

La variante de 38 pines es una de las configuraciones más comunes y versátiles, ofreciendo un equilibrio perfecto entre funcionalidad y tamaño compacto. Este microcontrolador representa la evolución natural del famoso ESP8266, añadiendo capacidades mejoradas y una gama más amplia de periféricos integrados.

📌 ¿Por qué elegir el ESP32?

El ESP32 combina potencia, conectividad inalámbrica integrada, bajo consumo de energía y un precio accesible. Su ecosistema de desarrollo es amplio, con soporte para múltiples plataformas de programación incluyendo Arduino IDE, PlatformIO, MicroPython y ESP-IDF.


Características Principales

🎯 Procesador

  • CPU Tensilica LX6 de doble núcleo
  • Velocidad configurable hasta 240 MHz
  • Arquitectura de 32 bits
  • Capacidad de ejecución desde Flash

📡 Conectividad

  • WiFi 802.11 b/g/n (2.4 GHz)
  • Bluetooth v4.2 BR/EDR
  • Bluetooth Low Energy (BLE)
  • Alcance de hasta 100 metros

💾 Memoria

  • 448 KB de ROM
  • 520 KB de SRAM
  • Soporte para Flash externa
  • EEPROM emulada

⚡ Periféricos

  • 12 canales ADC (12 bits)
  • 2 DAC (8 bits)
  • 3 interfaces SPI
  • 2 interfaces I2C
  • 3 interfaces UART
  • 16 canales PWM

🔋 Bajo Consumo

  • Modo sueño profundo: 10 μA
  • Modo sueño ligero: 600 μA
  • Modo activo: ~20 mA
  • Perfecto para baterías

🛡️ Seguridad

  • Booteo seguro
  • Cifrado Flash
  • SHA-256 acelerado
  • Criptografía AES-128/256
  • RSA con soporte PKCS#11

Especificaciones Técnicas Detalladas

ParámetroEspecificación
ModeloESP32-WROOM-32 / ESP32 DevKit V1
Número de Pines38 pines totales
Voltaje de Operación3.3 V (Lógica)
Voltaje de Entrada5 V a través de VIN o Micro USB
Corriente Máxima500 mA (recomendado 700 mA)
Temperatura de Operación-40°C a +125°C
Dimensiones55 mm x 28 mm (DevKit V1)
Pines GPIO Disponibles30+ pines programables
Interfaz de ProgramaciónMicro USB / USB-C
Chip ProgramadorCP2102 o CH340

Diagrama de Pines (Pinout)

📐 Distribución de los 38 Pines

El ESP32 de 38 pines ofrece una rica variedad de interfaces y funcionalidades. A continuación se detalla la distribución y función de cada pin:

PinDescripción
GPIO 1-10Pines de propósito general con múltiples funciones alternativas
GPIO 12-15Pines para interfaz Flash SPI y GPIO adicionales
GPIO 16-17Pines dedicados para WiFi Bluetooth (RX0/TX0)
GPIO 18-23Pines para interfaz SPI (VSPI y HSPI)
GPIO 25-27Pines con capacidades DAC y ADC
GPIO 32-39Pines exclusivamente de entrada (ADC1)
3V3Salida de regulación 3.3 V (hasta 500 mA)
GNDMúltiples conexiones a tierra
VINEntrada de voltaje 5V-12V
ENPin de habilitación/reset
TX0/RX0Serial para programación y depuración
ADC1_CH1-7Canales de conversión analógico-digital

Tabla Completa de Pines

PinNombreTipoFunción PrincipalNotas
3V33.3 VSalidaRegulación de voltajeMáx. 500 mA
GNDGroundReferenciaTierra comúnMúltiples pines
ENEnableEntradaReset del sistemaActive high
GPIO 1TXD0I/OSerial TXNo usar en boot
GPIO 2GPIO2I/OLED integradoStrapping pin
GPIO 3RXD0I/OSerial RXNo usar en boot
GPIO 4GPIO4I/OADC1_CH6Touch 6
GPIO 5GPIO5I/OVSPI CSStrapping pin
GPIO 12GPIO12I/OADC1_CH5Strapping pin
GPIO 13GPIO13I/OADC1_CH4Touch 4
GPIO 14GPIO14I/OHSPI CLKTouch 5
GPIO 15GPIO15I/OHSPI CSStrapping pin
GPIO 16GPIO16I/OUART2 RXWiFi BT
GPIO 17GPIO17I/OUART2 TXWiFi BT
GPIO 18VSPI CLKI/OSPI ClockHSPI también
GPIO 19VSPI MISOI/OSPI InputHSPI también
GPIO 21I2C SDAI/OI2C DataDefault SDA
GPIO 22I2C SCLI/OI2C ClockDefault SCL
GPIO 23VSPI MOSII/OSPI OutputHSPI también
GPIO 25GPIO25I/ODAC1/ADC2_CH8WiFi BT
GPIO 26GPIO26I/ODAC2/ADC2_CH9WiFi BT
GPIO 27GPIO27I/OADC2_CH7Touch 7
GPIO 32GPIO32EntradaADC1_CH4Solo entrada
GPIO 33GPIO33EntradaADC1_CH5Solo entrada
GPIO 34GPIO34EntradaADC1_CH6Solo entrada
GPIO 35GPIO35EntradaADC1_CH7Solo entrada
GPIO 36GPIO36EntradaADC1_CH0Solo entrada
GPIO 39GPIO39EntradaADC1_CH3Solo entrada

⚠️ Consideraciones Importantes sobre los Pines

  • Pines Strapping: Los pines GPIO 0, 2, 5, 12 y 15 son pines "strapping" que determinan el modo de booteo. Deben mantenerse en el estado correcto durante el arranque.
  • Pines Solo Entrada: Los pines GPIO 34-39 son exclusivamente de entrada y no pueden configurarse como salida.
  • ADC con WiFi: Los canales ADC2 no funcionan correctamente cuando el WiFi está activo. Use ADC1 para proyectos con WiFi.
  • Voltaje: Todos los pines GPIO operan a 3.3 V. No conecte directamente señales de 5 V sin un divisor de voltaje.

Interfaces y Periféricos Integrados

📊 Conversores Analógico-Digitales (ADC)

El ESP32 cuenta con dos ADCs independientes:

  • ADC1: 8 canales (GPIO 32-39, 25-27), funciona incluso en modo sueño ligero
  • ADC2: 10 canales, no disponible cuando WiFi está activo
  • Resolución: Configurable de 9 a 12 bits
  • Rango: 0-3.3 V (con calibración puede extenderse)

🎛️ Conversores Digitales-Analógicos (DAC)

Dos canales DAC de 8 bits integrados:

  • DAC1: GPIO 25
  • DAC2: GPIO 26
  • Útiles para generar señales analógicas simples

🔗 Interfaz I2C

El ESP32 soporta múltiples interfaces I2C:

  • I2C Principal: GPIO 21 (SDA) y GPIO 22 (SCL)
  • Velocidad: Hasta 400 kHz (Standard Mode), hasta 1 MHz (Fast Mode)
  • Múltiples buses: Puede configurar buses I2C en cualquier par de GPIO

💾 Interfaz SPI

Tres interfaces SPI disponibles:

  • VSPI (SPI2): GPIO 18 (CLK), 19 (MISO), 23 (MOSI), 5 (CS)
  • HSPI (SPI3): GPIO 14 (CLK), 12 (MISO), 13 (MOSI), 15 (CS)
  • FSPI: Usada internamente para Flash

📡 Interfaz UART

Tres interfaces UART disponibles:

  • UART0: GPIO 1 (TX), GPIO 3 (RX) - Usada para programación
  • UART1: GPIO 9 (TX), GPIO 10 (RX) - Usada internamente
  • UART2: GPIO 17 (TX), GPIO 16 (RX) - Disponible para uso general

🎚️ PWM y LEDC

Sistema de control de duty cycle para LEDs y motores:

  • 16 canales LEDC: Control independiente de frecuencia y duty cycle
  • Resolución: Hasta 16 bits
  • Frecuencia: Desde Hz hasta MHz
  • Ideal para control de motores DC, servos y dimming de LEDs

👆 Touch Sensing

10 pines con capacidad de detección táctil:

  • GPIO 4, 0, 2, 15, 13, 14, 12, 27, 33, 32
  • Funciona sin componentes externos
  • Útil para interfaces táctiles capacitivas

Aplicaciones y Casos de Uso

🏠 Domótica y Hogar Inteligente

Control de luces, sensores de temperatura, humedad, movimiento y sistemas de seguridad conectados a WiFi.

🌡️ Estaciones Meteorológicas

Medición y transmisión de datos ambientales a servidores cloud o dashboards en tiempo real.

🤖 Robótica y Control

Control de motores, servos, lectura de sensores y comunicación inalámbrica con dispositivos móviles.

📱 Wearables

Dispositivos portátiles con Bluetooth Low Energy para monitoreo de salud y actividad física.

🔌 Control Industrial

Automatización de procesos, monitoreo de maquinaria y sistemas SCADA de bajo costo.

🚗 Proyectos Automotrices

Sistemas OBD-II, rastreo GPS, telemetría y diagnóstico de vehículos.

🌱 Agricultura Inteligente

Monitoreo de humedad del suelo, control de riego automático y estaciones agro-meteorológicas.

🎮 Interfaz Hombre-Máquina

Interfaces táctiles, controles remotos, mandos y sistemas de entrada personalizados.


Plataformas de Desarrollo

🎨 Arduino IDE

La forma más accesible para principiantes. El ESP32 es compatible con Arduino IDE mediante la adición del gestor de placas (board manager) de Espressif.

// Ejemplo básico: Parpadeo de LED con ESP32
void setup() {
    pinMode(2, OUTPUT);  // LED integrado en GPIO 2
}

void loop() {
    digitalWrite(2, HIGH);
    delay(500);
    digitalWrite(2, LOW);
    delay(500);
}

🐍 MicroPython

Python en el microcontrolador. Ideal para prototipado rápido y desarrollo interactivo.

# Ejemplo MicroPython: Leer sensor analógico
from machine import ADC, Pin
import time

adc = ADC(Pin(36))  # GPIO 36 = ADC1_CH0
adc.atten(ADC.ATTN_11DB)  # Rango 0-3.3V

while True:
    valor = adc.read()
    voltaje = valor * 3.3 / 4095
    print(f"Valor: {valor}, Voltaje: {voltaje:.2f}V")
    time.sleep(1)

⚙️ ESP-IDF

El Framework Oficial de Espressif. Ofrece el máximo control y rendimiento para proyectos profesionales.

🔧 PlatformIO

Entorno de desarrollo profesional que soporta múltiples frameworks y ofrece herramientas avanzadas de depuración.


Consejos para el Diseño de Circuitos

✅ Mejores Prácticas

  • Alimentación estable: Use una fuente de 5 V con al menos 700 mA de capacidad. El ESP32 consume picos de hasta 500 mA cuando el WiFi está transmitiendo.
  • Desacoplamiento: Coloque condensadores de 100 nF cerca de cada pin de alimentación del ESP32.
  • Antena: Mantenga el área bajo la antena libre de trazas y componentes. No coloque componentes en la zona de la antena.
  • Terminales de prueba: Incluya pads de prueba para facilitar la depuración y programación.
  • Resistencias pull-up: Los pines I2C requieren resistencias pull-up de 4.7kΩ a 3.3V.

⚠️ Errores Comunes a Evitar

  • Conectar 5 V a GPIO: Todos los pines GPIO son de 3.3 V. Use divisores de voltaje o convertidores de nivel (level-shifter) para señales de 5 V.
  • Ignorar los pines strapping: GPIO 0, 2, 5, 12 y 15 afectan el modo de booteo. Diseñe su circuito considerando esto.
  • Usar ADC2 con WiFi: Los canales ADC2 no funcionan correctamente con WiFi activo. Prefiera ADC1.
  • Alimentación insuficiente: Una fuente débil causará reinicios aleatorios cuando WiFi/Bluetooth estén activos.
  • Olvidar el condensador de booteo: Un condensador de 10 μF en el pin EN mejora la estabilidad del reinicio (reset).

Comparativa: ESP32 vs ESP8266 vs Arduino

CaracterísticaESP32ESP8266Arduino Uno
ProcesadorDoble núcleo 240 MHzNúcleo único 80 MHzATmega328P 16 MHz
WiFi✅ 802.11 b/g/n✅ 802.11 b/g/n❌ (requiere módulo)
Bluetooth✅ Classic + BLE❌ (requiere módulo)
GPIO30+ pines17 pines14 pines
ADC18 canales (12 bits)1 canal (10 bits)6 canales (10 bits)
RAM520 KB96 KB2 KB
Voltaje3.3 V3.3 V5 V
Precio$5-8 USD$3-5 USD$20-25 USD

Recursos y Bibliotecas Recomendadas

📚 Bibliotecas Esenciales para Arduino

  • WiFi.h - Conexión y gestión de redes WiFi
  • WebServer.h - Creación de servidores web
  • WiFiClient.h - Clientes HTTP/TCP/UDP
  • BluetoothSerial.h - Comunicación Bluetooth
  • Adafruit Sensor - Drivers para sensores
  • PubSubClient - Protocolo MQTT
  • ArduinoJson - Manejo de JSON
  • AsyncTCP + ESPAsyncWebServer - Servidor web asíncrono

🔗 Enlaces Útiles


Conclusión

El ESP32 de 38 pines representa una de las mejores opciones en el mercado para el desarrollo de proyectos IoT y electrónica embebida. Su combinación de potencia de procesamiento, conectividad inalámbrica integrada, ricos periféricos y precio accesible lo convierten en una herramienta indispensable para makers, ingenieros y desarrolladores.

Ya sea que esté construyendo una estación meteorológica, un sistema de domótica, un dispositivo wearable o un prototipo industrial, el ESP32 ofrece la flexibilidad y capacidad necesarias para materializar sus ideas. Su ecosistema de desarrollo maduro y la amplia comunidad de usuarios garantizan que encontrará recursos, tutoriales y soporte cuando los necesite.

🚀 Comience su Proyecto Hoy

Con el ESP32, las únicas limitaciones son su imaginación. Explore las múltiples interfaces, aproveche la conectividad WiFi/Bluetooth y cree soluciones innovadoras que conecten el mundo físico con el digital.