Introduction: Send Email With ESP8266 and Arduino UNO

Picture of Send Email With ESP8266 and Arduino UNO

How to get Adafruits "send_email_smtp.ino" to send email with ESP8266 and Arduino UNO.

And eliminating the problem with "no response from module" many have.

The module works on 3.3v logic according to documentation, but I had no issue with 5v rx and tx of arduino, play it at your own risk !!

Step 1: Firmware on the ESP8266

Picture of Firmware on the ESP8266
  • To get it working, must the firmware on the ESP8266 be version: ! (old firmware!)
  • USB-connect the Arduino UNO and upload the "BareMinimum"-sketch with Arduino IDE software, so nothing disturb the flasher software. (Find the BareMinimum in "File" > "Examples" > "01.Basics" > "BareMinimum")

  • Take note of what COM-port the Arduino UNO use. (See your COM in "Tools" > "Port:")
  • Close Arduino IDE after upload and unplug power/USB.
  • Wirring the ESP8266 to the Arduino UNO as pictures above shows.

  • Connect the Arduino UNO to USB again.

  • Download flasher-software and the firmware BIN-fil here :

  • Unzip the files into a folder, and run the flasher software (esp8266_flasher.exe)

  • Click on the "BIN"-button and find the BIN-fil (v0.9.2.4 AT Firmware-ESPFIX.bin) in the folder.

  • Check whether it is the correct COM port or change it to the correct port.

  • To start the upload/flashing, Click on the "Download"-button
  • If everything is runs, will the flasher software show you the status of flashing and the blue LED on the ESP8266 will blink very fast.

  • If: Failed to connect, just try unplug USB and replug the USB again and click on the "Download"-button again !
  • In the end at 99%, it will show some error but this is ok.

  • The ESP8266 has now firmware version: !!!

Step 2: Rewiring

Picture of Rewiring
  • Unplug power/USB.
  • Rewirring the ESP8266 to the Arduino UNO as pictures above shows. VERY IMPORTANT !!!
  • Download the "ESP8266 library" here :

  • Open the Arduino IDE software and import the library (click "Sketch" > "Include Library" > "Add ZIP. Library..." > find the -file and click "Open")
  • USB-connect the Arduino UNO again and upload the "send_email_smtp"-sketch with Arduino IDE software ("Files" > "Examples" > "Adafruit_ESP8266-master" > "send_email_smtp")

  • Now just see this YouTube video
  • And adjust the same things as he does. :-)


FredL59 (author)2017-12-08

Any one help? it always shows hard reset... no response from module. Why??

HakanH7 (author)2017-11-28

Some of the esp8266 boards can tolarate 5v logic level. I could tried about 20-25 pieces of esp8266 board . Some of them has got white rectangle drawing on the surface around the pinouts and they can tolarate 5volt. Others can not tolarate.In the first picture you can see these white rectangle on the esp8266. This esp8266 can tolarate 5v. But in the second picture we can not see that white rectange and probably that can not tolarate 5 volt.. 5 volt can not make them burn you can use them in the projects with 3 volt level..

lalittsuwalka (author)2017-02-18

I have followed all steps carefully as above. But after uploading program, when I open serial monitor it always shows :

Hard Reset...'
no response from module.

please help

SergejK3 (author)lalittsuwalka2017-11-12

I also collected the same buggy code. Can someone fix it?

SergejK3 (author)2017-11-12

Arduino ide terminal writing : not module connetc.
Pls help & send my email to info

Franj9 (author)2017-08-15


Rx (Arduino) - Tx (ESP)

Tx (Arduino) - Rx (ESP)

Franj9 (author)2017-08-15

Hello, I have detected an error in the first image showing the pinned, you have to rotate the order of RX and TX so that there is communication between the ESP8266 module and the serial / USB port and can display data in the console of the IDE.

Greetings from Andalusia (Spain)

Alexan24 (author)2017-04-27

I keep getting this error. Any idea?? I changed HELO TO EHLO but nothing happened. :/

Neavvy (author)2017-03-26

In serial monitor I have "Hard reset...'

no response from module." Could someone help me please?

mybotic (author)2016-12-13

hi, may i know whether the connection of esp8266 to arduino mega is the same as the connection to arduino uno?

AnkitB4 (author)2016-11-05

class Adafruit_ESP8266' has no member named 'cipSend'

plz help me to solve this problem?????


Eryn Ahmad (author)AnkitB42016-11-30

hye, have you fix the error yet?

