Referencia de pinout del ESP32-WROOM-32

Si estás interesado en la creación de dispositivos conectados a la red o en proyectos de Internet de las Cosas (IoT), es probable que hayas escuchado hablar del ESP32. Este microcontrolador se ha convertido en una de las opciones más populares gracias a su capacidad para manejar tareas complejas, su integración de WiFi y Bluetooth y su amplia variedad de pines de entrada y salida. A continuación, exploraremos con detalle el módulo ESP32-WROOM-32, su pinout y las funciones específicas de cada uno de sus pines.

El ESP32-WROOM-32 es un módulo desarrollado por Espressif, una empresa conocida por sus soluciones de conectividad. Optar por este módulo en lugar del chip desnudo tiene varias ventajas, entre ellas que está aprobado por la FCC, lo que simplifica el proceso de fabricación al no requerir medidas adicionales para cumplir con las normativas de compatibilidad electromagnética. Comprender el pinout del ESP32-WROOM-32 es fundamental para cualquier diseño de PCB personalizado que desees realizar. Este artículo desglosará el pinout del ESP32-WROOM-32 en detalle.

El módulo ESP32-WROOM-32 cuenta con un total de 38 pines, cada uno con diferentes funciones y capacidades. A continuación, examinaremos cada tipo de pin y su utilidad.

Índice de contenido
  1. Pines GPIO del ESP32-WROOM-32
    1. ¿Cuáles GPIO son seguros para usar?
    2. Pines GPIO de entrada única
    3. Pines de interrupción del ESP32
  2. Pines ADC del ESP32-WROOM-32
  3. Pines DAC del ESP32-WROOM-32
  4. Pines de toque del ESP32-WROOM-32
  5. Pines I2C del ESP32-WROOM-32
  6. Pines SPI del ESP32-WROOM-32
  7. Pines UART del ESP32-WROOM-32
  8. Pines PWM del ESP32-WROOM-32
  9. Pines RTC del ESP32-WROOM-32
  10. Pines de strapping del ESP32-WROOM-32
  11. Pines de alimentación del ESP32-WROOM-32
  12. Pin de habilitación del ESP32-WROOM-32

Pines GPIO del ESP32-WROOM-32

El ESP32-WROOM-32 tiene 32 pines GPIO (General Purpose Input/Output) que pueden ser configurados para cumplir diversas funciones. Estos pines pueden ser digitales, analógicos o incluso habilitados para toque capacitivo, lo que amplía las posibilidades de uso.

¿Cuáles GPIO son seguros para usar?

Aunque el módulo tiene una amplia variedad de pines, no todos son aptos para cualquier aplicación. A continuación, se presenta una lista que clasifica los pines según su idoneidad:

  • Seguros: Estos pines son ideales y no presentan riesgos.
  • Con precaución: Su comportamiento puede ser incierto durante el arranque; úsalos solo si es necesario.
  • Evitar: Es recomendable no utilizar estos pines en tus proyectos.

Pines GPIO de entrada única

Los pines 4, 5, 6 y 7 son de entrada únicamente, lo que significa que no pueden configurarse como salidas. Estos pines pueden ser utilizados para entradas digitales o analógicas, pero carecen de resistencias internas de pull-up o pull-down, lo cual es importante tener en cuenta al diseñar circuitos.

Pines de interrupción del ESP32

Todos los pines GPIO pueden configurarse como pines de interrupción, lo que permite reaccionar a eventos en tiempo real. Para más detalles sobre la configuración de interrupciones, se recomienda consultar tutoriales específicos sobre el tema.

Pines ADC del ESP32-WROOM-32

El módulo ESP32-WROOM-32 incluye dos bloques de convertidores analógicos a digitales (ADC): ADC1 y ADC2. Cada bloque tiene múltiples canales, que se clasifican de la siguiente manera:

  • ADC1: Contiene 6 canales (denominados ADC1_CH0 a ADC1_CH3 y ADC1_CH5 a ADC1_CH7).
  • ADC2: Tiene 10 canales (denominados ADC2_CH0 a ADC2_CH9).

La resolución de estos ADC puede ser configurada hasta 12 bits, permitiendo detectar 4096 niveles analógicos discretos, lo que se traduce en una resolución de aproximadamente 0.8 mV por unidad.

Advertencia: Cuando el Wi-Fi está habilitado, los pines ADC2 no pueden ser utilizados. En caso de necesitar Wi-Fi, se recomienda utilizar los pines de ADC1.

Pines DAC del ESP32-WROOM-32

El módulo ESP32-WROOM-32 también cuenta con dos convertidores digitales a analógicos (DAC) de 8 bits. Estos DAC son esenciales para convertir señales digitales en voltajes analógicos, lo que permite aplicaciones que requieren salida de voltaje variable.

