Use this forum to chat about hardware specific topics for the ESP8266 (peripherals, memory, clocks, JTAG, programming)

User avatar
By timkay
#78089 Can anybody help me figure out what is causing my ESP-M2 TX lines to fry?

Multiple ESP-M2 worked fine for a while, then got harder and harder to program, until they can no longer be programmed. It seems the TX pin (GPIO1) is fried. Here is a trace of the signal from the TX line and also the TX1 line (GPIO2). (During boot, both pins present the same data, so this device can still be programmed using TX1, even with TX is fried.)

Image

Note that the analog signal looks terrible; the data is still in there, but it is so corrupt that the USB-to-serial can’t recognize it. The image below shows the analog data on TX1, which looks much better.

Image
Last edited by timkay on Thu Sep 06, 2018 11:59 am, edited 1 time in total.
User avatar
By QuickFix
#78112 What is connected to TX and at what levels (pull-up to Vcc perhaps)?
A schematic or photo's would've helped more than scope readings.

If higher than 3.3V (±10%) that will be the reason of fried I/O's (and no: the ESP is not 5V tolerant, on any pin). :idea:
User avatar
By timkay
#78113 @QuickFix, TX is an output, so the 5V-tolerance issue is a non-sequitur, I think. If that were the issue, then the RX pin would be fried, not the TX pin, right?

Second, the consensus seems to be that the GPIO pins on ESP8266 *are* 5V tolerant. See, for example, https://www.ba0sh1.com/blog/2016/08/03/is-esp8266-io-really-5v-tolerant/. Please help me understand how you are confident that there is no 5V tolerance?

Having said that, yes, I do have RX hooked up to a 5V USB-to-TTL output. The USB-to-TTL adapter has a 3V3 setting, but that choice doesn't provide enough power to run the ESP8266 with WiFi active. I set the adapter to 5V and run the power output through a 3V3 voltage regulator, resulting in enough power. It does mean that the ESP8266 RX is driven at 5V. That pin does not show any damage. It's the *output* pin, TX, that is damaged.

(As an aside, I realized more recently that the adapter has a separate 5V breakout, so I have since switched to the 3V3 setting for the TTL outputs.)

I would find it helpful if somebody with more experience than I have could speak to the following question: Are the signals shown in the traces what I would expect from frying the pin? Is this what a fried pin looks like?
User avatar
By QuickFix
#78120
timkay wrote:I think. If that were the issue, then the RX pin would be fried, not the TX pin, right?

Maybe so, but the TX is going somewhere, isn't it, or is it just floating?

timkay wrote:Second, the consensus seems to be that the GPIO pins on ESP8266 *are* 5V tolerant. [...] Please help me understand how you are confident that there is no 5V tolerance?
I don't believe in hear-say and only follow the manufacturer's (designer) guidelines.
From their FAQ (but it's also in their other manuals):
Espressif ESP8266 FAQ wrote:5.14. Are the GPIO pins 5 V compatible?

No, they are not. While many applications may get away by using a resistor voltage divider
or series resistor, we highly recommend using a proper logic level converter chip to
interface with 5 V logic. Not doing so may lead to damage to the ESP8266 in the long run.

FYI: TX and RX are both also just GPIO's (GPIO2 and GPIO3 to be exact).

timkay wrote:yes, I do have RX hooked up to a 5V USB-to-TTL output.

This could also mean that the RX of the USB-to-TTL adapter (and thus directly the TX-line of your ESP) is pulled up to 5V internally.
timkay wrote:The USB-to-TTL adapter has a 3V3 setting, but that choice doesn't provide enough power to run the ESP8266 with WiFi active.

That's a known and often made mistake: powering an ESP from a USB-to-TTL adapter; an ESP needs a solid power supply able to deliver at least 350mA to 500mA of current (at 3.3V).
timkay wrote:Are the signals shown in the traces what I would expect from frying the pin? Is this what a fried pin looks like?

Can't really answer that one, since I always try to use a thought out and calculated design first instead of frying my components first and determine what assumptions were wrong afterwards.
But I can imagine that, over time due to overload, the p-n junction flattens resulting in the odd looking edges you see on your scope.

Good luck with your quest.