user38494: I am new to the whole arduino scene. I have connected my wifi module (esp8266 v01) to my arduino Uno like this:
http://www.teomaragakis.com/hardware/electronics/how-to-connect-an-esp8266-to-an-arduino-uno/
And have downloaded the arduino ide framework so that I may be able to use the arduino IDE as opposed to sending AT commands through the serial monitor. 
When trying to upload an example sketch that sends a http request that I found on github, I get the following error:
    Arduino: 1.8.4 (Windows 8.1), Board: "Generic ESP8266 Module, 80 MHz, 40MHz, DIO, 115200, 512K (64K SPIFFS), ck, Disabled, None"

Archiving built core (caching) in: C:\Users\Yasmeen\AppData\Local\Temp\arduino_cache_354217\core\core_esp8266_esp8266_generic_CpuFrequency_80,FlashFreq_40,FlashMode_dio,UploadSpeed_115200,FlashSize_512K64,ResetMethod_ck,Debug_Disabled,DebugLevel_None_____9d1d735445f8d7bf19746e2177d24e71.a
Sketch uses 285417 bytes (65%) of program storage space. Maximum is 434160 bytes.
Global variables use 38688 bytes (47%) of dynamic memory, leaving 43232 bytes for local variables. Maximum is 81920 bytes.
error: failed reading byte
warning: espcomm_send_command: cant receive slip payload data
error: failed reading byte
warning: espcomm_send_command: cant receive slip payload data
error: failed reading byte
warning: espcomm_send_command: cant receive slip payload data
error: failed reading byte
warning: espcomm_send_command: cant receive slip payload data
error: failed reading byte
warning: espcomm_send_command: cant receive slip payload data
error: failed reading byte
warning: espcomm_send_command: cant receive slip payload data
error: failed reading byte
warning: espcomm_send_command: cant receive slip payload data
error: failed reading byte
warning: espcomm_send_command: cant receive slip payload data
error: failed reading byte
warning: espcomm_send_command: cant receive slip payload data
warning: espcomm_sync failed
error: espcomm_open failed
error: espcomm_upload_mem failed
error: espcomm_upload_mem failed

After looking online and researching, I can see that it has something got to do with flashing the firmware or something. I came across this question:
ESP8266 error: espcomm_upload_mem failed while uploading sketch
and the answer did say that he bought a converter.. what does this mean? Does it mean buying this?:
https://www.amazon.co.uk/gp/product/B06Y3FNGJF/ref=oh_aui_detailpage_o00_s00?ie=UTF8&psc=1
I really need help, been stuck on this for the past few days now and seriously contemplating whether to get the arduino wifi shield since it comes prebuilt with wifi.. even though it costs quite a lot!

user4143: The ESP8266 has two "modes". "Run" mode and "Flash" mode.  In "Run" mode the firmware installed onto the ESP8266 executes. The default firmware is the AT firmware that allows you to control the device with AT commands through serial.
Note that the site you link to has erroneous information about CH_PD that should be talking about GPIO0.
In "Flash" mode you get to upload new firmware (AKA a "sketch") to make the device do something different.
The basic programming sequence is:

Switch the device to Flash mode (connect GPIO0 to GND)
Upload the sketch using the IDE
Switch the device to Run mode (connect GPIO0 to 3.3V).

Because of these extra steps many people choose to invest in a small USB interface board designed specifically for programming the ESP8266 to make their life easier. These generally have a switch on them to set whether GPIO0 is connected to GND or 3.3V.

user37857: By default, the ESP8266 runs the program in flash memory.
To upload new firmware over UART, you have to change the boot mode by connecting GPIO0 to ground during reset. 
GPIO15 should be low and GPIO2 should be high during boot in both cases. GPIO needs an external pull-down resistor, the internal pull-up resistor for GPIO2 is enabled during boot, so you don't need to add an external one.
To prevent from shorting GPIO0 if it's used as an output in your sketch, it's recommended to add a series resistor to limit the current.

To upload a sketch:
1. press and hold the reset button
2. press and hold the program button
3. release the reset button, the ESP will boot in program mode
4. release the program button
5. upload the sketch  
If your USB-to-Serial breaks out the RTS and/or DTR lines, you can automate the reset and programming mode procedures.

user49530: I had the same issue while uploading to the NodeMCU.
The issue was that the mode was not selected to program mode even after doing the below steps:

press and hold the reset button
press and hold the program button
release the reset button, the ESP will boot in program mode
release the program button
upload the sketch

To solve the issue, do this:

short the pin GPIO 0(D3) to ground using a jumper wire.
press reset button
upload the sketch
remove the jumper wire 

Done!!!!

38494: <p>I am new to the whole arduino scene. I have connected my wifi module (esp8266 v01) to my arduino Uno like this:</p>

<p><a href="http://www.teomaragakis.com/hardware/electronics/how-to-connect-an-esp8266-to-an-arduino-uno/" rel="nofollow noreferrer">http://www.teomaragakis.com/hardware/electronics/how-to-connect-an-esp8266-to-an-arduino-uno/</a></p>

<p>And have downloaded the arduino ide framework so that I may be able to use the arduino IDE as opposed to sending AT commands through the serial monitor. </p>

<p>When trying to upload an example sketch that sends a http request that I found on github, I get the following error:</p>

