ESP8266 Wi Fi Module Explain and Connection

Introduction: ESP8266 Wi Fi Module Explain and Connection

About: Hi, I'm Matej and I'm a student of Electrical Engineering. I have been working with electronics for more than 7 years and have lots of knowledge, projects and lots to share along my path, so this page is jus...


I am Matej and in this instructable I'm going to show you how to use the ESP8266 Wi-fi module. I know that there is a lot of videos and forums telling how to use this device, but none of them were colorfull or easy enaugh to understand. I also didn't manage to make the device work by following other's people steps. I hope that you will find this tutorial usefull.

I also apologize for any misspelling.

*A little update. As promised, I made another instructable. This is about much easier wireless comunication, the Bluetooth. I Combine Bluetooth AND ULTRASONIC SENSOR. I also used this in my car for a school project. Make sure to check that one out :) *



Step 1: THE ESP8266

To make everything work, you need to understand what each part does and what is the pinout for that part.

I'll start with the ESP8266. As shown in the picture, ESP8266 has 8 pins, 4 in the row of 2. The first pin on the top left is GND. The two pins right from the GND are GPIO 2 and 0. I'm not going to use these pins, as they are not impirtant for the operation. The pin on the top right side is the RX pin and the pin on the lower left is TX. These are the pins for comunication. The middle pins on the bottom are CH_PD(chip power-down) and RST(reset).

The main thing to remember is, that this device works with 3.3V;even the RX and TX pins. Arduino or many USB to serial converters work with 5V. The solution for this project is in the next step.

Step 2: THE FTDI232R

For this project I used this FTDI232R module. I bought it from ebay to have a reliable USB to serial converter. I didn't noticed it when I bought this part, but when I got it I saw, that it has a jumper to switch the operation from 5V to 3.3V. This makes everything easy, as we can connect the two parts together as it will be shown in the later picture.

I also soldered an extra connector for the 3.3V power to make connecting easy.

If your device doesn't have this option, than I will tell you how to work with 5v devices in the next few steps.

(I bought this ft232r and came in a nice package )


The picture shows how to connect the two parts together.

The CH_PD and the RST pins must be high(connected to 3.3V) to have a normal operation.

If you have any questions about the connections or that your part isn't working, write in the comments :)

Step 4: A Little Bit of Hardware

As you have already noticed, those 8 pins of the ESP8266 are not breadboard friendly. So that's why I made an adapter with female and male headers. I hope that the pictures describe it well.

Step 5: Connecting to the Computer

The pictures are showing the final resault. if you connected everything right, like I sowed you before, you're good to go.

To connect the FTDI232R to the computer, I used this USB mini cable. Than I installed the drivers and connected power to the ESP8266.

Step 6: Talking to the ESP8266

To comunicate with the ESP8266, I used Arduino IDE( ) and don't be confused of the version 1.5.8. I have Arduino DUE, so I need that version.

So, when you open the IDE, choose the correct serial port for your FTDI and click on the Serial monitor.

Once you have opened the Serial monitor, you must set the first option to NL & CR and the baud rate. When it comes to baud rate you have 2 choises. I bought this esp8266 around 3 weeks ago. Therefore, it has firmware 902 apart from older esp8266 that have firmware 900. For this newer model, the default baud rate is 9600, for the older is 115200.

Once you set that, type in the box AT and it sould return OK. This device comunicates via AT comments( )

(every command step is a separate picture)

To check firmware type AT+GMR

To set the module to accept connections type AT+CWMODE=3(my was already in this mode, as shown in the picture)

To search Wi fi networks around type AT+CWLAP
It will display Wi fi networks around you

To connect to a network type AT+CWJAP="Wifi SSID","password"

To find your IP adress type AT+CIFSR

After every command it returns you OK

You can also see it transmiting Wi fi signal on the last picture.


So, if you have a communicator like ftdi, that doesn't have an option to set the logic voltage, do the following.

Almost every USB to serial converter has built-in voltage regulator for 3.3 volts(the chip operates with that). So, you can find that pin or a pad and connect it to the pins like normal. FOr the communication is a liitle bit trickier.

The signal from the esp8266 from TX pin is 3.3V which is enaugh for the communicator. But the 5v from the TX of the communicator can kill the esp8266!!!!!! Therefore you must build a voltage devider. If you don't know what that is; it's a simple construction made of resistor. In our case, we will use 1k and 2k resistor. We connect these two in series with TX pin of the communicator to 1k resistor and GND to the 2k resistor. The junction between the resistor is connected to the RX of the ESP8266.

The picture describes this perfect.

