user50292: I am trying to upload something directly to the ESP8266 using the ESP8266 IDE. 
I have configured the ESP8266 to communicate at 9600 using UART_DEF and I have set the ESP8266 IDE at 9600. I see some tutorials that say to use a FTDI but I only have a Serial to TTL cable (note it even says at the bottom that it's not good for Arduinos :( ) and  am making the following connections:

ESP8266 RX - TTL cable TX
ESP8266 TX - TTL cable RX
ESP8266 GND - common GND
ESP8266 VCC - External 3.3V
GND from External 3.3V - common GND
ESP8266 GPI0 (through a 10k resistor) - common GND 
ESP8266 GPI2 (through a 10k resistor) - External 3.3V  
EPS8266 CH_PD - External 3.3V (sorry, that was wrong before) 

However, when I upload that sketch I get an error that the board cannot be found. I have read online that the ESP has some bootloader mode that needs to be activated but haven't found great instructions on how to do that. Any advice would be appreciated.
FYI I also have an Uno if that is any help. I have communicated with the ESP8266 through the Uno before (connecting the Uno reset to ground) .

user4143: The cable you point to is fine for programming the ESP8266. The only reason it's not "good" for an Arduino is the lack of a DTR signal to trigger a reset for you - which you can do manually anyway and still use it for an Arduino (if your reactions are fast enough).
You have no such problem with the ESP8266. Once you have it in bootloader mode it stays in bootloader mode until you tell it to exit bootloader mode.
First make sure that the ESP8266 is actually set up to run properly. That means:

Connect CH_PD to 3.3V, not GND, through a pull-up resistor.
Connect GPIO0 to 3.3V via a pull-up resistor.
Connect RST to 3.3V via a pull-up resistor.

Then for simplicity of programming:

Connect a button between RST and GND
Connect a button between GPIO0 and GND

To enter bootloader mode simply hold the GPIO0 button in, tap the RST button, then release the GPIO0 button.  When you have successfully uploaded your firmware just tap the RST button to exit bootloader mode.
ESP8266 boards with a built-in USB interface usually use both the DTR and the RTS pins to control both those buttons virtually. That's somewhat complex to arrange for an external USB to TTL UART adaptor, so it's simpler to just press the buttons manually.

Here's a link to a website that details the circuit and operation using an ESP-01 as an example.

50292: <p>I am trying to upload something directly to the ESP8266 using the ESP8266 IDE. 
I have configured the ESP8266 to communicate at 9600 using UART_DEF and I have set the ESP8266 IDE at 9600. I see some tutorials that say to use a FTDI but I only have a <a href="https://www.adafruit.com/product/954" rel="nofollow noreferrer">Serial to TTL cable</a> (note it even says at the bottom that it's not good for Arduinos :( ) and  am making the following connections:</p>

<ul>
<li>ESP8266 RX - TTL cable TX</li>
<li>ESP8266 TX - TTL cable RX</li>
<li>ESP8266 GND - common GND</li>
<li>ESP8266 VCC - External 3.3V</li>
<li>GND from External 3.3V - common GND</li>
<li>ESP8266 GPI0 (through a 10k resistor) - common GND </li>
<li>ESP8266 GPI2 (through a 10k resistor) - External 3.3V  </li>
<li>EPS8266 CH_PD - External 3.3V (sorry, that was wrong before) </li>
</ul>

<p>However, when I upload that sketch I get an error that the board cannot be found. I have read online that the ESP has some bootloader mode that needs to be activated but haven't found great instructions on how to do that. Any advice would be appreciated.</p>

<p>FYI I also have an Uno if that is any help. I have communicated with the ESP8266 through the Uno before (connecting the Uno reset to ground) .</p>
 4143: <p>The cable you point to is fine for programming the ESP8266. The only reason it's not "good" for an Arduino is the lack of a DTR signal to trigger a reset for you - which you can do manually anyway and still use it for an Arduino (if your reactions are fast enough).</p>

<p>You have no such problem with the ESP8266. Once you have it in bootloader mode it stays in bootloader mode until you tell it to exit bootloader mode.</p>

<p>First make sure that the ESP8266 is actually set up to run properly. That means:</p>

<ul>
<li>Connect CH_PD to 3.3V, not GND, through a pull-up resistor.</li>
<li>Connect GPIO0 to 3.3V via a pull-up resistor.</li>
<li>Connect RST to 3.3V via a pull-up resistor.</li>
</ul>

<p>Then for simplicity of programming:</p>

<ul>
<li>Connect a button between RST and GND</li>
<li>Connect a button between GPIO0 and GND</li>
</ul>

<p>To enter bootloader mode simply hold the GPIO0 button in, tap the RST button, then release the GPIO0 button.  When you have successfully uploaded your firmware just tap the RST button to exit bootloader mode.</p>

<p>ESP8266 boards with a built-in USB interface usually use <em>both</em> the DTR <em>and</em> the RTS pins to control both those buttons virtually. That's somewhat complex to arrange for an external USB to TTL UART adaptor, so it's simpler to just press the buttons manually.</p>

<hr>

<p><a href="https://www.allaboutcircuits.com/projects/breadboard-and-program-an-esp-01-circuit-with-the-arduino-ide/" rel="nofollow noreferrer">Here's</a> a link to a website that details the circuit and operation using an ESP-01 as an example.</p>
