1

I am integrating Arduino Uno with the WiFi module ESP8266. I have already made the connections between the ESP8266 and the Arduino Uno which are :

txd uno -> rxd esp8266 
rxd uno -> txd esp8266  
gnd uno -> gnd esp8266

The VCC and chid pind of ESP8266 are connected to an external supply of voltage 3.3V and 160mA current. The code is getting uploaded onto the Arduino and the ESP8266 is also getting powered on.But i am facing a problem while i send the AT commands on the serial monitor. It is not responding even though the red led is on constantly and when i press enter after sending the command , the blue led blinks for a few seconds. Do i have to update the firmware of the ESP8266?

  • possible duplicate of esp 8266 not getting programmed – Majenko Jul 7 '15 at 10:24
  • It is not a duplicate of the above question.In that the led lights are not glowing but here the esp8266 is not responding to the AT commands. – Rohan sethi Jul 7 '15 at 10:45
  • 2
    You cannot use the TX/RX pins both for communication with the PC AND communication with an external module at the same time. You've effectively got the ESP wired backwards for communication with the serial monitor, but if you turn it around it would be wired backwards for communication with the Arduino. If you want to communicate through the serial terminal you will have to connect the ESP through different pins and pass the data through using SoftwareSerial. – Majenko Jul 7 '15 at 10:49
  • 2
    I don't think you should connect the TX of the arduino directly to the RX of the ESP, as the ESP only accepts 3.3v signals, while the Uno uses 5v signals. – Gerben Jul 7 '15 at 13:01
  • 1
    I have brought down the voltages to 3.3V by using a voltage divider.It is still having the same problem. – Rohan sethi Jul 8 '15 at 8:54
2

I had same problem. It helped to connect GNDs of both power supplies namely the one powering the arduino and the 3.3V one powering the ESP8266.

1

Okay, I'll just summarize the stuff I've seen in the comments and answers. It's quite a basic issue? You'll find a lot resources on it on the web.

Current (draw of chip too high?):

Wireless communication can take a lot of current. You should have a good power supply. Arduino usually can't supply enough current. Check the datasheet of the chip to see it max current draw.

Rx/Tx (Wiring):

Be sure you send through the Tx pin, into the Receive (Rx) pin of the other device. Also, you can't use the same Tx pins for USB communication AND to connect to the ESP, that basically won't work.

Voltage (3.3V vs 5V):

The arduino runs on 5V, but, the ESP on 3.3V you shouldn't want to mix these up. It'll do in some cases. Putting 3.3V (Tx of ESP) on the Rx of arduino (5V) won't damage it. But the other way around is strongly discouraged. Use a logic level shifter or voltage divider between it.

Chip might be broken

If the chip isn't doing anything at all, you should take in consideration that it's possible the chip is broken... I've spent too many hours on debugging my code while the chip simply wasn't working. Also after having applied 5V to the ESP8266, this becomes quite likely.

  • I have taken into consideration all your solutions and done these things : 1. i am using a battery pack as a power supply and not the arduino. 2. i am using different pins for communicating between the usb and for communicating with the ESP. 3.i have connected a voltage divider circuit and brought down the voltage to 3.3V while connecting the tx of arduino to rx of esp. But i am still not able to receive anything from the ESP. – Rohan sethi Jul 8 '15 at 8:50
  • 1
    If you used 5V logic on the ESP you might've killed it. Are you sure the chip works? – Avamander Aug 28 '15 at 22:38
1

We had a similar issue and landed up spending a lot of time figuring out what was going wrong, the following certainly helped us resolve the issue:

  1. We set the Baud rate of the Serial communication to 1200. This started showing the responses from ESP correctly with no / minimal junk
  2. We set the baud rate of communication with ESP to 115200. This ensured that the ESP received correct commands.
  3. We ensured that each command we send is terminated by a CR for e.g. ESP8266.println(espCmd + "\r"); // where ESP8266 is SoftwareSerial ESP8266 (rxPin, txPin);
  4. Also, powering the ESP module with 5V gave no responses from ESP. When we powered it with 3.3V only then it started to provide any response - initially response looked like junk due to mismatched baud settings.

Hope this helps.

(Sometime you may need to use both \r\n....)

Regards

  • But surely supplying the correct voltage to the board (3.3v) and level shifting the rx and tx lines so the ESP gets 3.3v and the Arduino gets 5v would work much better. – Code Gorilla Apr 19 '17 at 11:33
0

Seems like you didnt used any type of voltage divider or level shifter between the Arduino Tx -> ESP8266 RX Line. The ESP8266 isnt really 5V friendly. Too Bad the Arduino outputs 5V on all of it Pins. You could still try it With a Voltage Divider using 2 Resistors or a level Shifter in hope it works. Elsewise With a 3.3V USB-> UART Module or get a New ESP8266

  • I was thinking that we only need a supply of 3.3v.Dint know that there has to be a voltage divider between the pins also.Do we need the voltage divider only between the arduino tx-> esp 8266 rx pins and not between the arduino rx -> esp 8266 tx? – Rohan sethi Jul 8 '15 at 5:47
  • Nope. The TX pin sends data out. That means the voltage is given by the Microcontroller. That means the Arduino Transmit Pin is 5V, which is Bad for the ESP, while the Transmit Pin of the ESP is 3.3V, With which the Arduino has no Problem to work With. You also need to remember these things when you work With screens vor Sensors. Always read the dataheet and search for the maximum voltage in the io ( 90% of the time you can search for Vio) – Matze Strawberrymaker Jul 8 '15 at 7:50
  • I have taken into consideration your solutions and done these things : 1. i am using a battery pack as a power supply and not the arduino. 2. i am using different pins for communicating between the usb and for communicating with the ESP. 3.i have connected a voltage divider circuit and brought down the voltage to 3.3V while connecting the tx of arduino to rx of esp. But i am still not able to receive anything from the ESP. – Rohan sethi Jul 8 '15 at 8:49
0

You missed something bro!

Arduino ESP8266 Rxd -> Txd Txd -> Rxd 3.3 V -> VCC GND -> GND 3.3 V -> CH_PD

  • All above is right! Few days back, it was working. Suddenly, it stopped working but red led on it still lights. – Rahul Rastogi Feb 17 '17 at 14:15
0

Even I faced a similar problem , I was Abel to communicate using AT until I uploaded another program on to the board ,that is initially all esp boards come with the AT response firmware Once you upload ur code or program if I'm not wrong I guess it replaces it so you won't get any response That was my personal experience using all sorts of esp8266 boards (01, nodeMCU ) etc As I'm still learning plz correct me if I have projected it in the wrong way Thanks

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.