Go Down

Topic: Connect to ESP8266 ONLY using Arduino Uno (Read 352041 times) previous topic - next topic


Dec 02, 2014, 07:52 pm Last Edit: Dec 31, 2014, 07:24 pm by enio Reason: update new video
You can use the Arduino Uno as a USB to TTL connector allowing you to communicate with the ESP8266.
BE ADVISED that the ESP8266 is rated at 3.3V and the UNO RX and TX pins are rated as 5V but i've had no issues so far.

I connected them as follows:

UNO --- ESP8266
RX ----- RX
TX ----- TX
3.3V --- VCC
3.3V --- CH_PD

Breadboard may be required to connect both VCC and CG_PD to 3.3V pin
I loaded the BareMinimum sketch, so that no previous sketch causes issues.

Once Connected open the Serial Monitor and set "Both NL & CR" and Baud to 9600.
Send "AT" to test. If nothing comes up try different baud rates such as 115200 or 57600 and retest.
If you get "OK" reply then all is working.

List of commands can be found here:
AT Command List

Arduino as a webserver example:
How To Use the ESP8266 and Arduino as a Webserver
It works with my setup also just change the RX and TX pins to the same as in the video.


Does it work the way you wired it? I think rx goes to tx, and tx goes to rx !


I though the same thing initially, but it works the way I described.


The Uno's regulator does not provide nearly enough current to drive the ESP at its rated power requirement.

I strongly recommend against doing this.


I've got it working using the Uno as described above.
The 8266 receives the commands sent through the Serial Monitor and also responds in the same way.
I also have a simple server working, although not yet working perfectly.


could you post your code? I would like to try on my uno. thanks


Thank you! Indeed, I've got it working by wiring TX -- TX and RX -- RX. However, I used an external power supply rather than Adruino's VCC. I've already heard that ESP8266 needs quite a bit more power.


could you post your code? I would like to try on my uno. thanks
there is no code just the AT commands linked.


hi, my esp suddenly started to reset and reset and reset!!! i don't know what to do!!! can you help me with that? I was using it normally until last friday then today I turn my project on and the esp is stuck in this loop! =/ btw I don't have a ftdi to update the firmware...


Thanks :)
I have been testing this module for a week now and still having some problems.

When I run the AT+CWLAP to check the WIFI networks around me I usually get "garbage response".
Maybe my module is not correct, but it seems very unstable.


Apr 01, 2015, 03:11 pm Last Edit: Apr 01, 2015, 03:54 pm by SurferTim
How are you powering the 8266 module? The datasheet states the unit uses at a minimum of 135ma (max is 215ma) to transmit. If you are using the 3.3v pin on the Arduino to power it, that won't be enough. It is rated at 50ma max.

edit: It uses 60ma to receive. That is more than the Arduino can supply.


Hi i would like to ask something regarding the wiring for ESP8266

What about the TX and RX lines from arduino that they got 4,5Volts . what will happen if i directly connect them to tx and rx pins of esp8266. would be damaged? do i have to make a logic voltage down circuit with some resistors to get the rx and tx voltage of arduino to safe 3.3v?


Check the data sheet. Some devices have 5v tolerant inputs.


Apr 02, 2015, 03:34 pm Last Edit: Apr 02, 2015, 09:01 pm by fujisawa
Do you need to modify the Arduino beyond what is described above in order to enable the serial passthrough? I thought you needed to bypass the chip by shorting Reset to GND, like here.

I'm encouraged people are getting the device to work with straight connections to the 5V RX/TX lines. Do you not need a resistor between CH_PD and 3.3V?

I got mine last night, set it up with a voltage divider like this, but serial AT returns nothing on any baud rate.

My ESP8266 is booting (blue led, then constant red) and can be seen as an open hotspot, so it's hopefully getting enough power. But the lack of AT response is frustrating! I'm thinking to simplify the wiring per the instructions here in case the fault is mine. Also worried about pin damage, they were a little crushed.

Not my first experience with Arduino but first time on the forum. Hello :)


Apr 03, 2015, 04:11 pm Last Edit: Apr 03, 2015, 04:12 pm by fujisawa
OK, wanted to report back on what worked!

1) Bypass the MCU with a jumper RST-GND. You can remove MCU entirely if desired, not sure why you'd prefer that.
2) Forget the voltage divider. Just more stuff for me to mess up! The TX/RX pins are 5V tolerant. The rated voltage is 3.6, but it'll go beyond 5V before a protection switch kicks in. Obviously you do this at your own risk.
3) Use the Arduino 3.3V rail for power. An external source wasn't necessary, for me. But external power would have been my next step for sure.
4) Connect TX-TX and RX-RX. Why? I don't know. But it works. After I did this, I started getting something back, even if garbage, without the correct serial baud settings.
5) Use 9600 baud, with NL+CR selected. Given the wide variation reported, this won't be the case for everyone.

Basically a lot of that is not "recommended" but I've seen more than one person say that's what worked for them, and it worked for me too!

Go Up