使用Arduino作为FTDI编程器编程ESP8266(ESP-12)

时间:2015-07-21 12:46:06

标签: arduino-uno arduino-ide esp8266

我一直关注this instructable将我的Arduino Uno配置为FTDI程序员,因为我想用它来编写我的全新ESP8266。我使用5V< - >我的Arduino和ESP-12之间的3.3V双向逻辑电平转换器。 VCC来自外部电源。我目前的联系如下:

ESP-12 | Arduino&的电平转换逻辑3.3V电源

  • Vcc< - > 3.3V
  • GND< - > GND
  • CH_PD< - > 3.3V
  • GPIO2< - > 3.3V
  • GPIO15< - > GND
  • GPIO0< - > 3.3V
  • RX< - > TX(3.3V电平转换)
  • TX< - > TX(3.3V电平转换)

每次我尝试使用最新的Arduino IDE(1.6.5)将一些代码(f.x.Blink示例)上传到ESP-12时,我收到以下错误:

  

警告:espcomm_sync失败

     

错误:espcomm_open失败

当我将ESP-12上的复位引脚拉低时,我得到的输入串行数据在115200波特率下几乎不可读:Some gibberish coming from the ESP over serial

是否有人成功设法使用Arduino Uno对ESP-12进行编程,或者碰巧知道这是否可行?

3 个答案:

答案 0 :(得分:0)

所以我提出的解决方案并不理想。 5V< - >部分出现了某种错误。 3.3V逻辑电平转换器。我的解决方案是将arduino 直接上的TX / RX引脚插入ESP-12上的RX / TX引脚。 ESP-12 上的RX / TX引脚不正式支持5V逻辑但在我的情况下它们似乎是这样做的。使用5V逻辑自担风险

我目前使用Arduino IDE 1.6.5的设置可以在下面的示意图中看到(尽管适用于ESP-12,而不是原理图中的ESP-1)。要允许对ESP-12进行编程,必须先按SW1并按住SW2按住它。之后,您应该能够使用最新的Arduino IDE对芯片进行编程。   Working setup

答案 1 :(得分:0)

您不能一次编程2个筹码。为了将您的arduino板用作FTDI程序员,您有两种方法

  1. 删除Arduino芯片
  2. 将Arduino的Reset引脚连接到GND
  3. 尝试在这些修改后进行编程。

答案 2 :(得分: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.