Tried this but nothing happens. Screen is simply blank.
Did you try the loopback test? (adapter without the ESP, with RX and TX shorted)
Hi, I did it but it does not double up my input. In addition, I tried hooking the ESP01 to an arduino uno but I end up in the same place. I also tried using a PC but I am back in the same place. I feel like maybe a should give up??
try type this on your linux terminal
dmesg | grep usb
dmesg | grep serial
dmesg | grep com
dmesg | grep ch340
Maybe you have selected the wrong serial port
Just to make sure, could you try again?
But this time after you type a few characters disconnect the wire and type a few more.
Does it stop showing what you type without the wire?
Explanation - there is usually a setting called "local echo", you only get doubled characters with that enabled. I'm not sure what is the default setting for the "screen" command. If your input stops showing up, then the default is disabled and the loopback worked fine.
Hi @rainyshadow,
I tried the loopback test but it does not do that. When I introduce the code the terminal screen clears completely, when I write something nothing happens it simply keeps what is written but no doubling of the characters. The strange thing is that I tried connecting it via an arduino uno and still get the same error... maybe the esp01 are faulty?
A bit confused here. What "code" did you write?
So, you have an arduino too? Did you try connecting it through the USB-Serial adapter? You need just the RX, TX and GND wires, you can power the arduino through its own USB.
Also, you can try the loopback test with the "screen" command using just the arduino, to see if it normally doubles the characters you type. I just tried it using the Serial monitor in the IDE, though i needed to hold Reset down the whole time.
How did you wire the esp01 to the arduino? What sketch you had executing during the test?
And the port is recognized ? If you load 'bink' on that, you can use the UNO to upload to the ESP. Make sure that the ESP's RX pin is connected via a voltage divider to reduce the 5v logic to about 3.3v
Connect CH_PD and RST to VCC 3.3v. I use the UNO's 3.3v output, but not all UNO's are the same. Connect GPIO 0 to GND to put the ESP in flash mode.
I tried this one.
How do I do the loopback test with the arduino uno board?
I prefer this one
A loopback test ? what for ?
Cool. I will have to order a logical level converter as I do not have any kicking about.
This doesn't seem right to me. They're telling you to connect RX to RX and TX to TX. A mistake, perhaps?
You would normally cross the signals - RX to TX.
Just short RX and TX on the arduino, then connect it to your computer. Open the Serial monitor in the arduino IDE and type something there and press Enter in the end. It should show up inside the monitor.
As i said before, i had to hold the Reset button down while doing this, otherwise the 328P chip won't let the signal go through. The loopback test is checking only the USB-Serial part of the arduino.
Next close the arduino IDE and repeat the test using the "screen /USBportName BaudRate" command for comparison. The value for baud rate doesn't matter as the arduino is both the sender and the receiver.
If you get doubled characters, it means the screen comand has local echo enabed by default.
After you're done, remove the short between the TX and RX pins on the arduino and connect them to the RX and TX pins on the USB-Serial adapter. Connect the GND pins too. Plug the adapter to your Mac and repeat the test using the device name assigned to it.
To see if the USB-Serial adapter is working correctly.
I tried it using my arduino UNO and a NodeMCU module (same chip as your ESP01) without a level converter.
Since you already hooked your ESP01 to the arduino, if the chip would fry from such direct connection, then it's already too late.
If you're ordering anything, better add another USB-Serial adapter as well, just in case.
Just found this and reading through the comments - Ask Hackaday: Is The ESP8266 5V Tolerant? | Hackaday
Cool. I will have to order a logical level converter as I do not have any kicking about.
You don't need a logic level converter, just a voltage divider on the ESP 's RX Pin
UNO RX - 1K - ESP RX - 1k - 1K - GND
They're telling you to connect RX to RX and TX to TX. A mistake, perhaps?
For Uploading or com-port communication with the ESP using the UNO's USB to TTL that is correct.
The USB to TTL's RX pin is connected to the UNO's TX (and USB to TTL's TX to UNO's RX) You set the UNO up not to interfere either by resetting it non stop, removing the chip or by simply loading a sketch that does not use the UART and pins 0 & 1 (which then are in INPUT mode) The UNO's TX connected to the ESP's TX is then connected to the USB to TTL's RX.
To see if the USB-Serial adapter is working correctly.
Yeah ok, well if the port is recognized, i'm satisfied.
I tried it using my arduino UNO and a NodeMCU module (same chip as your ESP01) without a level converter.
Since you already hooked your ESP01 to the arduino, if the chip would fry from such direct connection, then it's already too late.
That it an ESP-01 may break (and probably will break) does not mean it has broken already.
Add the voltage divider !
Just found this and reading through the comments
An ESP-01 is not 5v Tolerant ! not in my experience and i've fried at least a dozen.
A nodeMCU's RX pin can be though. The nodeMCU is a dev board and there are quite a few versions around, but the ones i have, are 5v tolerant on the UART0 RX pin (that is the main pin GPIO 3, not on the pins that can be used using swap() ) but on that pin only !! There are nodeMCU's that don't have the extra protection on the RX pin, so i would suggest to always first try with a voltage divider, and remove it if you find that it doesn't work.
You don't need a logic level converter, just a voltage divider on the ESP 's RX Pin
UNO RX - 1K - ESP RX - 1k - 1K - GND
Like this one?
Pretty much, i use 1K (not 10K) but it comes down to (almost) the same thing.
I also connect the RST pin to 3.3v, some ESP-01's have a pullup resistor there, some don't. And of course for putting it in upload mode GPIO 0 needs to be connected to GND at power up.
Ok. So after lots of trial and error, this is what I have been able to achieve so far. @Deva_Rishi I tried the option I mentioned just above but did not work (I got the usual error). Instead, I tried this (I found it online) and got some success. I tried the blink example from the ESP8266 library BUT changed the pin to #2. The code seems to have been uploaded (see here) but unfortunately the led does not blink!
Additionally, I tried the WifiClient within the ESP8266 library and filled up my ssid details, it did not throw any errors, but once uploaded the serial monitor does not show anything.
Any thoughts and/or suggestions? Do you think it could be down to settings for the board? I left them as default.
But you used a voltage divider ? I use 3x 1K because 10K tends not to work so well (the schematic does not contain any resistors, nor for the LED)
As for connecting the LED, keep in mind that GPIO 2 also should not be pulled LOW at boot, so if you connect a LED (through a (470R minimum) resistor, please.. that is for sure going to fry your ESP once it boots properly)
You connect the Kathode to the ESP, the Anode to 3.3v and make it active LOW.
You can also use the built in Blue LED on GPIO 1 (active LOW) , but GPIO 1 is also the TX pin, so that might not be practical if you are using the UART.
'Done Uploading' is proof that you have succeeded
(You can upload pictures directly to the forum with the upload button btw)
I suspect that it's the pulling 'LOW' of GPIO 2. Only GPIO 3 can safely be pulled low at boot for normal operation.
If you can not get a response (like a blinking LED) from the ESP-01 like that, you can try to specify 'Generic 8285' as a board.
But you used a voltage divider ? I use 3x 1K because 10K tends not to work so well (the schematic does not contain any resistors, nor for the LED)
In the latest test which I got some success I did not use the voltage divider. I did use the volt div in the previous one but had no success.
I am not concerned as much with the LED as my main purpose would be to have the ESP to send data via wifi. The blank serial monitor is what is concerning me more. This screenshot shows at the end "hard resetting via RTS pin..":
I have read that "hard resetting via RTS pin" is what you should get for a successful upload. However, the serial monitor is blank (it's in the right baud btw). This video I found shows a similar output, however the dude gets input from the serial monitor.
Do you know why that could be?
Ps. I am not extremely knowledgeable, if you could guide me via a simple scheme or pin connection I would much appreciate it
