In my last question I got the suggestion to get a voltage regulator to power my ESP8266, so I went out to buy one and in the end my ESP8266 turned on. Then I started wiring the Tx/Rx pins through the Logic Level Shifter and tried out this piece of code I found online

// Basic serial communication with ESP8266
// Uses serial monitor for communication with ESP8266
//  Pins
//  Arduino pin 2 (RX) to ESP8266 TX
//  Arduino pin 3 to voltage divider then to ESP8266 RX
//  Connect GND from the Arduiono to GND on the ESP8266
//  Pull ESP8266 CH_PD HIGH
// When a command is entered in to the serial monitor on the computer 
// the Arduino will relay it to the ESP8266

#include <SoftwareSerial.h>
SoftwareSerial ESPserial(2, 3); // RX | TX

void setup() 
    Serial.begin(115200);     // communication with the host computer
    //while (!Serial)   { ; }

    // Start the software serial for communication with the ESP8266

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

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() );  }

But I when I tried sending "AT" to the ESP via the Serial Monitor nothing happend.

This is my current wiring, I hope it's not to unclear:

enter image description here

Hopefully someone can help me :)

  • change baudrates in code and serial monitor and check again . Might be 9600.
    – Mitu Raj
    Nov 16, 2017 at 18:36
  • @MITURAJ I already checked that, no luck
    – Fantasia
    Nov 16, 2017 at 18:37
  • Make sure these connections are there: 1) Power to esp8266 is 3.3 V from NANO. 2) GND of NANO to GND of esp8266. 3)TX from esp8266 goes to RX of NANO. 4)TX from Nano goes to esp8266 via a resistive divider for 3.3V drop. 5)CH_PD, RST pins of esp8266 = 3.3 V
    – Mitu Raj
    Nov 16, 2017 at 18:41
  • I think the problem is the baud rate, I ordered a USB to Serial converter to change it first
    – Fantasia
    Nov 16, 2017 at 18:47
  • 1
    I think I'll try flashing the firmware first, that's what my quick google search recommended
    – Fantasia
    Nov 16, 2017 at 18:59

3 Answers 3


Some hardware troubleshooting -

  • Make sure that the 3.3 V power supply to the wifi module is supplying enough current to esp8266 as it consumes much current.
  • Make sure that TX from Nano is going to RX of esp8266 via a resistive divider for bringing down 5V out signals from nano to 3.3 V ( to be on safer side)
  • At power-on, check if BLUE LED of ESP8266 blinked 2-3 times quickly and went OFF. Check if the RED LED lighted up and stays ON. If it does, your ESP8266 chip is working fine. If the BLUE LED did n't blink or if it stays ON, your firmware may be corrupt and you will need to re-flash the firmware of ESP8266.
  • Make sure that the baudrate is correct.

Step 1: Turn On Your ESP8266 Module by Using Arduino Nano 3.3V Dc Output Pin. Remeber sometimes Arduino board is not delivering sufficient voltage to the ESP8266 module. You can use a 3.3 V ( Do not exceed input voltage from 3.3v) regulator ( AMS1117 ) to power this module. A voltage divider circuit is used to drop the Arduino 5V to ESP8266 3.3 V.

Step 2: Here is the schematic Diagram, in my code I used Digital pin 2 as a Tx and D3 as an RX. enter image description here

Step 3: Open Arduino IDE and Paste the source code in the window just like shown in the picture. enter image description here

Step 4: You are ready to send At Commands to Your ESP8266 Module. Remember you will see a Garbage value during Serial Communication.

AT – Will give OK on the serial monitor, if Not just unplug vcc Pin of ESP8266 Module for a moment and reconnect again.

Send AT+RST – Command to Restart module / Optional Command

Send AT+GMR – To get the firmware version

Send AT+CWMODE? – Set Module to a Dual Mode Sucha as Standalone + Access Point mode.

Send AT+CWLAP – Command to Search Nearby Wifi Access Point. Find your Wifi Name in the Search Result.

Send AT+CWJAP="Your Wifi Name","Your Wifi Password" – Command to Connect to WIFI.

Send AT+CIFSR – Command to Check Allocated Ip given by your Wifi to your ESP8266 Module/Optional Command.

  • There are several problems with this posting. First, don't recommend using the Arduino's 3.3v output. The poster is already beyond that, in using an external regulator. Next, presenting code in a screen shot picture is absolutely unacceptable. But even if you'd presented the code in textual format within your post, you can't just propose alternate code, you need to explain why it is better than that already being tried. Nov 26, 2017 at 22:06

The problem is the ESP8266-01 as diagrammed is shorting the pins of the header. Remember that the breadboard you are using connects all pins on each side, on a row by row basis. The WiFi module has 8 pins with the pinout shared in other posts. You must "float" the module and wire it to the breadboard with point to point wiring (hope that is clear). Put simply... don't plug the WiFi module into the breadboard. Can't be done. Cheers!

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.