|CH340 USB to serial TTL dongle, LM2596 buck converter and the ESP-01|
My ESP-01 from JFR Technologies turned out to be a rather ancient one - which probably explains the low price.
I used this CH340G serial TTL dongle, which also put out a 5V pin. This I used to power the ESP-01 via an LM2596 buck converter.
The main problem was with the 5V power into this whole assembly. The power required to program the ESP-01 is more than that of simply getting it to run. I had to plug it directly into my 3A externally powered USB 3.0 hub. If I used a USB extension or a USB volt/current meter it would run up but fail to program.
Lastly it is worth repeating:
1. Select the 'Tools->Board->Generic ESP8266 Module' option in Arduino IDE
2. Set the upload speed to 9600 (most newer ESO-01 use 115200. My ESP-01 was 115200 during normal run but 9600 during program upload
2. Pull down GPIO0
3. Reset the ESP-01 by pulling down RST then releasing. The blue blinkenlight should flash.
4. Launch the upload 'Sketch->Upload'