Step 8: OTHER

You can also watch this guy who also explained how to update the firmware for older models. He did all the same, but I showed it much slower and colorfull. Credits to him as well. ( )

Now I'm working with connecting ESP8266 to Arduino(Uno or Due) for email notifier and making use of a little ethernet board, to make wifi spot.

If you have any questions you can write down in the comments. I will respond to as much as I can.

Thank you for watching :)

3 People Made This Project!


  • Water Contest

    Water Contest
  • Creative Misuse Contest

    Creative Misuse Contest
  • Fix It! Contest

    Fix It! Contest

110 Discussions

if I don't have any router/modem then esp8266 will work with android directly or not???

(ESP8266 ==> android)



9 months ago

Can it be hooked with lily tiny/ twinkle ?

1 reply

Yes you can. I would implement a SoftwareSerial library and connect it to esp8266 and talk to it and get data via serial. There are other ways but this is one that i could think for. But that means to sacrifise 2 pins!

Good afternoon,

Thank you for the write up/tutorial! Is the only bit of coding in step 6?

I am struggling with ESP8266 for past 2 weeks.

I have made all the connections as you and several other tutorials have mentioned. I am using an external power source for the ESP.

I am not getting any response for AT. The serial monitor just remains blank. I have tried with different baud rates(9600 & 115200). I have noticed that whenever I connect CH_PD pin to 3.3V, my onboard red LED of ESP goes off. When I remove the CH_PD pin from 3.3V, the LED turns back on. All the tutorials have mentioned that the CH_PD pin must be kept at 3.3V. But on making this connection my LED goes off and the voltage between GND&VCC and also GND&CH_PD drops to about 0.8V when measured with a multimeter. Can you please suggest what needs to be done to get the ESP8266 working.

5 replies

I would think that from your description of the problem that your esp8266 board is faulty as it shorts something inside and therefore yor input voltage drops. I would suggest to check for shots, wiring and if nothing works, then you can start blaming the board. Faulty esp chips are not rare. At my university, a third of them died from "improper soldering" and a lot of them died because of too many flashes. That way the board bricks itself. Keep me updated.

To check the possibility of esp8266 burning out, i bought a new esp module today. However, exact same problem persists. Following are the connections that I have done:

ESP GND -> external GND
ESP Vcc -> external 3.3V
ESP RST -> external 3.3V
ESP CH_PD -> external 3.3V

My external source is a 5V power source with 2A current rating. I have used three 1k resistors to get 3.3V. I had also checked the voltages with multimeter before connecting to the esp module. All tge voltages were between 3.27V to 3.3V. I am really stuck at this and I'm not understanding what am I doing wrong. Please any help would be greatly appreciated!

Hi. I see. You can never, well for the most of time and only for really small current devices, use resistor dividers as power source. You can use them to step down signal voltages like between esp and 5v arduino but not for huge and fast signals as resistor dividers are slow. You should allways use fet signal switching for loads of data at high speed.
To get back to your problem, as esp uses A LOT of powerr, as for 70-80mA the resistor divider colapses and therefore your output voltage drops. Use a proper 3.3V regulator from your 5v power source or a dedicated 3.3v power supply that can handle at least 200mA

Is it possible to connect arduino board and wifi ESP8266 module without additional FTD1232R?

1 reply

Yes you can connect ESP8266 with arduino board without FTD1232R.. You need to connect the ESP8266's VCC, CH_PD and RST with 3.3 volt arduino's supply. Even you can directly connect serial UART pin of both devices. It will work but better use any voltage level converter to avoid any damage to ESP8266.

Hey. I used arduino to upload the code to my esp8266. Following is the error I am getting. Can you kindly help me with this?

1 reply

check out ur usb connections is that correct? that problem can be from the board, sory for my english language

You have successfully connect FDTI 232 R with esp 8266, but how to connect arduino with esp 8266 ?

Hey, first of all, thanks for making this, and i am just curious, if you're from Slovenia... Just wondering, because i live in SLO. It's just nice to see my nation on this website...

2 replies

Yep, sm ja. Hvala ti. Zaključujem srednjo, in po tem planiram naredit novo verzijo za esp8266 in nekaj v povezavi z merjenjem, kot moja vremenska postaja.


Yes, I am. Thank you. I'm finishing high school now and I'm planing to make a new version of the tutorial for esp8266 along with measuring as in my weather station project.

No, super! Veliko sreče pri zaključku srednje šole in izdelovanju novih projektov!

i made all stepps for it successful.

But it's impossible to get a WIFI connection. What's running wrong?

Greetings, Mathias