-->
Page 1 of 1

Couldn't program ESP8266MOD with Arduino UNO

PostPosted: Wed Jan 19, 2022 5:24 am
by MianQi
I want to program an ESP8266MOD by Arduino UNO, the schematic is:
Image

the photo was:
Image

the Arduino UNO code was:
Code: Select all/*
 * testESP8266 - AT
 */
 
#include <SoftwareSerial.h>

SoftwareSerial ESPserial(8, 7); // RX | TX

void setup()
{

  Serial.begin(115200); // communication with the host computer
  //while (!Serial) { ; }
 
  // Start the software serial for communication with the ESP8266
  ESPserial.begin(115200);

  Serial.println("");
  Serial.println("Remember to to set Both NL & CR in the serial monitor.");
  Serial.println("Ready");
  Serial.println("");
}

void loop()
{
  // listen for communication from the ESP8266 and then write it to the serial monitor
  if ( ESPserial.available() ) { Serial.write( ESPserial.read() ); }
 
  // listen for user input and send it to the ESP8266
  if ( Serial.available() ) { ESPserial.write( Serial.read() ); }
}


the problem is when I want to enter AT mode I make CH_PD connected to GND then power on, then make it connected to VCC, when I type "AT" into Arduino IDE serial monitor, nothing happen.

Re: Couldn't program ESP8266MOD with Arduino UNO

PostPosted: Thu Jan 20, 2022 1:30 am
by JurajA
SoftwareSerial doesn't work at 115200 baud
upload Blink into ATmega and wire RX to RX TX to TX. this way you connect the esp8266 directly to USB chip of the UNO RX to TX. it is the way of using UNO as USB to Serial converter

Re: Couldn't program ESP8266MOD with Arduino UNO

PostPosted: Sat Feb 12, 2022 11:09 am
by sipan1313
When you use the Uno for its UART only, i.e. grounding RST pin, its Rx pin 0 becomes Tx, and Tx pin 1 becomes Rx -- because that's what pins on the UART you are connecting to. AppMonk didn't say what specific breakout/ chip mount he's using, there are many, or say how he's managing level-shifting from the Uno to the ESP if needed. The Tx pin on Uno (0, labeled Rx) is putting out 5v and the ESP would prefer 3.3, so level shifting w/ simple voltage divider is recommended. You don't need to level shift the Tx signal from ESP to Arduino's Rx (pin 1).