I have an issue communicating with ESP8266 via Arduino Uno's serial ports.
I can connect to it using
python -m serial.tools.miniterm /dev/ttyUSB0 115200
command but when trying to send an AT
command, it looks like this:
�tC�
ERROR
�v[�
ERROR
at
OK
So, sometimes I'm able to properly send a command, but usually what I type turns to gibberish. I've tried other baud values, but only 115200
works.
I'm powering Arduino via USB from my laptop. I've seen some mentions that this behavior may be caused by low voltage but unfortunately, I'm currently unable to verify it whether that's a case here.
My schematic looks like this: Schematic
I'm new to this, so if there is any crucial information I've missed, then please let me know and I'll do my best to provide it.
-
1Where are the voltage dividers from Arduino TX to ESP RX to shift from 5V to 3.3V? Are you sure the module is not on its default 9600 baud? Why is the ESP's EN not pulled up? Does adding a big capacitor between 3.3V and GND help?Maximilian Gerhardt– Maximilian Gerhardt2018年06月15日 20:47:02 +00:00Commented Jun 15, 2018 at 20:47
-
Regarding voltage dividers: I was unaware it was needed. I've been more or less following this instruction: instructables.com/id/… Regarding the 9600 baud: Pretty sure - when I try to connect at 9600 it's all gibberish. ESP EN: Will look into it Capacitor: Will look into itKrzysztof Piszko– Krzysztof Piszko2018年06月15日 20:48:54 +00:00Commented Jun 15, 2018 at 20:48
-
Appendix: With EN (Enable) I meant CH_PD (chip powerdown) -- but you already had it conencted to 3V3, so that's ok. Most probably it's because of the voltage shifting or the power supply is too bad.Maximilian Gerhardt– Maximilian Gerhardt2018年06月15日 20:55:18 +00:00Commented Jun 15, 2018 at 20:55
-
3.3 V pin of Uno can't supply the necessary current for the esp8266.Juraj– Juraj ♦2018年06月15日 20:57:08 +00:00Commented Jun 15, 2018 at 20:57
-
115200 is the default baud rate of AT firmwareJuraj– Juraj ♦2018年06月15日 20:58:07 +00:00Commented Jun 15, 2018 at 20:58
1 Answer 1
The issue, as Maximilian Gergardt suggested in comments, was with Arduino's TX/RX sending 5V signal. Adding voltage dividers on RX line solved the issue. Refer to diagram below for details: enter image description here