In my previous Instructable I have described how to plug the ESP-01 module into a breadboard.

This is just the first step to make a cheap Arduino WiFi shield using the ESP8266 module. With few more electronic components and the WiFiEsp library you can build it for less that 10 USD.

Step 1: Components

Here are the components you need

  • Arduino board - In this example I'm using an Arduino Uno board but I personally uprefer using an Arduino Mega because it has more memory and has a second serial port to communicate with the ESP module.
  • ESP-01 - This is the smallest and cheaper type of ESP8266.
  • AMS1117 5V to 3.3V Power Supply - Arduino boards are typically powered at 5V while ESP8266 needs a 3.3V power source. The Arduino 3.3V output pin cannot provide the power needed by the ESP (up to 250mA). This can be solved using a 3.3V voltage regulator like the LM1117/LD1117 or AMS1117.
  • Breadboard - A 170 holes mini breadboard is enough but you can use a bigger one if you need.
  • 10 uF Capacitor - A small electrolytic capacitor is needed to stabilize the voltage regulator. Any 10-100 uF should be ok.

  • 2 resistors (1K and 2.2K) - A simple voltage divider is needed to shift down the 5V output of the Arduino TX pin. You can use other resistors as long as they are in a 1/2 ratio approximately.
  • Jumper wires
​Can plz look at this <br>https://www.instructables.com/community/security-s...<br>small help thanks
<p>Hello together!</p><p>For all people out there i have some news. I get my ESP01 with baudrate 115200. Arduino don't like this baudrate and you will get not supported firmware. You must change in debug script serial1 and serial. Then you can speak with your ESP01.</p><p>If you typ AT you get some error and firmware read out is totally bad. Now send your ESP01 this command: AT+UART_DEF=9600,8,1,0,0</p><p>Thereafter change serial and serial1 again and voilat your ESP01 work as aspected. </p><p>It's totally recommand that you change the boudrate down to 9600 via AT Command. And then your ESP01 will work fine. :)<br></p>
<p>I confirm this, tried yesterday with 9600 and it works like a charm. Thank you Wikibear for the clarification and Twim for the excellent work!</p>
<p>In the meanwhile i have found why 115200 doesn't work, cause arduino can't simulate 115200 well. That's all.</p>
<p>That's true! Software serial library supports speeds up to 115200 but for the UNO <a href="https://www.arduino.cc/en/Reference/softwareSerial">the maximum Rx speed is 57600</a>. So, I suggest starting with 9600 and going up one step at a time to find the maximum working serial speed. </p>
<p>Nice and useful.</p>
<p>your tutorials are awesome dude, will you help me to work with ESP8266 i cant able to run a simple code as i have library errors...</p>
<p>Hello The Twim</p><p>Thank you so much for the upload, I've ordered the components so I can build one myself.</p><p>One thing I am confused about, and please forgive me - I'm a bit of a newbie, is the use of the voltage divider between Tx (pin 7 on the Arduino) and Rx (on the ESP). I thought Rx was a data receive pin and as such wouldn't need to be voltage regulated at all. But actually, from what you are telling me, 5V is sent out from the Arduino on the Tx output, is that right? </p><p>Any help on the subject is greatly appreciated so thank you in advance.</p><p>:)</p>
<p>You are right. The Arduino TX pin will output a 5V signal that could damage the ESP RX input.</p><p>On the other side, the Arduino RX input pin reads the 3.3V output from the ESP without problems so you don't need to shift up this signal.</p>
<p>Thank you so much for your speedy reply.</p><p>Is this true to all pins on the arduino or only the Tx?</p>
<p>Serial.print outputs to the serial port without any end of line characters. println does the same but adds a new line (the ln indicates this). Depending on your system that may be carriage return or with the new line character as well.</p>
<p>[WiFiEsp] Initializing ESP module</p><p>[WiFiEsp] &gt;&gt;&gt; TIMEOUT &gt;&gt;&gt;</p><p>[WiFiEsp] Cannot initialize ESP module</p><p>[WiFiEsp] &gt;&gt;&gt; TIMEOUT &gt;&gt;&gt;</p><p>[WiFiEsp] No tag found</p><p>Any ideas?</p>
<p>Did You solve this problem?</p>
<p>Same problem here!</p><p>I set the ESP8266-01 to 9600 Baud and worked fine :)</p><p>PS. It was previously on 112K Baud which can be a problem for SOFTWARESERIAL</p>
<p>Nice little project. I don't usually like using shields but since you are making this one I find it much more acceptable. nice work.</p>
Cool idea. I've recently started using the ESP8266 and this will certainly be helpful!

About This Instructable




More by TheTwim:Cheap Arduino WiFi shield with ESP8266 Making ESP8266-01 module breadboard friendly Knight Rider animation with Arduino and TLC5940 
Add instructable to: