level shifter board and ESP8266 RX pin

I have ESP8266 ESP-01 module purchased on eBay.

I bought a bi-directional level shifter board ( http://i.ebayimg.com/images/g/yD8AAOSwpDdVRM9R/s-l1600.jpg ) also on eBay.

I cannot figure out why
a.) ESP8266’s RX pin <—> Arduino RX pin === works
b.) ESP8266 RX pin <—> [ LV1 level shifter board HV1 ] <—> Arduino RX pin === fail

By fail, I mean that I get no response to AT command in Serial Monitor.

I am using the Arduino Uno as a USB to serial converter. The Atmega microcontroller has been removed.
http://rancidbacon.com/files/kiwicon8/ESP8266_WiFi_Module_Quick_Start_Guide_v_1.0.4.pdf

I have a separate 3.3V power supply.

I checked the voltages on the level shifter board, and they are fine.

Good question.

Those pull-ups are all 10k. Perhaps try a 3k3?

Of course, you do not need a level shifter for the TX line, and according to LadyAda, you do not need anything more than a diode as level shifter for the RX line.


That level shifter is doing just fine for my MF-RC522.

Are you suggesting that I change the resistors on the board?

When shifting from 5V to 3V, the signal at the 3V side isn't very sharp. See fig 7 here (pg 14). Try testing with shorter cables and lower baudrates.

dlloyd: When shifting from 5V to 3V, the signal at the 3V side isn't very sharp. See fig 7 here (pg 14). Try testing with shorter cables and lower baudrates.

Unfortunately, the intial baudrate on the ESP8266 ESP-01 is 115200. The total cable length is about 1 foot (6 inches from ESP-01 to level shifter board on breadboard then another 6 inches to the Arduino Uno.

Would a simple voltage-divider be better?

Disappointing since I bought 10 of these level shifter boards. :confused:

Haven't used the ESP8266 before, but it looks interesting. Maybe you could try the 3.3K pullup resistors as Paul__B suggested. You wouldn't need remove the ones on the level shifter board (they would be in parallel). The 3.3K's could be located anywhere along the wire connections, wherever its convenient (as a test).

WHY do you need a BI-DIRECTIONAL level shifter for UNI-DIRECTIONAL pin ? (RX, TX, are not bi-directional are they ? I mean think about it . If the name of the pin is Rx, can it act as a Tx ?)

Why not try one of these ?

dlloyd: Haven't used the ESP8266 before, but it looks interesting. Maybe you could try the 3.3K pullup resistors as Paul__B suggested. You wouldn't need remove the ones on the level shifter board (they would be in parallel). The 3.3K's could be located anywhere along the wire connections, wherever its convenient (as a test).

Actually, to make 3.3k, you parallel the present 10k with 4.7k. :grinning:

Close, but not exactlh.

(10 * 4.7)/(10+4.7) = 3.19727891 => 3.2

I was waiting for that.

I really was! :roll_eyes:

So you know my MO ?

Don't we all? :grinning: :grinning:

I had a feeling I was walking into a "setup"...

I use an equation in my HP48 calculator which allows me to enter the desired total resistance and choose values for R1 & R2.

HP says:

Given: R(total)=3.3 k R1=4.7 k correct value for R2 = 11078 (10 k + 1 k + 82) (78 not standard value) ( in series)

But, seriously, let's not get crazy. It's just a pullup , so , I'm sure 3.2 k is fine.

I received two types of USB to serial converter boards that I bought on eBay two weeks ago.
This morning I hooked both of them up, one at a time, and for some reason, the RX is fine when using those boards to communicate with the ESP-01.

I have restored my Uno to its original condition. :slight_smile:
I don’t know if I will run into the problem again when I am using the Arduino Uno to communicate with the ESP-01. The purpose of this exercise was to give the Uno wifi capability.

raschemmel:
WHY do you need a BI-DIRECTIONAL level shifter for UNI-DIRECTIONAL pin ? (RX, TX, are not bi-directional are they ? I mean think about it . If the name of the pin is Rx, can it act as a Tx ?)

Why not try one of these ?

I bought cheap Chinese version of this https://www.sparkfun.com/products/12009. Maybe you’ll understand why I bought it from their description.

I think you will find that many/ most of the USB-serial adapters actually use 3.3 V logic throughout (or provide for switching), so level converters are not needed at all. Of course it is 5 V tolerant.

As I said, that level shifter is doing just fine for my MF-RC522.

Hi

I used this configuration schematic, but instead of resistors, I used a CD4050 and as you a level shifter board and powered from external 3.3v supply, with same fine results:

And as you can see only RX on esp8266 pin is level converted.