Need a little help with ESP8266-01 not retaining code. RESOLVED

This is my first time trying to use a ESP8266-01 so any suggestions as to how to resolve this problem would be appreciated.

I want to use a ESP8266-01 for my NTP project. I put together a small circuit for programming the ESP-01 with the Arduino UNO. My understanding is that you have to connect the RST to GND in order to upload code to the ESP-01 so I installed a small switch to do this. To test the programmer, I uploaded the Blink example code and it uploaded fine and the blue LED in the ESP-01 started blinking.

The problem that I’m having is that, if the Arduino is rebooted, the code in the ESP-01 seems to have been lost because, while the green LED on the Arduino will begin to blink, The LED on the ESP-01 no longer blinks. To get the LED on the ESP-01 to start blinking again the code has to be uploaded again, which is no good for my project.

Any suggestions or insight as to how to remedy this is appreciated.


[----- RESOLVED -----]

I'm sure that I am not the only one who has encountered this problem so, for those who have..., here is the answer!

Once programmed, you need to connect GPIO0 to 3.3v. Your uploaded code should then run on powerup.

Note: GPIO0 should be pulled up to 3.3V via a 10k resistor. It should not be directly connected to 3.3V. If directly connected to 3.3V and the program tries to pull the pin low you will effectively short the power supply.