Communication between Arduino UNO and ESPDUINO (ESP8266)

Hello everyone,

I'm striggling in how to make communication works within an Arduino UNO and an ESPDUINO.

Basically I've created a master circuit with Arduino UNO and I would like to send some sensors data to ESPDUINO that is connected to Internet.

How to do this?

I'm attaching a picture of pinouts of ESPDUINO:

I don't understand how to connect them physically (ESPDUINO has an own pinouts) and what code to write.

Thank you in advance
Andrea

I would go here and start reading on the Downloads tab
http://www.smartarduino.com/view.php?id=94894

What is your reason for needing the Uno instead of just using the ESPDUINO for everything?

CrossRoads:
I would go here and start reading on the Downloads tab
http://www.smartarduino.com/view.php?id=94894

Hello, I’ve seen the website but honestly I don’t understand how to make the connection works.

Andrea

pert:
What is your reason for needing the Uno instead of just using the ESPDUINO for everything?

Because not all the libraries are compatible with ESPDUINO like for example TFT from adafruit.
The easy way is to use this as just a gateway.

OK, that makes sense. Usually people will use an ESP8266 module or shield connected to the Uno for that purpose. The ESPDUINO is actually designed to be used as a standalone replacement for an Uno but there's no reason you can't use it for your purpose. The most common way(but certainly not the only way) to do this is to use serial communication between the ESP8266 and Arduino. On the ESPDUINO the pins you want to use are labeled RX0 and TX0. On the Uno you can use pins 0 and 1, which are the hardware serial pins but these are also used for uploading sketches to the Uno and for Serial Monitor communication so if you use those pins then you would need to disconnect them on every upload and you can't use Serial Monitor via the USB cable on the Uno. The alternative is to use software serial. This allows you to use any pins on the Uno for serial communication. You will need to use the SoftwareSerial library included with the Arduino IDE. You will probably want to use a speed lower than 115200 baud since software serial is not reliable at higher speeds.

One thing you should keep in mind is that the ESPDUINO is running at 3.3V and the Uno is running at 5V. There's some disagreement over whether the ESP8266 can safely handle 5V input on the IO pins. The TX pin of the Uno will be putting out 5V so it's safest to use some sort of a level shifter to convert it to 3.3V before it reaches the RX pin of the ESP8266. Serial connections are RX-TX, TX-RX, RX means receive, TX means transmit. You will also need to connect the grounds of the two boards.

Espressif, the maker of the ESP8266 has written an AT firmware that makes it easy to control the ESP8266 via serial. Most ESP8266 modules ship with the AT firmware installed but I'm not sure about the ESPDUINO. You may need to download the AT firmware from http://bbs.espressif.com and use the FLASH DOWNLOAD TOOL to install it on your ESPDUINO.

On the Uno you will also need to have code to control the ESPDUINO. I have found the WiFiEsp library to be very helpful for this purpose.

There are some other options for ESP8266 firmware for this purpose or you are free to write your own, which you may want to use the esp8266 Arduino core to write and upload.

pert:
OK, that makes sense. Usually people will use an ESP8266 module or shield connected to the Uno for that purpose. The ESPDUINO is actually designed to be used as a standalone replacement for an Uno but there's no reason you can't use it for your purpose. The most common way(but certainly not the only way) to do this is to use serial communication between the ESP8266 and Arduino. On the ESPDUINO the pins you want to use are labeled RX0 and TX0. On the Uno you can use pins 0 and 1, which are the hardware serial pins but these are also used for uploading sketches to the Uno and for Serial Monitor communication so if you use those pins then you would need to disconnect them on every upload and you can't use Serial Monitor via the USB cable on the Uno. The alternative is to use software serial. This allows you to use any pins on the Uno for serial communication. You will need to use the SoftwareSerial library included with the Arduino IDE. You will probably want to use a speed lower than 115200 baud since software serial is not reliable at higher speeds.

One thing you should keep in mind is that the ESPDUINO is running at 3.3V and the Uno is running at 5V. There's some disagreement over whether the ESP8266 can safely handle 5V input on the IO pins. The TX pin of the Uno will be putting out 5V so it's safest to use some sort of a level shifter to convert it to 3.3V before it reaches the RX pin of the ESP8266. Serial connections are RX-TX, TX-RX, RX means receive, TX means transmit. You will also need to connect the grounds of the two boards.

Espressif, the maker of the ESP8266 has written an AT firmware that makes it easy to control the ESP8266 via serial. Most ESP8266 modules ship with the AT firmware installed but I'm not sure about the ESPDUINO. You may need to download the AT firmware from http://bbs.espressif.com and use the FLASH DOWNLOAD TOOL to install it on your ESPDUINO.

On the Uno you will also need to have code to control the ESPDUINO. I have found the WiFiEsp library to be very helpful for this purpose.

There are some other options for ESP8266 firmware for this purpose or you are free to write your own, which you may want to use the esp8266 Arduino core to write and upload.

Thank you so much! I will try your suggestions and let you know.
Cheers