En el mundo de la electrónica y la programación, conocer las especificaciones y distribución de pines de un dispositivo es fundamental para su correcto funcionamiento. En este artículo, te brindaremos una referencia completa de la distribución de pines del ESP32-WROOM-32, uno de los microcontroladores más populares en el mercado. ¡No te lo pierdas!
Para aquellos que buscan agregar conectividad inalámbrica a proyectos integrados o construir dispositivos IoT, el ESP32 es posiblemente la opción más popular. Ofrece una opción de doble núcleo para aplicaciones que utilizan un uso intensivo del procesador, mientras que Wi-Fi y Bluetooth integrados simplifican los diseños. También tiene amplias E/S, almacenamiento e interoperabilidad para satisfacer las necesidades de la mayoría de las aplicaciones.
Espressif, la empresa detrás del chip ESP-32, también fabrica módulos y placas de desarrollo. Si desea diseñar una PCB personalizada con ESP32, el módulo ESP32-WROOM-32 es una excelente opción. Elegir el módulo en lugar del chip básico tiene varias ventajas. En particular, el módulo ya está aprobado por la FCC, lo que significa que no es necesario tomar ninguna medida adicional para lograr el cumplimiento de la FCC. Esto simplifica significativamente el proceso de fabricación.
Cuando se trata de diseño de PCB personalizado, es fundamental comprender la distribución de pines del ESP32-WROOM-32. Este artículo cubre en detalle la distribución de pines del ESP32-WROOM-32.
Distribución de pines ESP32-WROOM-32
El módulo ESP32-WROOM-32 tiene un total de 38 pines. La asignación de pines es la siguiente:
Echemos un vistazo más de cerca a los pines ESP32 y sus funciones uno por uno.
ESP32-WROOM-32 pines GPIO
El módulo ESP32-WROOM-32 tiene 32 pines GPIO a los que se les pueden asignar varias funciones programando los registros correspondientes. Hay varios tipos de GPIO: digitales puros, analógicos habilitados, sensibles al tacto capacitivos, etc. La mayoría de los GPIO digitales se pueden configurar con pull-up o pull-down interno, o configurarse en alta impedancia.
¿Qué GPIO son seguros de usar?
Aunque el módulo tiene muchos pines con diferentes funciones, es posible que algunos de ellos no sean adecuados para sus proyectos. La siguiente tabla muestra qué pines son seguros de usar y cuáles deben usarse con precaución.
- – Tus pines de mayor prioridad. Son completamente seguros de usar.
- – Presta mucha atención porque su comportamiento, especialmente al arrancar, puede ser impredecible. Úsalos sólo cuando sea absolutamente necesario.
- – Se recomienda evitar el uso de estos pines.
Bolígrafo | Etiqueta de alfiler | GPIO | ¿Seguro de usar? | Razón |
4 | SENSOR_VP | GPIO36 | Solo entrada GPIO, no se puede configurar como salida | |
5 | SENSOR_VN | GPIO39 | Solo entrada GPIO, no se puede configurar como salida | |
6 | IO34 | GPIO34 | Solo entrada GPIO, no se puede configurar como salida | |
7 | IO35 | GPIO35 | Solo entrada GPIO, no se puede configurar como salida | |
octavo | IO32 | GPIO32 | ||
9 | IO33 | GPIO33 | ||
10 | IO25 | GPIO25 | ||
11 | IO26 | GPIO26 | ||
12 | IO27 | GPIO27 | ||
13 | IO14 | GPIO14 | ||
14 | IO12 | GPIO12 | debe estar BAJO durante el arranque | |
dieciséis | IO13 | GPIO13 | ||
17 | SHD/SD2 | GPIO9 | Conectado a la memoria flash | |
18 | SWP/SD3 | GPIO10 | Conectado a la memoria flash | |
19 | SCS/CMD | GPIO11 | Conectado a la memoria flash | |
20 | SCK/CLK | GPIO6 | Conectado a la memoria flash | |
21 | SDO/SD0 | GPIO7 | Conectado a la memoria flash | |
22 | IDE/SD1 | GPIO8 | Conectado a la memoria flash | |
23 | IO15 | GPIO15 | debe estar en ALTO durante el arranque, evita el registro de arranque si se coloca en BAJO | |
24 | IO2 | GPIO2 | debe estar BAJO durante el arranque y también conectado al LED integrado | |
25 | IO0 | GPIO0 | debe ser ALTO al arrancar y BAJO al programar | |
26 | IO4 | GPIO4 | ||
27 | IO16 | GPIO16 | ||
28 | IO17 | GPIO17 | ||
29 | IO5 | GPIO5 | debe estar ALTO durante el arranque | |
30 | IO18 | GPIO18 | ||
31 | IO19 | GPIO19 | ||
33 | IO21 | GPIO21 | ||
34 | RXD0 | GPIO3 | Pin Rx, utilizado para flashear y depurar | |
35 | TXD0 | GPIO1 | Pin Tx, utilizado para flashear y depurar | |
36 | IO22 | GPIO22 | ||
37 | IO23 | GPIO23 |
La siguiente imagen muestra qué pines GPIO son seguros de usar.
Entrada GPIO únicamente
Los pines 4, 5, 6 y 7 no se pueden configurar como salidas. Se pueden utilizar como entradas digitales o analógicas o para otros fines. A diferencia de los otros pines GPIO, tampoco tienen resistencias internas de pull-up y pulldown.
Pines de interrupción ESP32
Todos los GPIO se pueden configurar como interrupciones. Para obtener más información, consulte este tutorial.
ESP32-WROOM-32 pines del ADC
El módulo ESP32-WROOM-32 tiene dos bloques ADC (convertidor analógico a digital); ADC1 y ADC2. Cada bloque tiene varios canales:
- ADC1: contiene 6 canales (denominados ADC1_CH0 y ADC1_CH3 a ADC1_CH7).
- ADC2: contiene 10 canales (denominados ADC2_CH0 a ADC2_CH9).
La resolución de los ADC en el ESP32 se puede configurar hasta 12 bits. Esto significa que el ADC puede detectar 4096 (2^12) niveles analógicos discretos. Esto da como resultado una resolución de 3,3 V (voltaje de funcionamiento)/4096 unidades o 0,0008 voltios (0,8 mV) por unidad.
Advertencia:
Cuando WiFi está habilitado, los pines ADC2 no se pueden usar. Si necesita WiFi, utilice los pines ADC1.
ESP32-WROOM-32 pines DAC
El módulo ESP32-WROOM-32 contiene dos convertidores de digital a analógico (DAC) de 8 bits. Estos DAC son útiles para convertir señales digitales en voltajes analógicos.
ESP32-WROOM-32 Alfileres táctiles
El módulo ESP32-WROOM-32 tiene diez GPIO capacitivos sensibles al tacto etiquetados TOUCH0 a TOUCH9. Estos pines funcionan midiendo el cambio en la capacitancia cuando un dedo u objeto conductor está cerca de la superficie del pin.
Se pueden utilizar para diversas aplicaciones como: B. Botones táctiles, controles deslizantes táctiles o incluso reconocimiento de gestos simples. También se pueden usar para despertar el ESP32 del sueño profundo, lo cual es particularmente útil en aplicaciones sensibles actuales.
ESP32-WROOM-32 pines I2C
El módulo ESP32-WROOM-32 tiene dos interfaces de bus I2C, pero no tiene pines I2C dedicados. En cambio, permite una asignación de pines flexible, lo que significa que cada pin GPIO se puede configurar como I2C SDA (línea de datos) y SCL (línea de reloj).
Sin embargo, GPIO21 (SDA) y GPIO22 (SCL) se utilizan a menudo como pines I2C estándar para simplificar el trabajo de los usuarios que utilizan código, bibliotecas y bocetos existentes de Arduino.
ESP32-WROOM-32 pines SPI
El módulo ESP32-WROOM-32 tiene tres SPI (SPI, HSPI y VSPI). HSPI y VSPI se usan comúnmente para propósitos generales, mientras que el tercero se usa para interactuar con la memoria flash SPI integrada en el módulo.
Similar a I2C, ESP32 permite una asignación de pines flexible para SPI. Esto significa que cada pin GPIO se puede configurar como un pin SPI.
ESP32-WROOM-32 pines UART
El módulo ESP32-WROOM-32 tiene tres interfaces UART: UART0, UART1 y UART2. Estas interfaces permiten la comunicación en serie con varios dispositivos periféricos o para fines de registro y depuración.
Tenga en cuenta que los pines UART1 (GPIO 9 y GPIO 10) se utilizan para conectarse a la memoria flash SPI integrada en el módulo y, por lo tanto, no puede utilizarlos. Sin embargo, aún puedes usar UART1 aplicando bits al protocolo UART en otros pines GPIO.
Además de los pines TX y RX básicos, las interfaces UART en el ESP32 también admiten RTS (Solicitud de envío) y CTS (Borrar para enviar) para el control de flujo de hardware, pero estos se usan con menos frecuencia.
ESP32-WROOM-32 pines pwm
Casi todos los pines GPIO del módulo se pueden configurar para generar salida PWM.
El PWM en el ESP32 se puede configurar con alta resolución, generalmente hasta 16 bits, lo que permite un control preciso de las señales PWM. La frecuencia PWM también se puede ajustar, con un rango típico de unos pocos Hz a decenas de MHz, lo que la hace adecuada para una amplia gama de aplicaciones, desde controlar motores hasta atenuar LED.
ESP32-WROOM-32 Pines GPIO RTC
Algunos GPIO se reenvían al subsistema de baja potencia RTC y se conocen como RTC GPIO. Estos GPIO se pueden utilizar para despertar el ESP32 del sueño profundo y comunicarse con los periféricos RTC.
ESP32-WROOM-32 pasadores de flejado
Hay cinco pines de conexión en el ESP32: GPIO0, GPIO2, GPIO5, GPIO12 y GPIO15. El estado de estos pines determina si el ESP32 ingresa al modo BOOT (para ejecutar el programa almacenado en la memoria flash) o al modo FLASH (para cargar un programa en la memoria flash) cuando se enciende.
Tenga en cuenta que si intenta actualizar el ESP32 con un nuevo firmware, puede encontrar problemas si los periféricos están conectados a estos pines. Esto se debe a que estos periféricos podrían impedir que el ESP32 entre en el modo correcto.
ESP32-WROOM-32 Conexiones de alimentación
Las conexiones de alimentación suministran al módulo la tensión necesaria para su funcionamiento:
3V3 es el pin de voltaje de suministro principal. Debe funcionar con una fuente de alimentación estable de 3,3 V.
GND es el pin de tierra.
ESP32-WROOM-32 Activar pin
El pin EN es el pin de activación del ESP32. Cuando se tira a ALTO, el chip se activa y está listo para usar; cuando se baja, el chip se desactiva.
ESP32-WROOM-32 Pinout
El módulo ESP32-WROOM-32 tiene un total de 38 pines. La distribución de pines es la siguiente:
- SENSOR_VP – GPIO36 (Entrada solamente)
- SENSOR_VN – GPIO39 (Entrada solamente)
- IO34 – GPIO34 (Entrada solamente)
- IO35 – GPIO35 (Entrada solamente)
- IO32 – GPIO32
- IO33 – GPIO33
Preguntas Frecuentes
¿Cuáles son los pines GPIO seguros para usar?
Los pines GPIO seguros para usar en el ESP32-WROOM-32 son aquellos que no tienen comportamientos impredecibles, especialmente durante el arranque. Algunos pines pueden ser utilizados con precaución si es absolutamente necesario. A continuación, se muestra una lista de los pines seguros y los que deben usarse con precaución:
- Pines seguros: GPIO2, GPIO4, GPIO5, etc.
- Pines con precaución: GPIO23, GPIO24, GPIO25, etc.
- Pines no recomendados: GPIO36, GPIO39, etc.
¿Qué son los pines GPIO de entrada solamente?
Los pines 4, 5, 6 y 7 del ESP32-WROOM-32 no pueden ser configurados como salidas. Estos pines pueden utilizarse únicamente como entradas digitales o analógicas, y carecen de resistencias internas de pull-up y pull-down.
Para obtener más información sobre la configuración de pines y funcionalidades del ESP32-WROOM-32, te recomendamos consultar la página oficial de Espressif.
Me parece súper útil la referencia, me ahorró un montón de tiempo tratando de descifrar la distribución de pines. ¡Gracias!