Introduction: Guide to ESP8266 for Beginners

Hello everyone

For most of the newbies to IOT, ESP8266 is a holy grail and becouse there is no good documentation on ESP8266 ,they start to get confused .ESP8266 is very new it was developed my chinese manufacturer after that it has become popular in 2014 .In this instructable I will try to help you guys in problems that usually ESP8266 beginners face and after that I will brief you programming of esp8266.

If you want to know ESP8266 in detail then this video is for you

problem 1:choosing the version of esp8266

The first obvious confusion is the version .

If you are new then go for esp8266 esp-01 ,the problem with this version is number of GPIO(general purpose i/o) pins but this is not the concern for you being beginner.You will get lots of tutorials and projects on this version.

problem 2:choosing the programming language

ESP8266 is a self contained SOC (system on chip) so it can be programmed as a standalone chip.


  1. lua language
  2. c++(arduino IDE)
  3. micropython

choose any one of them ,well i chose c++ because i am more comfortable with arduino IDE.

apart of programming it u can use it as a slave to receive and transmit data to microcontrollers like arduino(atmel atmega328) by AT commands .

problem big:connection

Here comes the big problem CONNECTION.

I have divided this problem in two parts:

  1. connection to arduino: if you are connecting it with arduino then it is easy just give 3.3v to vcc and chip enable ,gnd to gnd,rx->tx ,tx->rx.But if you giving power to it by some power source then make sure gnd of source and gnd of arduino is connected.
  2. connection using usb to ttl converter: rx->tx ,tx->rx,vcc->3.3,chip enable->3.3,gnd->gnd

These connections are for AT command mode if you are planning to program esp8266 then you have to connect GPIO0 to gnd.

If you are getting uploading error then remove the power source (vcc) and quickly connect it to esp8266 and without giving any delay click upload .

If you are programming it through arduino IDE go to tools and change flash mode to DOUT if your code is not running in ESP8266.

NOW get familiar with this wifi module .Follow these steps

Step 1: AT Commands

First use AT commands to program ESP8266 ,It will help you to understand esp8266 more.

GO to this video for learning AT command sets


get required AT commands :

Step 2: Connect It to Arduino

make a Arduino program to give AT commands in sequence .

This video is really good go through this

Step 3: Program It Using Arduino IDE

flash a c++ program to esp8266 using arduino IDE.

start by connecting to wifi network

You can take help of these super simple video tutorials and make cool things out of esp8266

If you have any doubt just leave a comment below I will try to help you out.