2
votes

I've been following this instructable to configure my Arduino Uno as a FTDI programmer because I want to use it to program my brand new ESP8266. I use a 5V <-> 3.3V bidirectional logic level converter between my Arduino and the ESP-12. The VCC is coming from an external power supply. The connections I currently have are the following:

ESP-12 | Level shifted logic from Arduino & 3.3V power supply

  • Vcc <-> 3.3V
  • GND <-> GND
  • CH_PD <-> 3.3V
  • GPIO2 <-> 3.3V
  • GPIO15 <-> GND
  • GPIO0 <-> 3.3V
  • RX <-> TX (3.3V level shifted)
  • TX <-> TX (3.3V level shifted)

Every time I try to upload some code (f.x. the Blink example) onto the ESP-12 using the newest Arduino IDE (1.6.5) I get the following error:

warning: espcomm_sync failed

error: espcomm_open failed

When I pull the reset pin on the ESP-12 low I get incoming serial data which is almost unreadable at 115200 baud rate: Some gibberish coming from the ESP over serial

Has anybody successfully managed to program the ESP-12 using an Arduino Uno or happens to know if that is possible at all?

3

3 Answers

0
votes

So the solution I came up with is not ideal. There seams to have been some kind of error with the 5V <-> 3.3V logic level converter. My solution was to plug the TX/RX pins on the arduino directly into the RX/TX pins on the ESP-12. The RX/TX pins on the ESP-12 do not officially support 5V logic but in my case they seem to do so. Use 5V logic AT YOUR OWN RISK.

The setup I'm currently using with Arduino IDE 1.6.5 can bee seen in the schematic below (although adapted to the ESP-12, not ESP-1 as on the schematic). To allow the ESP-12 to be programmed, you must first press SW1 and holding it down pressing SW2. Afterwards you should be able to program the chip from the newest Arduino IDE. Working setup

0
votes

If you're using an Arduino board's FTDI chip then because of their bizarre pin labeling you actually have to connect TX-TX and RX-RX.

This can be done with the ATMega chip in place - no harm there, but take care that your Arduino board is using 3v3 on the serial TX/RX pins - some boards may use 5v which will fry your ESP8266! My ancient Duemilanove works fine, but YMMV.

-1
votes

You cannot program 2 chips at a time. In order to use your arduino board as a FTDI programmer you have 2 ways

  1. Remove the Arduino Chip
  2. Connect the Reset pin of the Arduino to GND

Try to program after these modifications.