Pines de toque del ESP32-WROOM-32

Este módulo dispone de diez pines GPIO habilitados para el toque, etiquetados desde TOUCH0 hasta TOUCH9. Funcionan midiendo el cambio en la capacitancia cuando un dedo o un objeto conductor está cerca del pin. Estas capacidades permiten una variedad de aplicaciones, como botones táctiles, deslizadores táctiles e incluso reconocimiento básico de gestos.

Adicionalmente, estos pines pueden ser utilizados para despertar al ESP32 desde un modo de sueño profundo, lo cual es especialmente útil en aplicaciones donde la eficiencia energética es crítica.

Pines I2C del ESP32-WROOM-32

El módulo ESP32-WROOM-32 incluye dos interfaces de bus I2C, aunque no tiene pines dedicados para esta función. Esto permite una asignación flexible de pines, de modo que cualquier pin GPIO puede configurarse como SDA (línea de datos) y SCL (línea de reloj). Sin embargo, los pines GPIO21 (SDA) y GPIO22 (SCL) son comúnmente utilizados como pines I2C predeterminados para facilitar la compatibilidad con bibliotecas y ejemplos de Arduino.

Pines SPI del ESP32-WROOM-32

El módulo cuenta con tres interfaces SPI (SPI, HSPI y VSPI). Mientras que HSPI y VSPI son utilizados para propósitos generales, el tercer SPI está destinado para la interfaz con la memoria flash SPI integrada en el módulo. Al igual que con I2C, el ESP32 permite la asignación flexible de pines para SPI, lo que proporciona una gran versatilidad en el diseño de circuitos.

Pines UART del ESP32-WROOM-32

El ESP32-WROOM-32 tiene tres interfaces UART: UART0, UART1 y UART2. Estas interfaces son esenciales para la comunicación serial con diversos periféricos o para registrar y depurar información.

Es importante tener en cuenta que los pines de UART1 (GPIO 9 y GPIO 10) se utilizan para la interfaz con la memoria flash integrada, por lo que no se pueden utilizar para otro propósito. Sin embargo, es posible utilizar UART1 mediante la técnica de "bit-banging" en otros pines GPIO. Además, las interfaces UART admiten señales de control de flujo RTS (Request To Send) y CTS (Clear To Send), aunque estas son menos comunes en su uso.

Pines PWM del ESP32-WROOM-32

Casi todos los pines GPIO del módulo pueden configurarse para generar salidas de modulación por ancho de pulso (PWM). La configuración de PWM en el ESP32 es de alta resolución, llegando hasta 16 bits, lo que permite un control preciso sobre las señales PWM. La frecuencia de PWM es ajustable, con un rango típico que varía desde unos pocos Hz hasta decenas de MHz, siendo adecuada para una amplia gama de aplicaciones, desde el control de motores hasta el atenuado de LEDs.

Pines RTC del ESP32-WROOM-32

Algunos GPIOs están conectados al subsistema de bajo consumo RTC y se conocen como pines RTC. Estos pines pueden ser utilizados para despertar al ESP32 desde un modo de sueño profundo y para interactuar con periféricos RTC, lo que permite un uso eficiente de la energía.

Pines de strapping del ESP32-WROOM-32

El ESP32-WROOM-32 tiene cinco pines de strapping: GPIO0, GPIO2, GPIO5, GPIO12 y GPIO15. El estado de estos pines determina si el ESP32 entra en modo BOOT (para ejecutar el programa almacenado en la memoria flash) o en modo FLASH (para cargar un nuevo programa en la memoria flash) al encenderse.

Es crucial tener en cuenta que si se conectan periféricos a estos pines, podrías enfrentar problemas al intentar cargar nuevo firmware, ya que los periféricos pueden evitar que el ESP32 ingrese en el modo correcto.

Pines de alimentación del ESP32-WROOM-32

Los pines de alimentación proporcionan el voltaje necesario para el funcionamiento del módulo:

  • 3V3: Este es el pin de voltaje de suministro principal, el cual debe recibir una alimentación estable de 3.3V.
  • GND: Este es el pin de tierra.

Pin de habilitación del ESP32-WROOM-32

El pin EN es el pin de habilitación del ESP32-WROOM-32. Cuando se lleva a un estado alto, el chip se activa y comienza a funcionar; cuando se lleva a un estado bajo, el chip se desactiva.

Carlos Julián

Carlos Julián es el fundador de Ingtelecto, es Ingeniero Mecatrónico, Profesor y Programador, cuenta con una Maestria en Ciencias de la Educación, creador de contenido activo a través de TikTok @carlosjulian_mx

Estos temas te pueden interesar

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Tu puntuación: Útil

Subir