<pre><code>    Arduino: 1.8.4 (Windows 8.1), Board: "Generic ESP8266 Module, 80 MHz, 40MHz, DIO, 115200, 512K (64K SPIFFS), ck, Disabled, None"

Archiving built core (caching) in: C:\Users\Yasmeen\AppData\Local\Temp\arduino_cache_354217\core\core_esp8266_esp8266_generic_CpuFrequency_80,FlashFreq_40,FlashMode_dio,UploadSpeed_115200,FlashSize_512K64,ResetMethod_ck,Debug_Disabled,DebugLevel_None_____9d1d735445f8d7bf19746e2177d24e71.a
Sketch uses 285417 bytes (65%) of program storage space. Maximum is 434160 bytes.
Global variables use 38688 bytes (47%) of dynamic memory, leaving 43232 bytes for local variables. Maximum is 81920 bytes.
error: failed reading byte
warning: espcomm_send_command: cant receive slip payload data
error: failed reading byte
warning: espcomm_send_command: cant receive slip payload data
error: failed reading byte
warning: espcomm_send_command: cant receive slip payload data
error: failed reading byte
warning: espcomm_send_command: cant receive slip payload data
error: failed reading byte
warning: espcomm_send_command: cant receive slip payload data
error: failed reading byte
warning: espcomm_send_command: cant receive slip payload data
error: failed reading byte
warning: espcomm_send_command: cant receive slip payload data
error: failed reading byte
warning: espcomm_send_command: cant receive slip payload data
error: failed reading byte
warning: espcomm_send_command: cant receive slip payload data
warning: espcomm_sync failed
error: espcomm_open failed
error: espcomm_upload_mem failed
error: espcomm_upload_mem failed
</code></pre>

<p>After looking online and researching, I can see that it has something got to do with flashing the firmware or something. I came across this question:</p>

<p><a href="https://arduino.stackexchange.com/questions/44445/esp8266-error-espcomm-upload-mem-failed-while-uploading-sketch">ESP8266 error: espcomm_upload_mem failed while uploading sketch</a></p>

<p>and the answer did say that he bought a converter.. what does this mean? Does it mean buying this?:
<a href="https://www.amazon.co.uk/gp/product/B06Y3FNGJF/ref=oh_aui_detailpage_o00_s00?ie=UTF8&amp;psc=1" rel="nofollow noreferrer">https://www.amazon.co.uk/gp/product/B06Y3FNGJF/ref=oh_aui_detailpage_o00_s00?ie=UTF8&amp;psc=1</a></p>

<p>I really need help, been stuck on this for the past few days now and seriously contemplating whether to get the arduino wifi shield since it comes prebuilt with wifi.. even though it costs quite a lot!</p>
 4143: <p>The ESP8266 has two "modes". "Run" mode and "Flash" mode.  In "Run" mode the firmware installed onto the ESP8266 executes. The default firmware is the AT firmware that allows you to control the device with AT commands through serial.</p>

<p>Note that the site you link to has erroneous information about CH_PD that should be talking about GPIO0.</p>

<p>In "Flash" mode you get to upload new firmware (AKA a "sketch") to make the device do something different.</p>

<p>The basic programming sequence is:</p>

<ol>
<li>Switch the device to Flash mode (connect GPIO0 to GND)</li>
<li>Upload the sketch using the IDE</li>
<li>Switch the device to Run mode (connect GPIO0 to 3.3V).</li>
</ol>

<p>Because of these extra steps many people choose to invest in a small USB interface board designed specifically for programming the ESP8266 to make their life easier. These generally have a switch on them to set whether GPIO0 is connected to GND or 3.3V.</p>
 37857: <p>By default, the ESP8266 runs the program in flash memory.
To upload new firmware over UART, you have to change the boot mode by connecting GPIO0 to ground during reset. 
GPIO15 should be low and GPIO2 should be high during boot in both cases. GPIO needs an external pull-down resistor, the internal pull-up resistor for GPIO2 is enabled during boot, so you don't need to add an external one.<br>
To prevent from shorting GPIO0 if it's used as an output in your sketch, it's recommended to add a series resistor to limit the current.</p>

<p><img src="https://tttapa.github.io/Images/ESP8266-2.png" alt="ESP8266 schematic"></p>

<p><strong>To upload a sketch</strong>:<br>
1. press and hold the reset button<br>
2. press and hold the program button<br>
3. release the reset button, the ESP will boot in program mode<br>
4. release the program button<br>
5. upload the sketch  </p>

<p>If your USB-to-Serial breaks out the RTS and/or DTR lines, you can <a href="https://tttapa.github.io/ESP8266/Chap06%20-%20Uploading.html" rel="nofollow noreferrer">automate the reset and programming mode procedures</a>.</p>
 49530: <p>I had the same issue while uploading to the NodeMCU.</p>

<p>The issue was that the mode was not selected to <code>program mode</code> even after doing the below steps:</p>

<ol>
<li>press and hold the reset button</li>
<li>press and hold the program button</li>
<li>release the reset button, the ESP will boot in program mode</li>
<li>release the program button</li>
<li>upload the sketch</li>
</ol>

<p>To solve the issue, do this:</p>

<ol>
<li>short the pin GPIO 0(D3) to ground using a jumper wire.</li>
<li>press reset button</li>
<li>upload the sketch</li>
<li>remove the jumper wire </li>
</ol>

<p>Done!!!!</p>
