This instructable will cover the basic steps that you need to follow to get started with the ESP8266 ESP-12.

A lot of this content is already out there, but I had a hard time getting everything in place, and the different tutorials can cause a great deal of confusion, which is why I have tried to make the simplest setup possible.

Specifically, this instructable will cover how to make the ESP-12 behave as a WiFi client by connecting to your home wireless network and how to send sensor data ( we will send random numbers to test, and will not really be covering sensors in this instructable) to a Thingspeak channel.

The following are the materials we will be using :

1. ESP8266 ESP-12 module

2. CP2102 USB to UART Serial module

3. LM1117 3.3V Voltage Regulator

4. Jumper Wires

5. 5V Power adapter

Step 1: Breakout the ESP8266 ESP-12 onto a perforated board

The ESP-12 has a 2mm pitch, which means you cannot access all the pins on a breadboard or a perforated / dot matrix directly, which have a 2.54mm pitch (distance between adjacent pins).

You could use a Xbee adapter board, but there's an easier way out. Take a small length of single strand cable or multi strand cable, and get a spider web breakout like this. I added two rows of pinouts, to make sure the pins were handy. Here's what it looks like.


<p>Hi,</p><p>I am not able to type any AT commands in Arduino Serial Monitor or in Putty. I am using 9600 baudrate.</p><p>When I connect REST to GND, I see the messages [System Ready, Vendor:www.ai-thinker.com]. But I am not able sent any commands.</p><p>This is my configuration. </p><p>Tx of ESP8266 -&gt; Rx of CP2102</p><p>Rx of ESP8266 -&gt; Tx of CP2102</p><p>GND of ESP8266 &amp; GND of CP2102 -&gt; GND of LD33V</p><p>VCC of ESP8266 -&gt; VOut of LD33V</p><p>GPIO15 -&gt; GND</p><p>CH_PD -&gt; VCC</p><p>GPIO2 and GPIO0 -&gt; VCC</p><p>Any inputs on this will be much appreciated :)</p>
<p>first u have to check the baud-rate of your esp , probably it's working on 115200</p><p>after connecting don't forget after typing AT to press CTRL M then J</p>
<p>You should check if your ESP board supports 9600 baud rate. Most of them only support 115200 baud rate, unless you upgrade the firmware.</p>
<p>Thank you so so much. I didn't know what was I doing wrong. I had everything properly installed and it wasn't working. Changing the baud rate from 9600 ---&gt; to 115200 immediately fixed the problem. </p>
<p>Try to connect RX of ESP to RX of serial, and TX of ESP to TX of serial. all other as you are connecting now. </p>
<p>This might be an issue with the Reset pin, did you try pulling it up ?</p>
Yes I tried connecting RST-&gt; VCC. But it was still giving repeated System ready messages.
<p>I had to set baud rate to 115200 for esp-12f.</p><p>Before AT+CWJAP command I had to use AT+CIPMUX=1</p>
<p>Note that I find that AT+CIPMUX=1 needs to be done on each reset</p>
I want to control 6 relay for home automation.which ESP should i use?
<p>Thankyou <a href="http://www.instructables.com/member/ankitdaf/" rel="nofollow">ankitdaf</a>,<br>I was messing around with this ESP-12 and was not able to make it respond.</p><p>This instructable has helped working my ESP.</p><p>Regards.</p>
I hooked TX to TX &amp; rx to rx and got mine going.
<p>yeah, some USB to serial converters work like this, I have a PL2303 which works like this.</p>
<p>Hi Dawer,</p><p>I have a PL2303 module. my connections are following</p><p>tx of TTL converter to rxd of esp, similarly rx of ttl to TXD of esp.</p><p>GPIO0 is grounded. I am not getting any out on the serial monitor (not for any speed).</p><p>You are saying i should exchange the wires right. </p><p>Can you please help. </p>
<p>Got to work successfully.</p><p>I forgot to reset the device after connecting to ttl. Needed to adjust the speed to 115200 baud, and then hurray...</p><p>Ai-Thinker Technology Co.,Ltd.<br><br>ready<br>AT<br><br><br>OK<br>AT+GMR<br><br>AT version: 8 2015 14:45:58)<br>SDK version:1.3.0<br>Ai-Thinker Technology Co.,Ltd.<br>Build: Sep 11 2015 11:48:04<br>OK</p>
<p>hi dawer_saeed, i have PL2303 too. But i cannot upload the sketch. Can you share the connection? Thanks</p>
<p>can you please post your connections what you are doing?<br>it would be good if you could post a fritzing circuit diagram.</p>
Still struggling with it, making some progress. Using the common connections. Only confusion is GPIO2 which SOME say it needs connected to +3.3. NO decent docs ANYWHERE n the web. :) I'm doing Arduino only with it.
<p>Actually you dont need to hookup the GPIO2 at all to make it working.</p><p>can you share your current circuit you have made?</p>
<p>Progress here! See my post elsewhere on the 12-e post. No one has mentioned that FOUR files need to be flashed to it - but I did and it works. How are you doing with yours?</p>
@BoB6, can you please post the link here to your post?
<p>BTW, how did you figured it out, that some other GPIOS also needs to be connected to Vcc or GND?<br>Did you get any official document on ESP-12?</p>
<p>Great! i made it. it was a little confusing the pinout but reading some comments i can see <a href="http://www.instructables.com/member/kaushikw" rel="nofollow">kaushikw</a> comment about different diagrams shown. Also mi esp come with an adapter module that you have take care and desolder the &quot;0 ohm&quot; resistor in red.</p><p>and it has two resistors included for piup and pindown.</p><p>Finally i can improve mi first design and now it has no wires! you can call them mark1 and mark2 and making the second listen to the song has no price!</p>
<p>Thank you for your setup, it help me.</p>
<p>ESP8266 E12</p><p><br>ERROR WHILE UPLOADING .......<br><br>warning: espcomm_sync failed<br>error: espcomm_open failed</p>
<p>If that can help.</p>
<p>I'm still confused what GPIOs 15 &amp; 2 need to be set to for normal boot mode (not flash mode). Can someone please clarify?</p>
<p>I think the connection diagram you've posted is for FLASHING the ESP8266 and the whole article is about RUNNING it. As it has GPIO 0 connected to GND and GPIO2 connected to High.<br>Hence a lot of confusion. <br><br>Correct me if i am wrong.</p>
<p>Thank you for helping me get a bare ESP8266 12e working. I did have two problems though. 1. I printed out the entire PDF with the instructions and it differs from the current instructions in that it says to connect GPIO 0 to ground. It has been corrected in the online instructable, but not the PDF. 2. The LED on the ESP8266 model never lit up, but at least the connection to the internet works!</p>
<p>Hi</p><p> In you instructable you say GPIO2 must be high, connected to 3.3v yet in other users designs theyhave said GPIO2 can be used as a normal GPIO port , </p><p>which way is correct ?</p>
<p>It has to be high to program and can be anything to use it. How you program it and its function afterwards are different things</p>
Thanks for explaining<br><br>So if I tie GPIO2 high through a 10k resistor it will be held high while I <br>program it but I can still use it as a normal I/O afterwards<br><br>One other question . Can I use GPIO16 as a normal I/O ? Some one said they thought it can be used but as an output only <br><br>Cheers<br>Don
<p>Doesn't quite answer your question but:<br><br>GPIO16 is often connected to RST to allow you to use deep sleep modes.<br><br>(GPIO16 goes low after the required time which resets the chip)<br><br>It appears that some manufacturers of 12's actually link them internally while others leave it to you as an option.</p>
I'm not 100% sure but think of it in terms of a circuit you build to program and another to run whatever you want to build. I think you wouldn't call it a gpio without it being both
<p>I am trying to flash nodemcu firmware to ESP-12M. The flasher stops after flashing half the firmware. Am I missing on any settings?</p><p>Any help is appreciated.</p>
<p>hi, </p><p>i have an error when i try</p><p><strong>AT+CIPSTART=&quot;TCP&quot;,&quot;api.thingspeak.com&quot;, 80</strong></p><p>and you?</p>
<p>I had the same problem, you probably copied this line from instructions above and there is unwanted spacing between &quot;,&quot; and &quot;80&quot;.</p><p>Try this and it should work:</p><p><strong>AT+CIPSTART=&quot;TCP&quot;,&quot;api.thingspeak.com&quot;,80</strong></p>
<p>thanks , i think it's ok now , i will try this week end</p>
<p></p><p>Very interesting.<br>But why after CIPSEND AT + 70 =<br>The thingspeak.com site is &quot;CLOSED&quot; after 10 seconds?</p><p>Georges</p>
<p>hi </p><p>i am facing a problem when connected to atmega8 controller.when i send at commands the module is responding with error acknowledgement.but the module is working fine when connected using serial port..Can anyone help me out on this..what might be the problem??</p>
<p>Thanks for the detailed instructions and the quick thingspeak connection to test my ESP out :)</p>
<p>Nice. I like this.<br>But will there be no problem with the RX/TX from the USB Device? Aren&acute;t they in 5V too?</p>
<p>For full info on these chips go to<br><br></p><p><a href="http://www.esp8266.com/wiki/doku.php" rel="nofollow">http://www.esp8266.com/wiki/doku.php</a></p>
<p>Anyone know of a chart that shows how all the ESP8266 versions (ESP-1 - ESP-13) differ?</p><p>For example, do they all have an programmable SOC? i.e. You can program the on board Arm so that it's a standalone solution (no external arduino/host needed).</p><p>Also if you do program bare-metal, is all the tcp/ip (uip?) stack open source, or is there functionality that come as pre-compiled libraries?</p>
<p>I'm just getting started with these, myself, so I only have limited info for you. I found this blog entry helpful. It only covers a few of the ESP modules in its chart, but it's got some good explanatory notes that will prime you for comparing the others yourself. </p><p><a href="http://blog.squix.ch/2015/03/esp8266-module-comparison-esp-01-esp-05.html" rel="nofollow">http://blog.squix.ch/2015/03/esp8266-module-compar...</a></p><p>I believe they're all using the same SOC, but differ in the number of pins they bring out, and whether they have a PCB antenna or a connector. One of the best comparisons I've found was an ebay seller who just lumped the PCB layouts for ESP 01 through 11 into a big JPEG as one of the illustrations for his auction. It has board dimensions, and labels for all the pads so you can tell which pins are available. The seller is tomyuen007. I bought my first couple of evaluation units from him, and I'll be going back to him for more: his prices aren't much higher than buying from China, and I got the boards from my Thursday night order on Monday. </p><p>One caution: I bought his ESP-12 board with the attached AA battery holder. But it'll only work with alkalines: three NiMHs don't provide enough headroom for the 3.3V regulator. So I'm going to have to whack it off and replace it with a 4-cell holder to use rechargables. It also won't run off 1S LiPos, according to the regulator datasheet :-(</p><p>I'm starting off with the Arduino IDE for programming them, because I've been using it for years for ATMega chips. But I'm also going to give NodeMCU a try: the examples I've seen suggest you can do simple, non-time-critical jobs much more easily than in C, even with the help of the Arduino(-ish) libraries.</p>
<p>Thanks, great info! </p><p>I was hesitant about NodeMCU because I've never used Lua before.. although I hear it's sort of similar to the Squirrel scripting language. </p>
<p>I took a quick look at the &quot;introduction&quot; pages for Lua and Squirrel, and they are somewhat similar. In fact, the Squirrel page says they took their implementation of &quot;tables&quot; (which are sort-of a mix of hashes and arrays in other languages) directly from Lua.</p><p>You can get a Lua environment on your desktop to try it out without having to debug via the ESP. And the online tutorial at lua.org looks pretty decent. It should be interesting to learn: it has similarities to Perl, but I've already noticed a couple of little differences that'll trip me up as I switch between them ;-)</p>
when I press the enter key, the light is on in esp. it doesn't display in my serial. Any idea ? thanks.

About This Instructable




More by ankitdaf:Turn your CC2541 based HM-10 Bluetooth Smart Module into an iBeacon Getting Started with the Daflabs ESP8266 ESP-12 Breakout Board Getting Started with the ESP8266 ESP-12 
Add instructable to: