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.