Page 1 of 1

Automatically sequence ENABLE/IO0 pins for program upload

Posted: Sun Feb 28, 2021 12:36 pm
by elliotwoods
Hello all

I am developing a PCB using a WROVER-IE kit with a FT234XD USB-Serial chip.
The FT234XD outputs !RTS and !CTS.

I would like to :

1. Automatically enter programming mode (resest with IO0 held low) when uploading a program
2. Not enter programming mode when opening the serial port for other purposes

I have noticed truth tables to convert RTS, DTR to IO0, EN (e.g. on the ESP-WROVER-KIT), but haven't found an example with CTS.
https://dl.espressif.com/dl/schematics/ ... _SCH-2.pdf
(Also it seems that the polarity of DTR, RTS on the truth table should read !DTR, !RTS)

Can anybody explain how this works in practice? (e.g. what is the sequence of DTR, RTS, CTS, and what actions trigger that sequence)
Also, how is it possible that the programming mode is only entered when a program is uploaded, and not when the serial port is opened for other purposes?

I wasn't able to find the relevant information using the search feature (it seems very slow so I only checked 2 pages of results). If there are good resources on these questions already, then please do share.

Thank you
Elliot

Re: Automatically sequence ENABLE/IO0 pins for program upload

Posted: Mon Mar 01, 2021 3:08 am
by ESP_Sprite
!CTS is an input on the FT234XD side and as such can't be used for resetting the ESP32.

Serial comms programs generally set DTR and RTS to the same value (either both high or both low) and the circuit is designed to do nothing in both these cases.