Chat freely about anything...

User avatar
By kolban
#23135 Awesome ... that picture really helped. I see you are using an Arduino Mega which has a number of Serial ports. The one you have your RX and TX wires plugged into is called "Serial2". However, the data that is coming into your Arduino through your USB appears on Serial0. Serial0 are pins 0 and 1. What you want to try is plugging in the ESP8266 RX wire into Pin 0 of the Arduino and TX wire into Pin1.

Again, to be clear:

ESP8266 RX -> Arduino Pin 0
ESP8266 TX -> Arduino Pin1
GPIO 0 -> ground

Have a go and post back and let us know what you find ... and thanks for the photo.

Ive never seen elastic band connector holders. Ive got to think on that for a while. Here is what I use to attach my ESP8266s to a breadboard:

http://neilkolban.com/tech/attaching-an-nrf24-to-a-breadboard/
User avatar
By AlexPilk
#23147 Still no luck, I tried 0 and 1 RX/TX too. I wonder why why the blue led doesn't blink when I use a separate power supply.
I don't have the stuff needed to make a breakout board so I had to improvise :)
And strange things are happening, I disconnected the power supply and the red led was still on until I removed the TX connection. Then when I unplugged Arduino and plugged it back it it's TX and RX leds lighted and I got this USB Device Not Recognized error. Happened before, disappeared after the reboot.
User avatar
By kenn
#23155 In that photo of the breadboard, there's just a pullup resistor on GPIO0. How did you connect it to GND to go into program?

I'll be honest - that rubber band connection to the ESP-01 gives me no confidence. Kolban's adaptor is a much better way to connect to a breadboard. With all the different things you've tried, and the funny results you're seeing... I hope you haven't fried the ESP-01.

Anyway, in your shoes i would do the following;

1- better adaptor for the ESP-01!
2- redo the circuit. How about some different coloured wire, at least on the TX/RX ;) . Neatness counts.
3- Pick a hopefully good ESP-01, still with the factory AT firmware
4- start a terminal program (115200 works for me; some say the newer start at 9600) to monitor the ESP's serial out, then apply power to the ESP.
5- on the terminal you should see serial out from the ESP as it boots up. if not, recheck your work. No point in going further if you can't read the serial out.
6- If you've got serial out, try a few of the AT commands through the terminal. (remember you need \r\n after each command). eg AT+RST\r\n to reset. The ESP should act on the command and you will see the result on the terminal. If there's no serial response to any AT command, then you still have a wiring problem in the TX path which must be solved before you can proceed
7- if above was successful, you've confirmed that serial is set up correctly, so you can now try programming. Also remember that when you have a terminal program monitoring the ESP, it's hogging the serial, so you have to quit the terminal before starting the programming. I really like esptool.py as the flashing tool, but I don't know how that would work through your Arduino. (I use a USB to serial cable and level translation.)

Good luck...
User avatar
By AlexPilk
#23163 Thanks for the advice, I'll try that.
What about voltage dividers? Do I need 2 of them (one for TX and one for RX) or is it ok to use just one for RX?
If the wifi is working does it mean that Arduino's 3.3V power supply is enough for ESP8266?