Top 5 Ways to Wire up ESP8266 Module to your Arduino Uno Board
There are different ways to connect ESP8266 to Arduino boards. Here you got to keep a lot of things in mind because ESP8266 is notorious for being unreliable. It’s fussy and does sporadic things which can make things difficult at times. But when you get through, it’s actually a great unit!
Important things to keep in mind:
- Use a reliable power source
- Use additional capacitors
- Use additional resistors
- Make firm connections
- Keep wires short
The ESP01 module is a very sensitive improper power supply. According to the Datasheet, Esp8266 modules have an operating voltage of 3 to 3.6 volt which is about 3.3 volt plus and minus 10%. Since Arduino Uno has got a 3.3-volt pin and can be used to power other 3.3V devices, we can explore a few wiring schemes.
ESP-01 Wiring Schemes
The most basic connection scheme is given below:
- Arduino 3.3v power – breadboard red power rail
- Arduino GND – breadboard black ground rail
- ESP01 GND – ground rail
- ESP01 VCC – power rail
- ESP01 CH_PD – power rail
- ESP01 TXD – Arduino Digital Pin #6 (RX pin using software serial)
- ESP01 RXD – Arduino Digital Pin #7 (TX pin using software serial)
- A 100uF (or larger) capacitor helps to absorb current spikes
This scheme has three main problems:
- Power source: The ESP can draw up to 250mA while the Arduino Uno 3.3V output pin can provide only 50mA. A capacitor can help but it’s not enough.
- RX: The 5V Arduino TX serial output needs to be shifted to the 3.3V ESP RX input. However, simple prototypes can be built without this because the ESP has a built-in protection.
- TX: The 3.3V ESP TX output should be enough for the 5V Arduino digital input. A reliable project may need a level shifter.
Level shifting with Resistors
The 5V output from the Arduino TX pin can be shifted to 3.3V using a resistor voltage divider. Because 3.3V is 2/3 of 5V, it’s easy to create a voltage divider out of resistors.
For an output current of 7.5 mA, you can use three 220 Ohm resistors.
Using voltage regulator (LM1117/LD1117)
Several cheap 3.3V regulators are available on the market. A very common and cheap one is the LM1117 (or LD1117). With such regulator, you can convert the 5V power used for Arduino to the 3.3V needed by the ESP.
Powering with Diodes
Since the Arduino 5V pin can provide 200mA we can use this to power the ESP. This scheme is very cheap and simple allowing to use simple and cheap diodes to convert the 5V to 3.6V. Suitable diodes are the 1N4148 (300 mA) or the 1N4007 (1 A).
Powering with Zener diode
An alternative cheap approach is to use a 1N5226 3.3V 500mW Zener diode to power the ESP.
Latest posts by Christine (see all)
- Top 5 Ways to Wire up ESP8266 Module to your Arduino Uno Board - September 22, 2017
- Get started with a Fingerprint Sensor Module using Arduino - September 13, 2017
- How to Print AT Commands with ESP8266 using USB TTL Converter - September 12, 2017