ESP32: Adaptando una ESP32-DevKit v1 para usarla como programador

Saludos! En un anterior post vimos el sistema minimo para hacer funcionar un ESP32 y se menciono sobre el conector ICSP para poder cargarle el firmware, pues ahora veremos la forma de transformar/adaptar una board ESP32-DevKit v1 para este proposito.

Comenzare por decir que hice esto porque en algun momento me vi en la necesidad de desoldar varios ESP32 de sus respectivas boards, para poder usar solo el SoC y como resultado me terminaron quedando solo las boards. Para no desecharlas, decidi aprovechar un par de estas y hacer un pequeño circuito en placa universal perforada.


Programar el ESP32 se puede solucionar con algun modulo USB-TTL que puedes conseguir en el mercado por dos o tres dolares, pero en mi caso decidi ahorrarlos y usar lo que ya tengo en el taller, ademas evitar que las boars se fueran a la basura o quedaran arrumbadas en mi caja de chatarra electronica.

Circuito:
Para cargarle el archivo HEX al SoC, solo necesitamos un par de conexiones, los cuales se puede ver en el siguiente esquematico:


En general se ocupan 6 pines para programar el ESP32, de los cuales dos correponden a la alimentacion "3V3 y GND", dos mas son para el envio de datos "TX0 y RX0", uno mas para hacer que el SoC entre en modo programacion (boot) "IO0" el cual debe tener un nivel bajo (GND) para entrar en dicho modo y por ultimo el pine EN de enable o reset.

Este modulo cuenta con un sistema de "auto programado", por lo menos asi lo mencionan en la documentacion y no es otra cosa que un arreglo de transistores en conjunto con el chip USB-UART, la funcionalidad es entrar a modo programacion, cargar el archivo y cuando este termine resetearse para despues ejecutar lo que recientemente se ha cargado. Por tal motivo es importante usar los 6 pines antes mencionados.

Como he pasado el esquematico a eagle tambien decidi hacer el ruteado, importante mencionar que esta pensado para una sola capa, por lo tanto las lineas rojas son puentes que se deben de colocar con cable cuando se este soldado los componentes. El layout ha quedado de la siguiente forma:

Consideraciones:
Importante mensionar, en el esquematico podemos ver la etiqueta IO0 en el conector SV1, el cual aparentemente no esta conectado a nada, el motivo es que lo board no tiene este pin de facil acceso por lo que sera necesario soldar un cable directamente en el footprint del ESP32 (circulo azul) o en el pulsador de boot (circulo rojo), como se muestra en la siguiente foto:


He decidido soldarle un cable dupont para poder separar las board si es necesario. 


El jumper JP1 se usa para determinar si este modulo proporciona voltaje para al ESP32 a ser programado, si se deja abierto el jimper sera por que no requerimos proporcionar voltaje.

Con respecto al cable ISCP, he decidido utiizar cable plano de 6 vias y conecores molex, el orden de los conectores me parece ya lo habia explicaco en alguna otra publicacion del blog, pero esencialmente los conecotres uno esta asi aun lado y el otro del lado contrario con esto garantizamos el orden de la los pines no cambie en ninguna de las dos placas (placa del progrmador y placa del ESP custom).


Bueno por el momento es todo si tienes dudas, comentarios, sugerencias, inquietudes, traumas, etc. dejarlas y tratare de responder lo mas pronto posible.


Donaciones:
Si te gusta el contenido o si los recursos te son de utilidad, comparte el enlace en tus redes sociales o sitios donde creas que puede ser de interés y la otra puedes ayudarme con una donación para seguir realizando publicaciones y mejorar el contenido del sitio. También puedes hacer donaciones en especie, ya sea con componentes, tarjetas de desarrollo o herramientas. Ponte en contacto para platicar, o puedes volverte uno de nuestros sponsors.


Pido una retroalimentación avisando cada que un enlace no sirva o tenga errores al momento de abrirlo, así también si una imagen no se ve o no carga, para corregirlo en el menor tiempo posible.

Links:

Publicar un comentario

0 Comentarios