I learnt about Arduino 2 years ago.So I started playing around with simple stuff like LEDs,buttons,motors etc.Then I thought wouldn't it be cool to connect to do stuff like displaying the day's weather,stock prices ,train timings on an LCD display.I found that this could be done by sending and receiving data through the internet.So the solution was connecting to intenet. There began my search on how to connect the Arduino to internet and send and receive data.I learnt about wifi modules on the internet and found them to be very costly.Then I learnt of the ESP8266.

I read a lot on the internet on the ESP8266 module about a year ago and bought one but got about to work with them just last month.At the time there was no extensive information available.However now a lot of documentation,videos are are available on the internet regarding firmware,AT commands,projects etc.So I decided to get started.

I wrote this instructable as a beginner's guide as I faced a lot of problems in wiring up and getting started with the ESP8266.So I decided to write this Instructable so that other people who encounter problems with their modules can resolve them faster

In this Instructable I will try to show

  • How to hookup an ESP8266 and communicating with it through Arduino Uno.
  • I will also try to show how a tweet can be sent through it using Thingspeak.

What can the ESP8266 do?It is limited by your imagination.I have seen projects and tutorials on the internet showing how to fetch a city's temperature, stock prices,sending and receiving emails ,making phone calls and much much more.I will show in this Instructable how to send a tweet.

Step 1: Things You Will Need

Here are the things you will need.Most of these may be bought from any electrical store or online(I have provided the links for reference).

  • 1xESP8266(ESP-01) -ebay
  • 1xBreadboard adapter(learn how to make one here or use some jumper wires)
  • 1xLM2596 -ebay
  • 1xLogic level converter -ebay
  • 1xArduino Uno
  • USB cable for Arduino Uno
  • 1xBreadboard -ebay
  • Wires -ebay
  • Arduino IDE
  • An account with Thingspeak

The total cost will be around Rs 600(about $9).I have excluded the cost of Arduino Uno as it depends on whether you want an original or a clone.The cheapest clones are available at around Rs 500(about $4).

<p>Well done.</p><p>Ofcourse also very well possible just with the ESP8266 alone, but handy if you want the UNO on internet</p>
<p>I'm stuck at step 10. The AT command doesn't return anything. When I uploaded the blank sketch, the ESP blinked some blue leds. What should I do?</p>
<p>as i'm totally new to esp8266 i cant able to make my esp8266 work even after burning empty sketch module is not responding for AT commands... will you help me please...</p>
<p>if you burned an empty sketch, your AT respond program is gone.<br>Why not try burn the blink program?</p>
<p>mmm sure my friend i will try that....</p>
<p>Thank you dude. I've read countless &quot;beginner&quot; tutorials about the <br>ESP8266 but none of them are beginner at all, they just show how to wire<br> it but no actual explaining of how to actually talk to it or why they <br>are<br> using so many additional things like FTDI boards and stuff... I just <br>wish you used actual code for it instead of typing things directly in <br>the monitor<br><br>But I don't understand why you use both the LM2596 and the logic converter... If the power supply transforms the 5v into 3.3v, why don't you put the Arduino pins through it as well? Or Arduino's 5v through the logic converter?</p>
<p>OK. I solved my problem, I share the result for the ones who are interested.</p><p>Total number of characters in your GET.... string should be exactly 110 chars since you set your payload length to 110. This 110 includes the cr/lf at the end. So in your terminal window you have space for 37 chars of tweet text. If your text is longer, it is not delivered. If shorter, you should complete it by hitting the enter key repeatedly until it is completed, if you just wait without completing, transmission again fails. Subhan95 already told that in his prescription but it was useless in my case since my trial tweet was already exceeding the limit.</p>
<p>Thanks a lot for this helpful guide. But I still could not deliver a tweet yet. I got OK result from GET/POST Command (I tried both of them.) but no tweet message in twitter. Thingspeak setup has gone smoothly, I got API KEY for twitter. What could be the problem?:</p><p>...</p><p>AT+CIPSEND=1,110</p><p>OK</p><p>&gt; POST /apps/thingtweet/1/statuses/update?api_key= ..xxx.. &amp;status= first message</p><p>POST /apps/thingtweet/1/statuses/update?api_key= ..xxx.. &amp;status=first message</p><p>busy s...</p><p>SEND OK</p>
after AT command I am not getting ok ,what should I do plz help me<br>
<p>Are your esp module pins wired correctly? Try swapping rx and tx pins.</p>
<p>thanks. this helped me out a lot.<br>but in kevin darrah's youtube tutorial that you mentioned he connects tx to rx and rx to tx but you connnect them the other way. my esp8266 only works when i connect like you but i watched tons of other tutorials and they connect like kevin. <br>i'm confused?!</p>
Great dude! Tnx!
<p>Thanks a lot for posting this, my only complaint is that you never say what a ESP8266 is. (Of course I figured it out eventually). But for those of us not up on the latest part number buzz this would make your write up more complete </p>
<p>Nice! This is exactly what I was looking for</p>
<p>Glad it helped.</p>
<p>Great tutorial :)</p>
<p>This looks like the most useful article I've seen on using an ESP8266. Thanks!</p>
<p>Glad it helped :)</p>
<p>A note on two mistakes: </p><p>Reset does not erase the firmware. It just reboots the module with the same firmware</p><p>GPIO1 is GPIO2 (as in the figure above).</p>
<p>Thanks for the heads up.</p><p>The GPIO1 was a typo.</p><p>As regards to the reset one of my older ones doesn't respond when I connect reset to gnd.However I tried it on another module that I have and it confirms what you stated. </p>
<p>Is there a way to get the original FW back into the ESP8266? (I put in my ESP an .ino script to test) Because now I can not do AT commands.</p>
<p>Yes there is .Make the connections as given except connect GPIO0 to ground.Download the flasher tool from here</p><p><a href="https://docs.google.com/uc?export=download&id=0B_BzxRImIcd-YXVfZTIyYURqdGc" rel="nofollow">https://docs.google.com/uc?export=download&amp;id=0B_B...</a></p><p>Chose the appropriate flasher according to your system(32 bit or 64 bit).</p><p>Select the appropriate COM port and click on the flash button(the one having F written).Even though it is in Chinese it is quite simple.</p><p>The best part is you can do this using Arduino Uno.</p>
Thanks very much, it works.
<p>Nice article. </p><p>I found from Aliexpress Wemos ESP8266 module where is USb connector,</p><p>so you don't need buy USB-serial converter and level converter.</p><p>You can connect this module directly to USB, module costs 4.00 $</p><p><a href="http://goo.gl/p25r20" rel="nofollow">http://goo.gl/p25r20</a></p>
<p>Hello,<br>it is possible to send images one camera?</p>
<p>Nice Article.<br>Used the ESP8266 for Wifi controlled LED lamp. Unfortunatly the module is not really stable and often need a reboot when jammed.</p><p>But it's a fun, unexpensive little module to play with :)</p>
<p>Great tutorial thanks.</p>
Thanks for the info!

About This Instructable




More by Subhan95:Beginner's guide to ESP8266 and tweeting using ESP8266 Gesture controlled robot using Arduino Remote controlled robot using Arduino and T.V. remote 
Add instructable to: