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

User avatar
By Mitja
#93507 Hello All,
I am having a problem when programming ESP8266 (12F) using the wiring diagram attached.
The code, written in ArduinoIDE in downloaded to ESP8266 by using USB/RS232 serial adapter,
based on CH340 chip and cross connected to RxD and TxD dedicated ESP pins (+ GND, ofcourse).

ESP is powered by using external +3V3 voltage adapter. The ESP gets into programming mode by
pressing FlashBtn (IO0  GND), followed by pressing ResetBtn (RST  GND). Then ArduinoIDE
(already compiled) code is sent to device by using serial code. In case timings are catched, the
ESP is succcessfuly flashed and the device runs the code as it should…
The problem is the following: programming is sucessful only a few times in a row, the state on
unpressed pin IO0 sets to + 2,85V – instead to +3,3V and ESP it can't be programmed.
The only thing which helps is by reseting the ESP power, but the procedure described above continues to emerges.
Q:
1. Does anyone knows, why this happens (IO0  +2,85V)?
2. Why does the success of programming depend on using the right moment (timing) to send the code from ArduinoIDE to ESP?
3. Does anybody know the reason/solution to problem described?

Best regards,
Mitja :geek:
You do not have the required permissions to view the files attached to this post.
User avatar
By rpiloverbd
#93513 Hi, I can see that the application circuit shown in the ESP12F datasheet is different from yours. https://docs.ai-thinker.com/_media/esp8 ... ion_en.pdf

Is there any particular reason behind the change? Which document/s are did you use as your reference while making the design?
User avatar
By jankop
#93550 The default I2C bus is on the GPIO4 and GPIO5 pins. GPIO2 must be guaranteed at the HIGH level at boot. Otherwise, your scheme is fine.
1. I press and hold the GPIO0 button.
2. I briefly press the RESET button.
3. I release the GPIO0 button.
4. Starts program recording from Arduino IDE.
That's all.