ESP 8266 Pin Designations

I've been planning to buy a few ESP8266 12F chips, and I wish to program them from a hookup directly through an UNO, bearing in mind that I need level shifting. I see plenty of references that that should work for programming them through the Arduino IDE.

However, I notice that most wiring diagrams for the ESP8266 refer to a CG_PD pin. The 12F's I'm looking at on the internet have no such pin, but do have an EN pin. (probably enable). Does anyone have experience with this? What is the function of the CG_PD pin, and should EN be pulled high or low?

Thanks in advance for any help.

Hi,
I don't have ESP12 but I have ESP01 and ESP07 (see picture below).
But I think the ESP07 have the same pinout with ESP12. I tried to communicate with ESP07 using UNO, but up to now, it's still a mess.
You're right. EN pin in yours is the "CH-PD" pin in mine, which is the enable pin, and you have to put it to HIGH to enable the chip.
But I can communicate with the ESP using 3.3V USB to TTL adapter (CP2102, you can googling for this) using AT commands.
Connection:
ESP CP2102 3.3V Power Source
RX TX
TX RX
GND GND -
Vcc +
CHPD +
RST (put to LOW to reset)
GPIO0 (put to LOW to enable firmware flashing mode)
That's all I can help you :slight_smile:

ductruong253:
Hi,
I don't have ESP12 but I have ESP01 and ESP07 (see picture below).
But I think the ESP07 have the same pinout with ESP12. I tried to communicate with ESP07 using UNO, but up to now, it's still a mess.
You're right. EN pin in yours is the "CH-PD" pin in mine, which is the enable pin, and you have to put it to HIGH to enable the chip.
But I can communicate with the ESP using 3.3V USB to TTL adapter (CP2102, you can googling for this) using AT commands.
Connection:
ESP CP2102 3.3V Power Source
RX TX
TX RX
GND GND -
Vcc +
CHPD +
RST (put to LOW to reset)
GPIO0 (put to LOW to enable firmware flashing mode)
That's all I can help you :slight_smile:

Above is pinout of ESP12E, but also the same for ESP12F.

As my experience and many sources on the internet, you can direct connect Tx and Rx pins of ESP12F to the UNO board without level shifter.

Regards,

Re: level shifter. I think it's been made clear that indeed you can do without but I think the question "should you do without" still remains unanswered.

Here's the statement from an Espressif employee on their official forum(http://bbs.espressif.com/viewtopic.php?t=1145):

We donot recommend you to apply 5V to IO.

Here's a comment on a Facebook ESP8266 group from someone with the same name as the CEO of Espressif, though this would be easy enough to fake(Redirecting...):

i can reply officially here: it is 5V tolerant at the IO. while the supply voltage is at 3.3V.

If he can officially reply in a random comment in a random group that only a few hundred will ever stumble across, why can't he officially reply in the ESP8266 documentation? His Facebook stats seem very lightweight for the CEO of such a well known company. He has 25 followers and the "Espressif Systems Official Facebook page"(actually a group) he posted about only has 74 members after a year.

My instinct is to trust the statement on the official forum. One thing's for sure, using a level shifter will cause no harm. On the other hand, getting an ESP8266 working can be very difficult for some people so in that case simplifying the circuit and reducing complexity may be well worth the risk of reducing the life expectancy of a $2USD part.