Downloading and installing the new Arduino IDE for ESP8266

Moderator: igrr

User avatar
By sixbacon
#23089 Lessons I learnt the hard way which will save you time when you first play with the ESP8266-01 and the IDE.
1. Make sure your FTDI is set to 3.3V. Check all the output pins with a meter when the FTDI is trying to upload a program with nothing attached.
2. 5V kills ESPs. Yes the warning is out there, so pay attention. 5V on the RX pin fries the ESP8266-01, but it is subtle. The red power led on the ESP will be on. The blue led on the ESP will flash when you try to upload and you will get the orange “failed” message in the IDE, as you do with other non-fatal wiring errors. But it is fried!
3. If you use the “Minimal hardware Setup for Bootloading and usage” as recommended, you need to know three things at least.
a. Do not have the IDE serial monitor running when you upload a sketch. I think it plays with the DTR line and the GPIO0 is not held low. It will not upload.
b. If you want to use the IDE serial monitor when code is executing on the ESP, then you need to disconnect the lines to the DTR and RTS on the FTDI. That is, only have the TX, RX and GND connected. Otherwise the code will not run.
c. If you want to run the code on the ESP when it is still connected to the FTDI, but the FTDI has nothing plugged into its usb socket, then you need to disconnect the RTS line to allow the ESP to start.
4. I uploaded my first sketch not using the “Minimal hardware Setup for Bootloading and usage”. I only connected the RX, TX and GND to the FTDI. I took the CH-PD and RST to 3.3V. To program I tied the GPIO0 to GND and powered the ESP off and on first. I kept the GPIO0 attached to GND throughout the upload. I then disconnected GPIO0 to run the sketch. I had made some errors, notably the 5V one! Once I sorted that, I also was able to use the recommended circuit.
5. I am just starting to play now, but don’t see any advantage in the “Minimal hardware Setup for Bootloading and usage” circuit given the points in 3. I have used pull up resistors and decoupling capacitors though to keep things stable.
I hope this helps.
User avatar
By h4rm0n1c
#23389
If you want to use the IDE serial monitor when code is executing on the ESP, then you need to disconnect the lines to the DTR and RTS on the FTDI. That is, only have the TX, RX and GND connected. Otherwise the code will not run.


I've had a different experience, I leave those lines connected, when I open the serial monitor the ESP resets itself and boots as normal, just like it does on the AVR. (IIRC, it's been a while since I've done AVR stuff)

The difference? I stuck with the schematic.

You've omitted resistors, that's probably the source of a lot of your problems, the reason for pullup and pulldown resistors is to set a default state of a pin whilst still allowing full use of the pin in question for other things..

By tying a pin directly to a rail, you make it very hard for the FTDI chip to pull the line high or low, it may even be outside of the chip's capability to do so in terms of current capacity.

I'll admit that CH_PD you CAN get away with, but the others? Nope. Not worth the trouble, just put the resistors on.

tl;dr: Tying those pins directly to 3.3v or Ground is a bad idea if you want full upload management and serial console function and now you know why.

The schematic in README.md on the GitHub page is known to be good, this is what I used as a base for my board, minus the 3.3v connection to the FTDI.

Image