Arduino Stack Exchange is a question and answer site for developers of open-source hardware and software that is compatible with Arduino. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

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?

share|improve this question
    
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

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.

share|improve this answer
    
Thanks a lot for this. – Rohan sethi Jul 8 '15 at 8:43
    
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

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.

share|improve this answer

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

share|improve this answer
    
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

You missed something bro!

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

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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