记录自己给ESP32S / ESP 12F /ESP 01模块自动烧录,自动复位

烧录原理

ESP 8266 和 ESP 32系列都是降低GPIO 0 电平来触发烧录.

但是直接拉低电平不能直接烧录.

因为, 8266和ESP 32 都有个下载模式,一个运行模式.

 

直接复位(或者通电) ,如果GPIO 0是高电平 进入运行模式. (默认是高电平.)

直接复位(或者通电) ,如果GPIO 0是低电平 进入下载(烧录)模式.

 

 

手动烧录原理

 

1,接个按钮RST,按下的时候短接模块RST      GND  . 也就是按下就复位.

2,接个按钮,FLASH ,按下的时候短接模块GPIO 0   GND  .也就是按下拉低GPIO 0电平.进入烧录模式用.

 

在运行模式的时候,直接按FLASH按钮是不会进入烧录模式的.

要先按RST复位,然后马上按FLASH按钮.才会进入下载模式.

 

 

 

自动烧录

USB转TTL有两个比较便宜有好用的芯片支持自动烧录.

CH340C 和 CH340G (340有好几个可以)

这里分享一个官方图,只要同时支持RST DTR的芯片都可以.

通过NPN三极管当继电器用,控制板子电平高低来自动复位,自动烧录.

山寨版本的arduino uno / 以及其他8266开发板 D1 / nodemcu  大数用的CH340G

 

340G需要外部晶振.340C不需要,内置晶振,所以如果自己DIY的话ch340C是个很不错的选项.

 

大致图纸是,(毫无电子基础的我,看的不太懂.只参考了底部的自动烧录路线部分.)

 

USB转TTL部分

我尝试DIY一个340c转TTL,因为不小心掰弯了一个340C的UD-脚,而失败.

于是用了一个现成的模块.

淘宝搜索 "WEMOS CH340G Breakout"  3-4元包邮的亚子.

 

这个模块,并不能直接自动下载.线路是需要自己手动改下的.

 

这个板子:

1,底部的三个触点, 3.3V  5V无论如何短接 ,最后VCC出来都是5V.所需后续电路还需降压.

2,正面也有三个触点. 按我这个图,芯片右边有个短接触点.短接R/C那边两个触点

万用表量下就非常明白了.

中间一个触点是连接出口 R/C一脚.

R/C那边那个触点是连接芯片RST一脚,另外一个触点就是连接芯片CTS一脚.

ESP 8266 /esp 32需要选RST.

 

 

 

 

 

转接板

这是我早做了一个ESP 01 / 12F 转接板   两用  直插一个烧录板.需要手动按键烧录

最开始因为手头没有ESP 32S,所以没有给ESP 32S做一个直插.

 

不过我预留了排针.  6个针. 两排.另外一排是备用的.可以给ESP 32S用.

VCC   , GND , TX , RX  , GPIO 0  , RST

如果手动烧录,前4脚即可.要自动烧录就6pin都需要.

 

 

这部分线路非常简单.

如果输入是5V 需要 接一个1117降压到3.3V

其他5个脚对应模块的5个脚.无需解释.

 

单独做两个按钮,一个flash 一个 RST按钮. 就是前面说的.手动下载需要的两个按钮.

 

 

自动下载线路

自动下载线路需要零件非常简单 S8050或者SS8050 (NPN 三极管) 2个 , 12K 电阻(我自己用得10K)  2个.即可

 

从前面原理图可以看出来.

1, 340G/340C 芯片的RST  和DTR  两个脚  ,各自  接一个12K电阻  ,  电阻 分别接一个三极管 基级 (2号脚)

 

(340c/340g) RST  -> 12K电阻  -> A三极管 2号脚.

(340c/340g) DTR -> 12K电阻  -> B三极管 2号脚.

 

2, 340G/340C 芯片的RST  和DTR  两个脚 ,  分别接一条线 接到另外一个三极管 的发射极 (1号脚)

(340c/340g) RST    -> B三极管 1号脚.

(340c/340g) DTR   -> A三极管 1号脚.

 

3,三极管另外一个脚就是出口 RST /GPIO 0了

 

A三极管 3号脚  --> GPIO 0

B三极管 3号脚 --> RST

 

 

 

 

这样就能自动烧录了.

 

 

后记

总体成本5-6块,一个多用自动烧录座.

打板还是太麻烦,

还是胶带神教比较香.