Skip to main content
ESPBoards

¿Por qué dos puertos USB-C o Micro-USB en las placas de desarrollo ESP32?

Algunas placas de desarrollo ESP32 tienen dos o más puertos USB, especialmente las placas de desarrollo oficiales de Espressif. ¿Por qué añaden el segundo puerto?


Una de las principales razones para elegir la placa de desarrollo ESP32, en lugar del chip desnudo, es su conectividad USB, ya que generalmente las placas de desarrollo vienen con una interfaz USB. La mayoría de las placas ESP32 tienen al menos un puerto USB para la programación, depuración, etc.

Sin embargo, algunas placas ESP32 llevan esto un paso más allá y ofrecen múltiples puertos USB. Estos puertos USB pueden presentarse en diferentes formatos, como USB tipo A, micro-USB, USB tipo C.

En este artículo, exploraremos por qué algunas placas de desarrollo ESP32 tienen múltiples puertos USB, las ventajas y desventajas de esta característica, y si realmente necesitas múltiples puertos USB en una sola placa de desarrollo.

¿Por qué múltiples puertos USB en las placas de desarrollo ESP32? #

La mayoría de las placas ESP32 tienen al menos un puerto USB, que se utiliza para la programación, depuración, comunicación serial y más. Sin embargo, algunos fabricantes de placas de desarrollo ESP32 van un paso más allá y ofrecen múltiples puertos USB, especialmente las placas de desarrollo del propio fabricante de ESP32, Espressif.

Espressif ESP32-C6-DevKitC-1-N8

Las placas de desarrollo ESP32 con múltiples puertos USB pueden presentarse en diferentes configuraciones, pero generalmente tienen dos puertos micro USB o un puerto micro USB y un puerto USB tipo C, o incluso dos puertos USB tipo C o dos puertos micro USB.

Tener dos puertos USB en una placa de desarrollo ESP32 ofrece más flexibilidad en términos de opciones de conectividad. Por ejemplo, puedes usar un puerto para la programación y depuración, mientras que el otro puerto lo puedes utilizar para otros fines, como suministro de energía, transferencia de datos o comunicación serial.

Por lo general, cuando tienes dos puertos USB en el ESP32, uno de los puertos es el puerto USB nativo, y el otro es el puerto UART. Vamos a examinar más de cerca cada uno de ellos.

Puerto USB Nativo #

El puerto USB se conecta directamente a los pines D+/D- del chip ESP32, funcionando como una interfaz que permite que la placa funcione como un host USB. Esta funcionalidad habilita una variedad de posibilidades, permitiendo configurar tu placa ESP32 para operar como un dispositivo USB nativo. Por ejemplo, puedes transformarlo en una unidad flash USB, emular un ratón o teclado, o incluso simular el comportamiento de otros dispositivos USB. Este puerto USB puede asumir diferentes roles dentro de un ecosistema USB de manera fluida.

A pesar de la amplia gama de aplicaciones del puerto USB nativo, es importante recordar que el uso principal del puerto USB del ESP32 no está centrado en la programación de la placa en sí. Su uso principal radica en permitir que el ESP32 interactúe de manera fluida con dispositivos USB externos o transforme la placa ESP32 en un dispositivo USB nativo.

También cabe mencionar que el puerto USB nativo generalmente admite JTAG, que se utiliza para la depuración de hardware, pero también puede usarse para flashear el firmware a la placa ESP32. Sin embargo, tener el puerto dedicado UART casi siempre es más confiable.

Puerto UART USB #

El otro puerto USB que puedes encontrar en las placas ESP32 con múltiples puertos USB es el tradicional chip USB-serie, comúnmente conocido como el puerto UART. El puerto UART, a diferencia del otro puerto USB, se conecta directamente a los pines RX (Recibir) y TX (Transmitir). A diferencia del puerto USB, que puede asumir diversos roles, el propósito principal del puerto UART es facilitar el flasheo del firmware a la placa ESP32 y establecer un canal de comunicación serial directo.

Si bien es posible flashear el firmware en la placa ESP32 mediante el puerto USB nativo (JTAG), si estás planeando hacer un dispositivo USB nativo, no podrás utilizar el puerto USB nativo para nada más, excepto para el dispositivo USB que estés creando.

Existen, por supuesto, soluciones alternativas, como crear un descriptor COM virtual, que se utilizaría como un canal de comunicación serial. Sin embargo, tendrías que reconectar el dispositivo virtualmente cada vez que lo reinicies. Además, si el dispositivo se bloquea, perderías instantáneamente la conexión y no podrías acceder al COM virtual. Por lo tanto, en este caso, tiene mucho más sentido tener un segundo convertidor UART que siempre esté en funcionamiento.

Ventajas de los Múltiples Puertos USB en las Placas de Desarrollo ESP32 #

