[Need Help] Connect Arduino to esp8266 es05 WiFi module

Hello!
This is my first post around here, so please excuse any mistakes :slight_smile:

So, I have to connect my Arduino UNO to a WiFi network for a school project. I bought a ESP8266 ESP05 WiFi adapter module, but i can't seem to make it work. All tutorials on the internet are about the ESP01 version, but the version i have only has 5 pins (RST,GND,RX,TX and VCC), as show in the image attached. I've tried using the softwareserial library to retrieve basic information from the module and print them on the serial monitor, but without success. I've also tried the code found here: Tutorial Módulo Wireless ESP8266 com Arduino - MakerHero to get the firmware version, and it didn't work either.

Here is what i have tried so far:

  • VCC connected to 3.3V rail from old PC power supply (Checked with multimeter, 3.33 V approx.);
  • GND connected to power supply GND;
  • TX connected directly to arduino softwareserial TX pin (digital pin 3 on the example);
  • RX connected directly to arduino softwareserial RX pin (digital pin 2), then connected via a resistor voltage divider to get 3.3 V logic level, then via an active voltage divider using a NPN transistor, none worked;
  • RST pulled to 3.3V or to GND, haven't worked either way;
  • Arduino powered from power supply 12V rail, common ground with the module's 3.3V power;
  • Serial Monitor used to see commands, as i don't own a FTDI board;
  • Tried to communicate with different baud rates: 9600, 115200, 19200, 14400, 28800, 38400 with no success;
  • Searched google for hours trying to find a datasheet or any documentation on the module at all.
  • The board doesn't even have status LEDs, I have no way to know if it is working.

I don't know where to search anymore, so please if someone could help me, I would be very grateful. Has anyone ever connected this version of ESP8266 to an arduino UNO board successfully?
This is the example code i used from the filipeflop blog (no copyright infringement intended, all rights reserved to them):

// Programa: Versao firmware modulo ESP8266 e
//           mudanca de baud rate
// Autor : FILIPEFLOP
 
#include <SoftwareSerial.h>
 
//RX pino 2, TX pino 3
SoftwareSerial esp8266(2, 3);
 
#define DEBUG true
 
void setup()
{
  Serial.begin(9600);
  // Configure na linha abaixo a velocidade inicial do
  // modulo ESP8266
  esp8266.begin(115200);
  sendData("AT+RST\r\n", 2000, DEBUG);
  delay(1000);
  Serial.println("Versao de firmware");
  delay(3000);
  sendData("AT+GMR\r\n", 2000, DEBUG); // rst
  // Configure na linha abaixo a velocidade desejada para a
  // comunicacao do modulo ESP8266 (9600, 19200, 38400, etc)
  sendData("AT+CIOBAUD=19200\r\n", 2000, DEBUG);
  Serial.println("** Final **");
}
 
void loop() {}
 
String sendData(String command, const int timeout, boolean debug)
{
  // Envio dos comandos AT para o modulo
  String response = "";
  esp8266.print(command);
  long int time = millis();
  while ( (time + timeout) > millis())
  {
    while (esp8266.available())
    {
      // The esp has data so display its output to the serial window
      char c = esp8266.read(); // read the next character.
      response += c;
    }
  }
  if (debug)
  {
    Serial.print(response);
  }
  return response;
}

Sorry for my bad english, I'm Brazilian, hope you can still understand me :stuck_out_tongue:

Thanks in advance,

Caio Tácito Borges da Costa

ESP05 pinout.jpg

caiotbc:

  • TX connected directly to arduino softwareserial TX pin (digital pin 3 on the example);
  • RX connected directly to arduino softwareserial RX pin (digital pin 2),

You need to connect RX on the Arduino to TX on the ESP8266 and TX on the Arduino to RX on the ESP8266

RX stands for receive, TX for transmit so that's why the transmit pin needs to connect to the receive pin and vice versa.

LOL! How did I miss that? I should stop skipping the networking classes haha. Thank you very much! That solved the issue. The module now works like a charm. You just saved my day :slight_smile: