I am currently working on an AT communication project for Arduino Mega and ESP8266 ESP 12S. We are having some technical issues and would like to ask a question.
First of all, the parts list I currently have is:
Arduino Mega
FTDI converter
ESP 12S + Break out board (soldered) (https://www.amazon.com/YwRobot-ESP-12S-Wireless-Transmissions-Compatible/dp/B07N192V7Z) (I bought the same parts elsewhere.)
DC to DC conveter
The pinout at the time of the firmware update is as follows:
PIN <- Serial Adapter
RESET <-3.3V
CH_PD <-3.3V
VCC <-3.3V
GPIO0 <-3.3V
GPIO15 <-GND
GND <-GND
RX <-TX
TX <-RX
Instead of using the four pins on the bottom, I connected directly to the pins on both sides.
No resistance was connected at the time of connection.
After updating the firmware, I received the following message.
Leaving ....
Failed to leave Flash mode
Thus, we determined that the firmware was updated successfully.
After that, I tried to get an AT response using a serial monitor by changing the pinout.
The other pinout is as follows:
PIN Serial Adapter
RESET <-3.3V (pull up)
CH_PD <-3.3V (pull up)
VCC <-3.3V (by DC to DC Conveter)
GPIO0 <-3.3V (pull up)
GPIO15 <-GND (pull down)
GND <-GND (Connected to VCC and 100nF Capacitor.)
RX <-TX (I soldered it to the breakout board so no resistors were connected at the time.)
TX <-RX
Here is the code I used:
♯ include < SoftwareSerial.h >
void setup () {
uint32_t baud = 115200;
Serial.begin (baud);
Serial2.begin 115200;
Serial.print ("SETUP !! @");
Serial.println (baud);
Serial2.println ("AT \ r \ n");
}
void loop ()
{
while (Serial2.available ()> 0) {
char a = Serial2.read ();
if (a == '\ 0')
continue;
if (a! = '\ r' && a! = '\ n' && (a <32))
continue;
Serial.print (a);
}
while (Serial.available ()> 0)
{
char a = Serial.read ();
Serial.write (a);
Serial2.write (a);
}
}
No AT response has been received with the current serial monitor.
So I tried again with different pinout as follows:
PIN Serial Adapter
VCC <-5V (by DC to DC Conveter, break out board has been confirmed to operate at 5V)
GND <-GND
RX <-TX (I soldered it to the breakout board so no resistors were connected at the time.)
TX <-RX
Even if I changed both the baud rate of the code and the baud rate of the serial monitor, I could not receive a response.
I have connected both pull up and pull down resistors and not connected resistors.
But the result was the same.
So I tried to upload a Blink example using FTDI Converter without using Arudino Mega.
pinout was the same as the firmware update.
But this didn't work either.
Currently, Arudino Mega cannot communicate with the ESP 12S, nor can it communicate with the FTDI Converter.
However, when the baud rate is 74880, press the reset button and the following trouble shooting is output on the serial monitor.
ets Jan 8 2013, rst cause: 2, boot mode: (3,6)
load 0x40100000, len 612, room 16
tail 4
chksum 0xef
load 0x00000000, len 0, room 4
tail 0
chksum 0xef
ho 12 tail 0 room 4
load 0x00000000, len 0, room 12
tail 0
chksum 0xef
csum 0xef
csum err
ets_main.c
So the question I would like to ask is:
**1. I wonder if I pinout with the ESP 12S.
There is no need to update the firmware because it is already made for the convenience of use. Is there a way to get it back?
There is a RST button and a PROGRAM button on the ESP 12S Break out board.
What should I do if I want to solve the trouble shooting mentioned above?
I want to determine if the ESP 12S is out of order. Is there a proper way to judge this? In addition to the attempts mentioned above, there are various ways of connecting and proceeding, so I suspect that the device is broken.
I do not want to break down next time. Is there a way to connect securely?
Please tell me anything else you need to point out!**
Finally, thank you for reading this long article, and thank you for your lack of communication using the translator.
When I call Esp 12s AT, it's so eager to get an OK.
User contributions licensed under CC BY-SA 3.0