USB Programming Logic

neltnerb
Posts: 9
Joined: Sat Jun 02, 2018 3:44 pm

USB Programming Logic

Postby neltnerb » Wed Dec 19, 2018 3:10 pm

I am trying to design a board based on the ESP32-PICO-D4 module, but on the real hardware the USB programming is inconsistent.

The issue seems to be tied to RTS/DTR use to put the device into boot mode; if I manually push the BOOT and RESET buttons it properly uploads code. However, when it finishes "make flash" the RTS reset also fails. Monitoring the EN and IO0 voltages looks to me like the pins aren't being pulled low far enough or long enough or both. The chip runs perfectly, it just won't enter programming mode or do USB remote reset.

I based my ESP32 subsystem directly on the PICO development board and cross-checked with the WROOM module development boards. They all seem to use the same design, which I believe I've very faithfully duplicated. Schematic with my application specific signals hidden is here:

Image

I used the exact same USB-UART chip (CP2102N in the QFN28 package) and I can see that it is *trying* to put the chip into the correct mode on an oscilliscope. This leads me to suspect that the MMSS8050-H-TP transistors I used in the automatic programming logic are somehow different from the "S8050" transistors shown in the development board schematic and are perhaps not being fully turned on? Has anyone making their own board figured this out?

This is the PICO development board I based my schematic on.

https://dl.espressif.com/dl/schematics/ ... ematic.pdf

Who is online

Users browsing this forum: Google [Bot] and 39 guests