Can't initialize OSOYOO ESP8266 WiFi Module using Arduino simple example

I've used Arduino successfully before but this is the first time attempting to use any WiFi board with it. The ESP8266 WiFi module from OSOYOO seemed very attractive due to price and also that it has an integrated 5V to 3.3V regulator for simplifying power supply requirements.

But the code doesn't ever get past initiating communication between Arduino and ESP6288. In the interest of clarity I thought i would just include here the beginning of the code where it fails at line 40. I believe the key is the SoftwareSerial.k library which is part of the core for the Uno. I've read the reference info many times but can't see why it wouldn't be able to initialize serial comm.

Here are the instructions to get started with a "Hello World" from OSOYOO

The board uses the ESP-12S chip which I have re-read the data sheet for it many times.
I am following the simple get started example provide by OSOYOO trying to get the board to recognize my local wifi network and write Hello World to an IP address.

Here's the failure shown in the Serial Monitor (set to 9600 baud)
[WiFiEsp] Initializing ESP module
[WiFiEsp] >>> TIMEOUT >>>
[WiFiEsp] >>> TIMEOUT >>>
[WiFiEsp] >>> TIMEOUT >>>
[WiFiEsp] >>> TIMEOUT >>>
[WiFiEsp] >>> TIMEOUT >>>
[WiFiEsp] Cannot initialize ESP module
[WiFiEsp] >>> TIMEOUT >>>
[WiFiEsp] No tag found
WiFi shield not present

The hardware connection has been checked many times:

I have installed the WifiEsp.h library to the Arduino per instruction.
I've tried the examples under WiFiEsp Master Library Folder. Same errors. Can't talk to the ESP8266
Tried changing Rx pin 4 to pin 0 and Tx pin 3 to pin 1 on Arduino. Same error
Tried many other posts and examples
Vcc on the OSOYOO module is 4.83VDC from the 5V. This is supposed to be Ok due to the onboard voltage regulator on the WiFi module board. I have a steady green led on the module.
Finally, one thing I did not try was to reflash the firmware on the ESP6266 since they said it was "official"?

I've been at this for a few days now and I must be missing something basic. I think this board is a game changer for pricing of IoT projects If it could just work..
Any insights appreciated.

/*  ___   ___  ___  _   _  ___   ___   ____ ___  ____  
 * / _ \ /___)/ _ \| | | |/ _ \ / _ \ / ___) _ \|    \ 
 *| |_| |___ | |_| | |_| | |_| | |_| ( (__| |_| | | | |
 * \___/(___/ \___/ \__  |\___/ \___(_)____)___/|_|_|_|
 *                  (____/ 
 * Osoyoo Wifi Arduino Shield Testing Project
 * Make Arduino and ESP8266 wifi shield as a web browser
 * tutorial url:
#include "WiFiEsp.h"

//#ifndef HAVE_HWSERIAL1
#include "SoftwareSerial.h"
SoftwareSerial softserial(4, 5); // RX, TX

char ssid[] = "myssid";            // your network SSID (name)
char pass[] = "mypw";        // your network password
int status = WL_IDLE_STATUS;
int reqCount = 0;                // number of requests received

WiFiEspServer server(80);

void setup()
  // initialize serial for debugging
  // initialize serial for ESP module
  // initialize ESP module

  // check for the presence of the shield
  if (WiFi.status() == WL_NO_SHIELD) {
    Serial.println("WiFi shield not present");
    // don't continue
    while (true);

  // attempt to connect to WiFi network

SoftwareSerial doesn't work at 115200 baud

Thank you but the SoftwareSerial Library docs here say that it does.

The SoftwareSerial library has been developed to allow serial communication on other digital pins of the Arduino, using software to replicate the functionality (hence the name "SoftwareSerial"). It is possible to have multiple software serial ports with speeds up to 115200 bps.

At any rate, I tried changing the code to 9600, 19200 and 38400 and all had the same error. I don't need 115200. Would be happy working at 9600

Example of how I changed the code:

 // initialize serial for debugging
  // initialize serial for ESP module
  // initialize ESP module

default for Espressif AT firmware is 115200 so you have to send the baud rate change at 115200. that is not a problem. problem is receiving at 115200 baud.
the AT command to change the baud rate in Espressif AT firmware is different, but I don't know what AT firmware is in your esp.

Thanks for hanging in there with me Juraj. Makes sense what your saying.

I've been trying the baud rate change sketch with no luck but here's my observations.
The sketch you have uses the WiFiEspAT.h library and the OSOYOO example I have uses the WiFiEsp.h library. I've tried both.

True- I don't know exactly what AT command firmware is on my chip,
But, on the board itself is a ESP-12S metal package.
So I looked up the User Manual for that here.

And on page 12 it says it uses the ExpressIf cmmand set. Which should be good?
Also in the Notes, it says commands have to have a "/r/n" suffix
I tried putting the "/r/n" at end of commands in the change baud sketch but got the error shown below.

Is it a syntax issue I have with the Serial1.print statements?
Finally, I'm a little confused on the use of Serial1 and Serial. Unless Serial1 is for the port to the ESP8266 (ESP-12S) and the Serial is for the Serial Monitor?


This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.