Como ya se discutió, las placas de desarrollo ESP32 con múltiples puertos USB ofrecen una serie de ventajas sobre las placas con solo un puerto USB. Aunque puede ser un poco más cara, la inversión adicional vale la pena sin duda para aplicaciones específicas. A continuación, se presentan algunos beneficios clave de tener múltiples puertos USB en la placa de desarrollo ESP32:

  1. Mayor flexibilidad y facilidad de uso: Tener múltiples puertos USB puede facilitar la programación y depuración de tu placa ESP32, mientras se deja un puerto USB libre para otros fines, como comunicación serial, transferencia de datos o crear un dispositivo USB nativo. Esto puede ser especialmente útil en situaciones donde necesites conectar varios dispositivos a tu placa.
  2. Modos de operación diferentes: Algunas placas de desarrollo ESP32 con múltiples puertos USB ofrecen diferentes modos de operación, dependiendo de qué puerto uses. Por ejemplo, podrías elegir entre un modo de programación y un modo de transferencia de datos (JTAG, UART, etc.) dependiendo del puerto al que te conectes.
  3. Facilitar la transferencia de datos y suministro de energía: Además de los usos tradicionales del puerto USB (como flashear el programa, monitoreo serial, etc.), los múltiples puertos USB también pueden proporcionar una opción de suministro de energía, como alimentar la placa desde un puerto USB-C con Power Delivery (PD), mientras usas el otro puerto para la transferencia de datos.

Posibles Desventajas de los Múltiples Puertos USB en las Placas de Desarrollo ESP32 #

Si bien tener múltiples puertos USB en una placa de desarrollo ESP32 puede ser una característica útil, también existen posibles desventajas a considerar. Aquí hay algunos inconvenientes clave de tener múltiples puertos USB en la placa de desarrollo ESP32:

  1. Complejidad: Tener múltiples puertos USB agrega complejidad al diseño y uso de la placa de desarrollo. Los desarrolladores deben gestionar las interacciones entre las diferentes interfaces USB, lo que podría llevar a configuraciones de software y hardware más complejas.
  2. Mayor Costo: Implementar múltiples puertos USB requiere componentes y circuitos adicionales, lo que puede contribuir a un mayor costo de fabricación. Esto podría afectar la asequibilidad de la placa de desarrollo, especialmente para proyectos con presupuesto limitado.
  3. Consumo de Energía: Cada puerto USB activo consume energía, y múltiples interfaces USB pueden aumentar colectivamente el consumo de energía de la placa ESP32. Esto podría afectar la duración de la batería en aplicaciones portátiles o de bajo consumo.

Placas Oficiales ESP32 de Espressif con Múltiples Puertos USB #

La funcionalidad de los múltiples puertos USB depende a menudo del puerto USB utilizado. Como se mencionó anteriormente, las placas de desarrollo ESP32 vienen con puertos tipo A, micro-USB o incluso puertos USB tipo C. Por ejemplo, el puerto USB-C, en comparación con los puertos más antiguos, como tipo A o micro-USB, ofrece mayores tasas de transferencia de datos y soporte para funciones más avanzadas, como la entrega de energía. Por lo tanto, es importante elegir la placa de desarrollo ESP32 según las necesidades de tu proyecto.

Por favor, ten en cuenta que solo hemos listado las placas de desarrollo oficiales de Espressif ESP32. Existen múltiples opciones de otros fabricantes de placas de desarrollo que cuentan con más de un puerto USB.

Placas de Desarrollo ESP32 con Múltiples Puertos USB-A #

ESP32 Development Boards with Multiple micro-USB Ports #

Placas de Desarrollo ESP32 con Múltiples Puertos USB-C #

Conclusión #

En conclusión, las placas de desarrollo ESP32 con múltiples puertos USB ofrecen un mayor nivel de flexibilidad y conveniencia para los desarrolladores. Permiten diferentes modos de operación, facilitan la transferencia de datos y el suministro de energía, y ofrecen una amplia gama de opciones de conectividad.

Sin embargo, agregar hardware adicional en las placas de desarrollo de microcontroladores nunca está exento de desventajas. Existen posibles inconvenientes a considerar, como el costo, la complejidad o el consumo de energía.

Al seleccionar una placa de desarrollo ESP32 con múltiples puertos USB, es importante evaluar los requisitos de tu proyecto y elegir una placa que cumpla con tus necesidades específicas. Ya sea que busques una placa con puertos USB tipo C, USB tipo A o micro-USB, UART, JTAG u otras interfaces. Existen muchas opciones disponibles de varios fabricantes, pero generalmente encontrarás fácilmente una placa de desarrollo con múltiples puertos USB del fabricante oficial de ESP32, "Espressif".

Al comprender las ventajas y desventajas de los múltiples puertos USB en las placas de desarrollo ESP32, podrás tomar una decisión informada y seleccionar la mejor placa para tu proyecto.