ESP8266 Reset and CH_PD pins for FTDI auto reset
Today I solved one of my “Auto-reset” like problem for ESP8266 which had some erratic comportment depending on ESP module used. Sometimes it was working all time and some other never. Investigation was planned, I really don’t had time for this but I like to understand what happens, and why ! I also wanted to share this with you and able to discuss on it.… Continue Reading
Click here to see the full blog post
Interesting! Do you need the schottkys if you use a 3.3V supply?
no you won't, you can remove D1 and D2 but need to leave D5
Hi! this is cool :)
I'm using a similar design with a CP2102 which only has DTR, and operates at 3.3V.
- You say that in this case D1 and D2 can be removed, I assume these are the same in the first and second diagram? (they are not numbered in the second diagram :) ).
- Is the reason to use Schottky (only) the low forward voltage? I only have some 1N4148, using one for D5 seems to work, using it for D1 and D5 does not for some reason :)
- The B5819W would be the same as 1N5819 I assume? Might order some, do you think it's a good common Schottky to have? :)
- How do you make this work in software??? Setting DTR on, then off, does put it in flash mode, and Arduino software in NodeMCU mode does manage to flash correctly. But Arduino Serial monitor seems to set the DTR wrong, then it stays stuck in flash mode :)
Yes they are the same diodes on the 2nd diagram. I think it should works with 1N4148, tell me if it's the case, I'd like to know. And yes Schottky to avoid approx 0.6v dropout voltage, just that.
On software, view, I just set in Arduino IDE NodeMCU board and all id then fine (ck reset type as far as I remember), that's all ;-)
Well, I've something that works good enough for me now :)
- With a CP2102 (3.3v) just 1 1N4148 for D5 seems to work (removing D1 and D2). For safety I put a 470 ohm in series with D5. This is using the CH_PD diagram.
- Uploading works like this with stock Arduino (Actually I have it set on NodeMcu mode).
- But serial monitor messes it up, so instead I use non stock Arduino IDE from: https://github.com/esp8266/Arduino/issues/316 it disables serial monitor messing with DTR/RTS :).
Can not get this to work on a ESP12F at 3.3V. I am using the 'ch340' USB>TTL and there is a DTR and RTS on it. AI Thinker default firmware works so its talking to the adapter. I have removed the D1 and D2. I only have '4148' diodes. I'm suspecting the 100nF capacitor might not be enough. I don't own an oscilloscope, maybe my logic analyzer could tell me something.
Here is my project http://imgur.com/a/PKArc
Aha. The issue from my previous comment was because the ch340 documentation had different package than what i have on my adapter. 20 pins Vs. 16 pins.
Using input from above and from https://github.com/tttapa/ESP8266/tree/master/Examples I made a working auto-reset and auto-program:
- diode at DTR output and at RX output not required (but use a 3.3V ftdi adapter!)
- connect CH_PD to 3.3V with a 10k pull-up
- replace the B5819W with a regular 1N4148 (easier to find)
- replace above the CH_PD connection to the RESET connection
- add a 1N4148 between RESET and 3.3V with cathode to 3.3V (prevent 100nF cap to overload RESET when DTR goes back high)
Caveat: when programming, do switch off the Arduino serial monitor: it screws around with DTR. Before reactivating Arduino Serial Monitor after programming remove DTR connection above