DPIOT / Práctica 2

Características del ESP32

Conoce el hardware antes de programarlo: alimentación, conexiones, buses y una primera prueba con GPIO.

28/09/2026Guía de desarrolloESP32 · GPIO · Hardware

01 / Enunciado

Identifica un ESP32 clásico y documenta las características relevantes para conectar sensores, pantallas y actuadores. Elabora una ficha de la placa concreta que tengas en clase y justifica los GPIO elegidos para una pequeña maqueta.

Consultar el enunciado del profesor ↗

Referencia: ESP32 clásico con módulo WROOM-32; las variantes C3/S2/S3 no comparten todas sus características.

02 / Reconoce la placa

ElementoQué debes localizar
Módulo ESP32-WROOM-32Encapsulado metálico y antena impresa del módulo.
Puerto USBAlimentación y programación mediante el puente USB–UART de la placa.
EN / RESETReinicia el microcontrolador.
BOOTInterviene en la entrada al modo de descarga.
3V3, GND y VIN / 5VPines de alimentación; revisa el esquema de tu modelo antes de alimentar por VIN.

Ficha técnica de referencia

CaracterísticaESP32 clásico
ProcesamientoFamilia Xtensa LX6; existen variantes de uno y dos núcleos, hasta 240 MHz.
ConectividadWi-Fi de 2,4 GHz y Bluetooth en el ESP32 clásico.
Lógica de GPIO3,3 V. No conectes directamente señales de 5 V.
InterfacesUART, SPI e I²C; funciones analógicas y PWM según el pin.
Memoria flashDepende del módulo y de la placa. Compruébala al identificar el modelo.

03 / Elige los GPIO

Busca una función para ver las conexiones propuestas. La tabla corresponde al ESP32 clásico y evita los pines reservados para la flash.

UsoGPIO propuestoObservación
OLED · SDA21Dato del bus I²C, configurable por software.
OLED · SCL22Reloj del bus I²C, configurable por software.
Sensor DHT22 · DATA27Entrada/salida digital; pull-up a 3,3 V.
LED externo25Salida digital con resistencia en serie.
Entrada analógica34ADC1, solo entrada y sin resistencias internas de pull-up/pull-down.
SPI · SCK / MISO / MOSI18 / 19 / 23Asignación habitual; confirma las conexiones del periférico.
GPIO 6–11No usar en esta prácticaNormalmente conectados a la memoria flash del módulo.
GPIO 0, 2, 5, 12, 15Precaución al arrancarSon pines de configuración de arranque (strapping).

GPIO34–39 solo admiten entrada y no ofrecen pull-up/pull-down internos. Cuando uses Wi-Fi y una entrada analógica, elige un pin ADC1 y consulta las limitaciones de ADC2.

04 / Prueba una salida

Con la placa desconectada, conecta GPIO25 a una resistencia de 330 Ω, después al ánodo del LED y su cátodo a GND. Selecciona en Arduino IDE la placa ESP32 correspondiente y su puerto. Carga este programa:

const uint8_t LED_PIN = 25;
void setup() {
  Serial.begin(115200);
  pinMode(LED_PIN, OUTPUT);
  Serial.println("Prueba de salida GPIO25");
}
void loop() {
  digitalWrite(LED_PIN, HIGH);
  delay(500);
  digitalWrite(LED_PIN, LOW);
  delay(500);
}
Descargar ejemplo GPIO ↓

El LED alternará encendido y apagado cada medio segundo. Si no funciona, revisa polaridad, masa común, puerto y número GPIO.

ADC, memoria y consumo

AspectoAnálisis para la práctica
CPU y RAMXtensa LX6 de hasta 240 MHz según variante; ESP32 clásico con 520 KB de SRAM interna. La flash depende del módulo.
Wi-Fi y BluetoothWi-Fi de 2,4 GHz 802.11 b/g/n. Bluetooth clásico y BLE en el ESP32 original.
ADCConversión SAR de hasta 12 bits en el ESP32 clásico: 4096 códigos. El rango de tensión depende de la atenuación; el valor bruto no equivale a una tensión perfectamente calibrada.
GPIO y busesUART, I²C y SPI configurables, PWM y entradas analógicas. No todos los GPIO del chip están accesibles en la placa.
Consumo activoEl uso de radio y CPU determina picos de corriente. La alimentación y el regulador deben soportarlos; no se dimensiona la fuente a partir del consumo en reposo.
Ahorro de energíaModem-sleep, light-sleep y deep-sleep reducen el consumo a costa de funciones activas. La cifra de deep-sleep del chip no representa el consumo total de una placa con LED y puente USB.

Conversión ilustrativa

Para un rango ideal de 0–3,3 V, el código 2048 representa aproximadamente 2048 × 3,3 / 4095 = 1,65 V. En la placa real hay que considerar atenuación, calibración y tolerancias.

Aplicación al despliegue IoT

Para una estación alimentada por batería conviene medir por intervalos, apagar periféricos cuando no sean necesarios y elegir un modo de reposo. Para Wi-Fi y una LDR se prefiere ADC1, evitando los conflictos de ADC2 con la radio.

05 / Comprobación y entrega

Entrega una foto anotada, la ficha de características, una tabla de al menos seis pines y el sketch probado. Indica qué documentación has consultado.

¿Puedes controlar un LED como salida con GPIO34?

Documentación