johnnyfrx (author)Eryn Ahmad2016-11-30

Have you tried changing HELO to EHLO? There are a number of causes of this error so we'd need to see more of your code.

johnnyfrx (author)AnkitB42016-11-30

Have you tried changing HELO to EHLO? There are a number of causes of this error so we'd need to see more of your code.

johnnyfrx made it! (author)2016-09-25

This has been a fun little project! I pretty much followed all instrux here and added a PIR sensor to the mix and used SMS instead of email notifications. Still need to use SMTP2GO to get around the TLS SSL security issues. So...for me this is now a portable security device of sorts, as long as there is WIFI nearby. When the PIR is tripped, i substituted its flag for the 'send it' flag. So now I get a SMS text to my mobile whenever whatever it is watching or guarding is violated. Pretty Cool! I wired all without any added voltage regulation. It's been running for the last 2 days without issues.

Eryn Ahmad (author)johnnyfrx2016-09-27

Hello John, did you used an exact coding as given or did you changed any in the coding? :)

Big thanks

johnnyfrx (author)Eryn Ahmad2016-09-27

Hi There,

The only thing I needed to change was the SMTP command from HELO to EHLO. Once I did that, all finally worked. Obviously you'll still need to mod the accounts info and email server personalized to you. Let me know how you make out with it.

Eryn Ahmad (author)johnnyfrx2016-09-27

I'm currently working out with this project but same as yours I used PIR sensor as to trigger the circuit. It will be an honoured if you can guide me throughout this process. Basically, I'm using gmail as an email from and the coding wants to define the host.

#define HOST ""

#define PORT 587

The problem here is I'm not pretty sure about this two lines. Am I doing it right?

Thank you for helping me out :)

johnnyfrx (author)Eryn Ahmad2016-09-27

Hi there, Have you setup a account? Gmail will not accept insecure connections, so you need a jump server of sorts, that being smtp2go.Let me know. Have a good night and I will check in tomorrow.

Eryn Ahmad (author)johnnyfrx2016-09-28

Hai there, may I know what is your connections between the pir sensor to others? Because your pir sensor is differ to mine.

Big thanks.

johnnyfrx (author)Eryn Ahmad2016-09-28

I am running all on 3.3V. The PIR is on pin7.

Eryn Ahmad (author)johnnyfrx2016-09-28

Thus you dont used 5v connection? is it the PIR output is on pin7? May I share my board photos with you so that you can recognize what is wrong with my board, please?

johnnyfrx (author)Eryn Ahmad2016-09-28

You need to set pin7 as an input so when it detects movement from the PIR, it goes high and triggers the email notification. Please feel free to share any pics and I shall take a look.

Eryn Ahmad (author)johnnyfrx2016-09-28

This is the picture, I really hope you can help me to sort this circuit out. Thankyou

johnnyfrx (author)Eryn Ahmad2016-09-28

I DM'd you so please check your actual Inbox here. We can continue troubleshooting there for now.

Eryn Ahmad (author)johnnyfrx2016-11-30

Hello Joh, can you please check your inbox please?

NavalJ (author)2016-09-24

I wasted my 2 esp on this tut. Every time it falshes .ESP does not repond on AT. What should i do??

johnnyfrx (author)NavalJ2016-09-25

Have you tried changing the baud rate in Serial Monitor? I had to test a bunch of different rates until 57,600 worked. Also, make sure you change the wiring back after flashing as described in directions.

RodrigoC146 (author)2016-09-12


<--- '


Any chance?

johnnyfrx (author)RodrigoC1462016-09-24

Try changing HELO to EHLO. It worked for me.

RodrigoC146 (author)johnnyfrx2016-09-24

It worked! Many thanks!

NavalJ (author)2016-09-11

Writing at 0x0007e400... (99 %)

Writing at 0x0007e800... (99 %)

Writing at 0x0007ec00... (99 %)


Failed to leave Flash mode

This is fine. My Module stopped responding after Update :D

joe5143 (author)2016-09-03

unable to upload arduino code.

'class Adafruit_ESP8266' has no member named 'cipSend'

need help:(

NavalJ (author)joe51432016-09-11

well i saw this today only. try another libaray from Adafruit. it will work.

PabloSoetard (author)2016-05-21

it shows me an error

DIY Hacks and How Tos (author)2015-11-28

Awesome. Great Arduino project. Thanks for sharing.

About This Instructable




More by kryder91:Send email with ESP8266 and Arduino UNO
Add instructable to: