ESP8266-01 SETUP

Hi everyone, finally I got my famous ESP8266-01 to replace de ENC28j60, and I just started wondering since my module is working, at 1st glance it looks ok since the red led is on. The easy way I found in many places for checking is as follows:

Tx--->Rx(D0 arduino UNO)
Rx--->Tx(D1 arduino UNO)
CH_PD---> 3,3V external source
GPIO0--->3,3V external source (NO firmware load mode)
Vcc--->3,3V external source
Gnd---> external source Gnd and Arduino Gnd

I read in so many pages that looking at the serial monitor of the arduino Idle, an "OK" should appear when fixed the BR (9600 or 115200 - depend on the version) and set to "carry return" as said, but nothing goes...Already check the wiring 3 times, and dont know how to keep on going. Is there any chance to get this divice with no firmware?

Does anyone can suggest something? or a different way to check this module? Thanks for reading!

Sooo tricky, the arduino label for Tx and Rx is pretty confused, mine has arrows at each pin, an arrow pointing to the pin and says TX (now I understand From TX to here D1), and an arrow leaving Rx/D0 (go to Rx of the other devices)... and it worked! its confusing...I answer myself like crazy guys do, just to end the problem and hope if someone like me is struggling with this simple thing, solve it soon.

Bambo_Klaat:
I answer myself like crazy guys do, just to end the problem and hope if someone like me is struggling with this simple thing, solve it soon.

I do this, too. Great that you follow up on it, keep up the good work.

There are lots of videos, which I have seen. But my device does not work in any way.

Hi, probably you have com problems, try to wired Rx and Tx together on your arduino board, then open up the arduino serial monitor, type some and see if it reflects on the monitor, thats a way to check your arduino Tx/Rx state. Does your blue led of the esp blinks around twice when power off and on? the 1st thing you esp does is to send some info about the firmware and sets itself in "ready" state.

is it a com problem or you are dealing with other stuff? I will recieve mine back from the vendor next Monday the 13th (at least its not wednesday) I will keep on this "Magic Toy"...

I take back my previous words, I now know my Esp8266 had no firmware. That is why It was not working. After installing AT firmware every command works. There is a nodemcu firmware, that needs some more work. For nominal use AT firmware is fine.

This is the nominal code - Form an expert..... not me.

#include <SoftwareSerial.h>

SoftwareSerial esp8266(2,3); // make RX Arduino line is pin 2, make TX Arduino line is pin 3.
// This means that you need to connect the TX line from the esp to the Arduino's pin 2
// and the RX line from the esp to the Arduino's pin 3
void setup()
{
Serial.begin(9600);
esp8266.begin(9600); // your esp's baud rate might be different
}

void loop()
{
if(esp8266.available()) // check if the esp is sending a message
{
while(esp8266.available())
{
// The esp has data so display its output to the serial window
char c = esp8266.read(); // read the next character.
Serial.write(c);
}
}

if(Serial.available())
{
// the following delay is required because otherwise the arduino will read the first letter of the command but not the rest
// In other words without the delay if you use AT+RST, for example, the Arduino will read the letter A send it, then read the rest and send it
// but we want to send everything at the same time.
delay(1000);

String command="";

while(Serial.available()) // read the command character by character
{
// read one character
command+=(char)Serial.read();
}
esp8266.println(command); // send the read character to the esp8266
}
}

Hi nice you kept on kicking! could you hit some comands in the serial monitor? like setting the mode and check your stationIp? print(wifi.setmode(wifi.STATION)) and print(wifi.sta.getip()) ? this was my big issue, since I get 0.0.0.0... version of your ESP? firmware loaded? your nodemcu firmware looks nice for stand alone modules.

The vendor read somewhere I could not reached, that the SSID should be exactrly 10 Digicts. and it kicked and its stable, whole night kicking, used a 8 digits pswd and it kicked, but I dont know how robust these firmwares are about the pswd, with 8 is fine.

Used AI-v0.9.5.0 AT Firmware and the AT commands works and connect to another AP, used nodemcu_float_0.9.6-dev_20150704 and also kicks, so with the ESPlorer.

Cheers!

I don't see level shifting in your Rx-Tx connections going both ways. Are you doing that so as to not fry the ESP8266? It uses 3.3v while the Arduino uses 5V. Connecting an external 3.3v source isn't enough as the comm pins need level shifting too.

I used a 2 resistors divisor, and got 3,2V from 5 V, when I wired everything (esp plus arduino) back I got none response, later on I changed to a transitor and a couple of resistances to get the 3,3V straight from my source, it worked fine when running apart from arduino and stuff, but when connecting everything back, still no responce (I suspect the transistor was not fast enough - BC547 from my uni times), in both situations, ground was well fixed (all grounds together). So I went back to the basic conection and forgot the 5V arduino Tx and worked fine and still does, no burning out anything. It seems that sometimes logic is unlogic, but I would not set 5V straight to ESP Vcc. I read somewhere that the 3,3V Tx ESP is a proper high level for the arduino Rx pin.

Bambo_Klaat:
I used a 2 resistors divisor, and got 3,2V from 5 V, when I wired everything (esp plus arduino) back I got none response, later on I changed to a transitor and a couple of resistances to get the 3,3V straight from my source, it worked fine when running apart from arduino and stuff, but when connecting everything back, still no responce (I suspect the transistor was not fast enough - BC547 from my uni times), in both situations, ground was well fixed (all grounds together). So I went back to the basic conection and forgot the 5V arduino Tx and worked fine and still does, no burning out anything. It seems that sometimes logic is unlogic, but I would not set 5V straight to ESP Vcc. I read somewhere that the 3,3V Tx ESP is a proper high level for the arduino Rx pin.

It's ok to Tx 3.3V to the Arduino's Rx since it registers anything over 2.5v or so as HIGH. It's the reverse that can cause problems. It might "work" for a while, but eventually it could damage the ESP8266, possibly in a way that could cause intermittent and thus hard to diagnose problems. I bought a really cheap clone of Sparkfun's MOSFET-based level converter board on eBay. I think it was around $1. It converts up to 4 signals in either direction, and isn't limited to these 2 voltages as it's "programmable". I built a breakout board for the ESP8266 that both converts signals and voltages (using a 1117T LDO) and smooths power with 10uF caps, and makes the board breadboard-friendly.

If you're having problems, it may or may not be related to level conversion, but doing this properly just removed one more potential source of problems. When you're cutting corners and experiencing problems, don't cut corners. It may or may not help but it's always good practice.

Absolutly agree with you. Its a great practice to adapt the comm to reduce troubleshooting issues. thats why I pushed twice with no good responce, will keep in mind a fast MOSFET for converting signals. I wouldnt hesitate to get a $1 adapter, but for this kind of issues its a disgrace to be in Argentina, slowly becoming Venezuela, your ESP that cost 3 or 4 usd, here its 15usd, taxes for imported devices are criminal, plus some vendors are little blood sucker which make this, such an expensive hobby. If you order from China, my ESP could stay in the border for a long while and at the time I probably get it, there are 4 or 5 new esp version...Thanks for the information and push for good practice!!