2

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?

Community
  • 1
  • 1
multivac61
  • 35
  • 1
  • 1
  • 8

3 Answers3

0

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

multivac61
  • 35
  • 1
  • 1
  • 8
  • I think it should work with the ESP-01 the same, as long as you use the correct pins. Keep in mind that the topic of ESP being able to handle 5v signals is as hotly debated as the existence of Herobrine :) – bluemind Nov 14 '16 at 09:16
0

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.

paulw1128
  • 454
  • 3
  • 14
-1

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.

Meet Desai
  • 173
  • 1
  • 8
  • Using the FTDI chip on the Arduino board works just fine with no risk to the programming of the ATMega on the Arduino board. The biggest risk with this method is that some Arduino boards use 5V on these pins. – paulw1128 Nov 12 '16 at 05:37
  • You're misunderstanding the question, OP is not trying to program two boards at the same time. – Layne Bernardo Dec 31 '20 at 00:20