Project tutorial

Simple Arduino Uno - ESP 8266 Integration © GPL3+

Simple Arduino Uno - ESP8266 software serial integration.

  • 84,662 views
  • 22 comments
  • 65 respects

Components and supplies

Apps and online services

Ide web
Arduino IDE
circuito.io
Firmware.ino
Software serial

About this project

Our goal was to create an Esp8266 AT command library (based on the ITEAD library), that would work well on software serial on most ESP8266 devices, provided they have firmware that responds to AT commands (which is usually the manufacturer default).

We are distributing this preliminary library for testing and would appreciate your feedback and improvements through the Github Repository.

1. Stuff you need:

  • Arduino Uno (and Arduino IDE installed)

2. Wiring

connect the ESP8266 via Software Serial to your Arduino Uno board using a logic converter, as shown in the wiring figure attached.

3. Connect to your home Wi-Fi

Open the Firmware.ino library from Github and enter your SSID and the PASSWORD to your Wi-Fi:

const char *SSID= "WIFI-SSID";
const char *PASSWORD="WIFI-PASSWORD";

4. Upload the sketch to your Arduino

Connect the Arduino to your computer and upload the sketch.

5. Open serial monitor in Arduino IDE

Click on the Serial monitor button in the Arduino IDE (in the top-right corner). If everything is OK, you should see the following output on the serial monitor:

6. Troubleshooting

If you get no response, try updating the ESP firmware to the one provided below. Use a 3.3v FTDI board like this one.

  • Flash the ESP

If you receive partial response from the esp8266 when using software serial, go to: C:\ProgramFiles(x86)\Arduino\hardware\arduino\avr\libraries\SoftwareSerial\src\SoftwareSerial.h

Change line 42:

#define _SS_MAX_RX_BUFF 64 // RX buffer size

To:

#define _SS_MAX_RX_BUFF 256 // RX buffer size. 

This will enlarge the software serial buffer. Sometimes setting the baud rate on initialization fails, try resetting the Arduino, it should work fine. If for some reason, you are still having trouble, please comment here so we will try to locate the problem. If you have any improvement suggestions, please do a pull request on Github.

Generally, this code should work for all Arduino Uno ESP8266-01 versions.

Your feedback is most welcome!

Code

Arduino Uno ESP 8266-01 software serial integration
This is the GIT repository you'll need in order to make the connection

Schematics

Arduino Uno - ESP8266 wiring
Unoespwiringfixed2
FTDI wiring
Ftdi%20wiring

Comments

Similar projects you might like

Arduino Atari Adaptor

Project tutorial by Dante Roumega

  • 7,256 views
  • 6 comments
  • 22 respects

Arduino Pendulum Physics Lab

Project tutorial by Paul Kassebaum

  • 311 views
  • 0 comments
  • 2 respects

Generating Audio with an Arduino and a Resistor Ladder DAC

Project showcase by 3 developers

  • 2,631 views
  • 5 comments
  • 7 respects

Humidity Measuring Molecule

Project showcase by KatjaNiggl

  • 1,352 views
  • 4 comments
  • 14 respects

Automated Plant Watering System

Project in progress by Ammar Shahid

  • 59 views
  • 0 comments
  • 0 respects

Electroplating with Copper

Project tutorial by Ryan Gill

  • 6,792 views
  • 8 comments
  • 15 respects
Add projectSign up / Login