Menu
in

Cómo programar un módulo ESP32 con lo mínimo y necesario

No es el proceso más cómodo del mundo, pero vale la pena conocerlo…

Cómo programar un ESP32

Si piensas que estoy insistiendo mucho con los módulos ESP8266/ESP32… supongo que soy culpable. Aunque parezca mentira, estos microcontroladores representan un excelente punto de partida para cualquiera que desee mojarse los pies en las aguas del DIY, el código Arduino, y otros lenguajes compatibles. Ahora, existen muchas opciones para programar un ESP32, pero hoy decidimos regresar al canal de «atomic14», quien nos enseña lo mínimo y necesario en materia de componentes…


Imagino que alguien debe pensar: «Lisandro, esto no tiene sentido». ¿Por qué seguir ese camino cuando un módulo ESP32 con su propio regulador de voltaje, botones de reset, pines soldados y puerto micro USB incluido vale menos de 10 euros en Amazon? La respuesta no es otra más que «aprendizaje». Sí, un módulo ESP32 listo para usar nos llevará a buen puerto con facilidad, pero un día deberás extraerlo de otro producto, o tu adaptador USB-a-serial fallará sin previo aviso. Conocer el pinout y las funciones internas de cualquier módulo ESP / Arduino / ATtiny / STM32 siempre es una buena idea, y el último vídeo de «atomic14» apunta en esa dirección.


Programando un módulo ESP32 con componentes mínimos


Lo primero que debemos mencionar del tutorial es que sólo funciona con los modelos ESP32-S2 y ESP32-S3. La razón es sencilla: Estos son los únicos miembros de la familia ESP que traen soporte USB-OTG (todos los demás requieren un adaptador). Al mismo tiempo, no debemos perder de vista que el ESP32 trabaja a 3.3v, y cualquier intento de conectarlo directamente a 5v lo iluminará como un árbol de Navidad… antes de destruirlo. Entonces, ¿qué necesitamos con exactitud?


  • Una fuente de 3.3v (batería, adaptador, tú eliges), conectada al pin correspondiente (3v3 = +) y a uno de los GND (-)
  • El pin Enable, conectado a los 3.3v para colocarlo en «high»
  • IO19 es «Data -» del puerto USB, mientras que IO20 es «Data +»
  • IO0 debe estar conectado a GND la primera vez que programamos al ESP32. No sería mala idea usar un pulsador aquí.
  • El LED en I02 y su resistencia son opcionales, pero muy útiles para comprobar que todo funciona.
  • Y por supuesto, cualquier driver relevante para Windows (si lo usas), acompañado por un IDE compatible (Arduino IDE, PlatformIO, etc.)


Para finalizar, me gustaría agregar un detalle que apenas es mencionado en el vídeo de atomic14: Muchos usuarios reportan problemas de conectividad en algunos módulos ESP32, con la leyenda «A fatal error occurred: Failed to connect to ESP32». El youtuber VoltLog sugiere que esto se debe a un error provocado por el salto de la señal Enable, que modifica la condición de IO0. La solución es agregar un capacitor de 1 microfaradio entre el pin Enable y GND. Esto vuelve un poco más lento a Enable, y evita que el error se dispare.


Escrito por Lisandro Pardo

Leave a Reply