Connecting ESP8266-01 to Arduino UNO/ MEGA and BLYNK
Intro: Connecting ESP8266-01 to Arduino UNO/ MEGA and BLYNK
This is a tutorial to show you how to flash a firmware to ESP8266-01 and connect to Blynk using an ESP8266 - 01 as an Arduino wifi shield.
Hardware needed:
*Arduino Uno/Mega
*Jumper wires
*USB A to USB B cable
*ESP8266-01
Software needed:
For easy access, move or download the following software to the desktop of your Linux. It can be moved later.
*Linux or Mac for flashing firmware.
*Arduino IDE link: https://www.arduino.cc/en/main/software
*Most recent BLYNK library link: https://github.com/blynkkk/blynk-library
*Blynk_v0.3.4.zip https://github.com/blynkkk/blynk-library/releases
*pySerial link: https://sourceforge.net/projects/pyserial/files/p...
*ESP8266 blynk library: https://github.com/vshymanskyy/ITEADLIB_Arduino_W...
*esptool link: https://github.com/themadinventor/esptool
*Sdk1.0.0 v0.22 ESP8266 firmware link:
http://esp8266.ru/download/esp8266-firmware/AT22S...
*Download esp8266_flasher [For Windows]
https://github.com/Stadslab/ESP8266_example/tree/m...
*Blynk app on iphone or android.
STEP 1: Download These Files
*Download Arduino IDE
*Download most recent Blynk library
*Download the Blynk-ESP8266 library
Click the link provided, download and install the library.
*Download pySerial
Click the link provided in the intro and click what is in the red box. Make sure you move it to your desktop. Once it's there, double click the "pyserial-2.7.tar.gz" file and it will create a pyserial-2.7 folder.
*Download esptool
Click the link provided in the intro and click what is in the red box. Make sure you move it to your desktop.
*Download Sdk1.0.0 v0.22 ESP8266 firmware
This will download just by clicking the link in the intro page. Make sure you move it to your desktop. Open the "esptool-master" folder and move the "AT22SDK100-2015-03-20-boot12.bin" file into it. Then, rename it to "AT22SDK10020150320boot12.bin".
*Download esp8266_flasher [For Windows]
Download esp8266_flasher.exe
STEP 2: Using Windows:
*Connect your arduino to your computer using an USB 2.0 cable.
- *ESP8266:____________ Arduino:
- GND -------------------------- GND
- GP2 -------------------------- Not connected
- GP0 -------------------------- GND
- RXD -------------------------- RX
- TXD -------------------------- TX
- CHPD ------------------------ 3.3V
- RST -------------------------- Not connected
- VCC -------------------------- 3.3V
*Open "esp8266_flasher.exe" and click on bin.
*Select the binary file "AT22SDK100-2015-03-20-boot12.bin".
*Enter proper COM port. In this case it is COM3
*Then click on download button,
*If your connections are proper the flashing will begin after erasing flash memory.
*After completion it shows "failed to leave flash mode this is OK.
STEP 3: Using Linux: Changing the Directory
Open your Terminal (here we are using Kali linux), then type "cd". Next, drag the "pyserial-2.7" folder into the terminal window and hit enter.
STEP 4: Installing PySerial
Enter this command “python setup.py install" into the terminal
(If your terminal doesn’t have root/administrator/Superuser privilege access use "sudo python setup.py install" and enter password when asked.)
STEP 5: Connecting Arduino and ESP8266-01
*Connect your arduino to your computer using an USB 2.0 cable.
*ESP8266:____________ Arduino:
GND -------------------------- GND
GP2 -------------------------- Not connected
GP0 -------------------------- GND
RXD -------------------------- RX
TXD -------------------------- TX
CHPD ------------------------ 3.3V
RST -------------------------- Not connected
VCC -------------------------- 3.3V
STEP 6: Flashing the Firmware to ESP8266-01
*Type "cd". Next, drag the "esptool-master" folder into the terminal window and hit enter.
* Esptool-master should contain following files
[ AT22SDK10020150320boot12.bin, esptool.py, LICENCE, MANIFEST.in, README.md, setup.py ]
*Enter this command
"sudo python esptool.py --port /dev/ttyACM0 write flash 0x00000 AT22SDK10020150320boot12.bin"
Note: The port address of your arduino may be different. You can use the command “ls /dev/tty*” to list all devices.
STEP 7: Add the Blynk Library and the Blynk-ESP8266 Library to Your Arduino IDE.
*Arduino IDE >> Sketch >> Include library >> Add .zip library.
* And install "blynk-library-master" and "ITEADLIB_Arduino_WeeESP8266-master" libraries.
*Update the ESP8266 library from “Arduino IDE >> Sketch >> Include library >> manage library”.
STEP 8: Uploading the Code to Arduino
- USING Arduino MEGA:
ESP8266:____________ Arduino:
GND -------------------------- GND
GP2 -------------------------- Not connected
GP0 -------------------------- Not connected
RXD -------------------------- TX
TXD -------------------------- RX
CHPD ------------------------ 3.3V
RST -------------------------- Not connected
VCC -------------------------- 3.3V
We will be using a 1K POT connected to analog0 pin and an LED connected to D7 of arduino mega.
*Open Your “Blynk app” from android/iPhone get the “authentication token”.
- Open the code in “Arduino IDE >> File >>examples >> blynk >> BoardsAndShields>> ESP8266_Shield_HardSer”
- Add your authentication token to the code
- Enter "SSID" and "PASSWORD" in respective fields.
- Upload the code to your arduino.
STEP 9: Connecting, Controlling and Monitoring Arduino Pins Using Blynk App
In the Serial monitor you can see that the connection has been established with blynk server.
Here’s the screenshot of the blynk app
Digital Pin 7 of Arduino mega --------->>controlled by blynk app.
Analog Pin 0 data from Pot -------- >> displayed on graph.
STEP 10: USING ARDUINO UNO
Similarly you can also use arduino uno....
ESP8266:____________Arduino:
GND -------------------------- GND
GP2 -------------------------- Not connected
GP0 -------------------------- Not connected
RXD -------------------------- D3 (SoftwareSerial)
TXD -------------------------- D2 (SoftwareSerial)
CHPD ------------------------ 3.3V
RST -------------------------- Not connected
VCC -------------------------- 3.3V
For Arduino UNO you can use “Arduino IDE >> File >> examples >> blynk >> BoardsAndShields>> ESP8266_Shield_SoftSer”
*The “Baud rate” of ESP8266 has to be changed to 9600 in Software Serial.
*AT command “AT+UART_DEF=9600,8,1,0,0”.
66 Comments
Muhammad Afzal 1 year ago
butterkita 2 years ago
mbless 2 years ago
amzar64 4 years ago
what i did wrong?
陈廷琼 4 years ago
陈廷琼 4 years ago
SiddeshC1 5 years ago
Hi, Need a help 'http://esp8266.ru/download/esp8266-firmware/AT22SDK100-2015-03-20-boot1.2.bin' this link is not working anyone is having this file ?
ِAbuwesam 5 years ago
How to open this window
Step 3: Using Linux: Changing the Directoryplz help
KuanL3 6 years ago
help i cant write flsah it show this after i type command to write flash
esptool.py v2.3.2-dev
Connecting...
Traceback (most recent call last):
File "C:\Users\User\Desktop\esptool-master\esptool.py", line 2647, in <module>
_main()
File "C:\Users\User\Desktop\esptool-master\esptool.py", line 2640, in _main
main()
File "C:\Users\User\Desktop\esptool-master\esptool.py", line 2359, in main
esp = ESPLoader.detect_chip(args.port, initial_baud, args.before, args.trace)
File "C:\Users\User\Desktop\esptool-master\esptool.py", line 223, in detect_chip
detect_port.connect(connect_mode)
File "C:\Users\User\Desktop\esptool-master\esptool.py", line 417, in connect
last_error = self._connect_attempt(mode=mode, esp32r0_delay=False)
File "C:\Users\User\Desktop\esptool-master\esptool.py", line 376, in _connect_attempt
self._setRTS(True) # EN=LOW, chip in reset
File "C:\Users\User\Desktop\esptool-master\esptool.py", line 353, in _setRTS
self._port.setDTR(self._port.dtr)
AttributeError: 'Serial' object has no attribute 'dtr'
YashJ56 6 years ago
I am getting This error
I am working on arduino mega and esp8266-01
Syed AmmarA 6 years ago
Hi there,
I hope that I get some reply
I'am facing the following error when using a mega board and ESP8266-01 wifi module
[592] Connecting to WiFiName
[1602] ESP is not responding
The board is responding to all the AT commands when uploaded with a blank sketch.but after uploading the code this error pops up
Any suggestions/ solutions will be of great help.
Thanks
Amith MP 6 years ago
Make sure it ESP is getting current and TX Rx connections are fine.
lollli 6 years ago
AT+CIPSTART="TCP","blynk-cloud.com",8442
AT+CIPCLOSE
AT+CIPSTART="TCP","blynk-cloud.com",8442
AT+CIPCLOSE
AT+CIPSTART="TCP","blynk-cloud.com",8442
I get this recurring response in the serial window, please help! I am doing my final year mechatronics project and the due date is very near.
EshakR 6 years ago
while uploading library showinfg invalid library
EshakR 6 years ago
Getting this error
GeeksTipsDotCom 7 years ago
Great instruction, thanks! Also if you want to interconnect many devices using Blynk App read this Blynk Bridge Tutorial.
smitb3 7 years ago
Connecting to esp
AT version 0.22.0/0
SDK version 1.0.0
co10
Failed to enable MUX
Failed to set STA mode
Can anyone help me
hemanth kumar reddy 7 years ago
Can you plz look at this
https://www.instructables.com/community/security-s...
small help thanks
YogeshC26 7 years ago
Thanks, I have successfully implemented this. It is working perfectly when I sending AT commands, and responding acccording to them.
But its not working when I am sending AT commands from code.
Please help me to get out of this.
alejandro.puglielli 7 years ago
Hi , I just do all the steps and connect well to Blynk but only when the Mega is connected to my PC and the serial monitor is open , and dont connect to blynk when I use the external power supply on the Mega and the system is stand alone , can you help me to fix this ? Thank you .