I am doing my engineering degree. I want to make a project connecting multiple ESP8266 with a router and control multiple relay boards. I am unable to use ESP8266 12E with Arduino. I used this connection shown in the link below, but it didn't work. So please help me with the solution. I also referred to all possible posts, but it didn't help. Please help me as soon as possible.


post: How to connect ESP8266 12e directly to Arduino Uno (without shields)

  • 2
    In engineering, you'll have to use valid sources and constantly validate your choices (and explore options). Why would you even use an Arduino + ESP8266, if you can use an ESP8266 dev board (with USB) instead of an Arduino (+ESP)
    – Paul
    Nov 22, 2016 at 23:03
  • Have you also checked the answer on that question? You could check other sources and see if they validate that connection, or simply do it conoletely different (try to explain why thuis connection is right, and other aren't)
    – Paul
    Nov 22, 2016 at 23:11
  • i already bought arduino and because of my budget i am unable to buy dev board. So is there a way by which i can integrate esp8266 12e(without wifi shield) with arduino Nov 23, 2016 at 10:48
  • They're around 4$, but you could also use an Arduino (or USB<->serial chip) to program the ESP8266 directly.
    – Paul
    Nov 23, 2016 at 17:04
  • But, have you checked other sources? And what firmware is installed on your ESP8266?
    – Paul
    Nov 23, 2016 at 17:05

4 Answers 4


I agree with Paul, you shouldn't use the Arduino, you can get break out boards at £1 for 10, but that's not what your problem is...

You are using a couple of resistors to do the level shifting taking the 5V to 3.3V. This is a bad plan, you need a proper bidirectional level shifter, particularly at higher baud rates, i.e. above 1000.

You are supplying the top VCC rail with both 3V from the batteries and 3.3V from the Arduino, not the best plan IMO.

You are not supplying the Arduino with any power, I guess this is a drawing error but just in case it isn't I though I best mention it.

You have no level shifting on the Arduino's Rx line. Its not technically needed, but you might require it particularly when the batteries are going flat.

You are using batteries and that's not a great plan.

Have you configured the ESPs using the AT command set, since you won't program them.

Just for the record the ESP has more memory it has a faster processor (80MHz) and you can still use the Arduino IDE. You should be able to pick up boards to mount the ESPs so you can use them more easily for less that the price of the level shifters, but its your call.

  • can you suggest which breakout board should i use. And what proper method i should follow to use esp8266 12 e perfectly. And guys i live in india and the things are 2 or 3 times costly, and where i live don't have varieties of this things even online i don't have much options. I am trying to find out ideal breakout board for 12e .But in mean time i can use suggestions that how can i use 12e. :) Nov 23, 2016 at 14:38
  • Something like this item from AliExpress aliexpress.com/item/… Or something similar. Just to make the ESP more useable. Nov 23, 2016 at 16:04
  • You may be able to make you own break out boards depending on your soldering ability. How do you use it properly? In the Arduino IDE use the board manager to download the support for ESPs. At the basic level it is so similar to an Arduino you will laugh. There are loads of tutorials out there, the biggest problem is remembering that in the code digital pin 0 means GPIO 0 which may or may not be marked as zero on your board. On my boards pin 0 is pin 6 :) Nov 23, 2016 at 16:08
  • 1
    @Matt, for the pins, you may want to do a search on ”[name of your breakout/devboard] Arduino pins" and do defines such as: '#define PIN6 D0', to have a solution that has no runtime overhead and is as easy to use.
    – Paul
    Nov 23, 2016 at 16:58

I am the author of the linked question. Just to clarify, the image you're using has the old connection, which wasn't working for me. Please refer to the updated version of that connection, embed below:

Updated connection

The main changes were: the GPIO15 pin needs to be grounded, and the RESET pullup is now wired to the battery's 3.3v. Also the resistors were changed from 220ohms to 10k, but since it's a voltage divider it shouldn't make much of a difference.

Hope this helps anyone out there!


There is also a library which can help you communicating with ESP2866 through Arduino called WiFiEsp.

It's like WiFi library for Arduino but instead for ESP8266.


Bruh that ain't even an esp8266 12e that is a different esp board. The esp8266 12e is basically an Arduino with an added wifi feature which increases the number of tasks you can do. If you are using an esp8266 12e then you can connect it directly to your laptop and start programming on the Arduino IDE software. It is super awesome and I have worked with it once for my plans home automation system. With a bit of research, you can find out which esp board that is if you really want to work with that circuit diagram.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.