However, I found this recommendation confusing. In case of Arduino, when a GPIO pin was configured in input mode, it would have high impedance and can withstand quite a bits of voltage on its own. Why it isn't also the case for ESP8266?
As a matter of fact, the spec of ESP8266 did mention something about the input pin protection. It said the input pins have 2 pF capacitance and something like this...
All digital IO pins are protected from over-voltage with a snap-back circuit connected between the pad and ground. The snap back voltage is typically about 6V, and the holding voltage is 5.8V. This provides protection from over-voltages and ESD. The output devices are also protected from reversed voltages with diodes.
Who know's LOL some where you'll find that the uC on the esp is able to work with 5 volts but the maker of the ESP said it's a 3.3 volt chip and to use it as such.
But I have 5 of these with a diode on the RX pin the TX pin doesn't matter.The diode drops .7 volts which get's you around 4.3 on the RX pin which is on alot of boards that you can find.
Like this one Adafruit HUZZAH ESP8266 Breakout : ID 2471 : $9.95 : Adafruit Industries, Unique & fun DIY electronics and kits
But don't power it with 5 volts or feed a input with 5 volts the RX pin you can get away with the 4.3 volts maybe even 5 volts but that's because the pin is not driving high for very long.
I would forsure only use 3.3 on any of the rest of the pins.
The data sheets I've seen say a max of 3.6 but the RX pin has shown to be happy at 3.3 to 4.3 it didn't like lower then 3.3 volts it would miss data when flashing I found that out when I tried to flash one with a diode and had powered a ch340 at 3.6 volts it didn't like the 0 to 3 volt swing.
ma_hty:
...In case of Arduino, when a GPIO pin configured in input mode, it would have high impedance and can withstand quite a bits of voltage on its own.
An input pin has a very high impedance untill input voltage gets above VCC +0.5volt.
Then the input protection diodes start to conduct to dump excess voltage to the supply rail.
A 5volt output signal could phantom-power a 3.3volt device through the input pin.
Leo..
Wawa:
An input pin has a very high impedance untill input voltage gets above VCC +0.5volt.
Then the input protection diodes start to conduct to dump excess voltage to the supply rail.
A 5volt output signal could phantom-power a 3.3volt device through the input pin.
Leo..
A 5volt output signal could phantom-power a 3.3volt device through the input pin.
Leo..
Does it means... it could be just fine as long as the 3.3V device was power on?
If the 3.3volt device is on, any signal > ~3.8volt will start powering the 3.3volt device.
There is a gradual slope, and you might not notice it untill the signal is >4volt.
When the 3.3volt device is off (VCC = 0volt), a 0.5volt input signal will already start powering the device.
A 1:2 divider between 5volt output pin and 3.3volt input pin reduces the signal to 3.3volt, and stops phantom-powering due to current limiting of the voltage divider.
Leo..
Wawa:
If the 3.3volt device is on, any signal > ~3.8volt will start powering the 3.3volt device.
There is a gradual slope, and you might not notice it untill the signal is >4volt.
When the 3.3volt device is off (VCC = 0volt), a 0.5volt input signal will already start powering the device.
A 1:2 divider between 5volt output pin and 3.3volt input pin reduces the signal to 3.3volt, and stops phantom-powering due to current limiting of the voltage divider.
Leo..
^^", I'm still lost... Does it means... it could be just fine as long as the 3.3V device was power on?
Why's the "phantom-powering" a problem in the first place exactly? If the power drained from the signal pin is a concern, isn't that the voltage divider drains power too?
On the other hand, power-down the wifi module individually while the arduino is on? It sounds a little bit remote to me. I don't think I need a scenario like this (at least, for the moment). By the way, the reverse is more likely for me, i.e. power down arduino to save power and use the wifi module to fire it up on demand.
Grumpy_Mike:
To which the answer is no it is not enough. You will kill your device. Maybe not immediately but nevertheless you will kill it. Do not do it.
How do you decide whether it is enough or not? Mmm... let's say... I do have the luxury (though I don't) to modify the input pin protections; which parts should be upgraded?
There is really no way to tell what is or what isn't going to happen the esp datasheet is crap. The uC in it is 5volt tolerant but you don't no if they made the esp rest of it tolerant..
So I would just keep the inputs under the 3.6 volts
be80be:
But I have 5 of these with a diode on the RX pin the TX pin doesn't matter.The diode drops .7 volts which gets you around 4.3 on the RX pin which is on a lot of boards that you can find.
...
But don't power it with 5 volts or feed a input with 5 volts the RX pin you can get away with the 4.3 volts maybe even 5 volts but that's because the pin is not driving high for very long.
Oops!
Didn't think that through, did you?
You posted the Adafruit circuit as I often do when discussing this, but you didn't read it!
The diode performs level conversion similarly to the standard bidirectional level converter by pulling down the input for a LOW, relying in this case on the internal pull-up (which will be effective as long as the diode itself is located close to the ESP8266 and its input capacitance is low). So in fact the LOW level is constrained to 0.7V and the HIGH level by the ESP8266, to its own 3.3 V Vcc. It is very clever and there is no concern whatsoever with parasitic powering or protection diodes or any other relevant specification.
Well perhaps you need to figure out how a diode outside of the chip could do the same thing as a paralytic diode that across The Source in the drain of Mosfet
All that diode dose is drop .7 volts
You fix the op up Im sure you can I didn't ask for help he did, Theres a diode dropping the 5 usb to serial to 4.3 volts which then is clamped to 3.3 volts to the power rail because you have a diode on the input pin. its still not the same as using the mosfet for bidirectional level converter
I have to admit, that is a clever protection method. +1 Paul__B
RXD HIGH relies on the ESP8266 internal pullup.
RXD LOW is driven by the RXD_5V signal.
I guess technically the RXD input is protected to (75 + 3.6) volts.
I wonder if the internal pullup of the ESP8266 is adequate if the baudrate is at the default 115200?