ESP32用に2SC945(私の世代の汎用TR)を使って、書き込み回路をつくてみたのですが、上手く動かず、ずいぶん調べたのですが原因がわからず、仕方なくバラしてボタンにしてみました。
リセット(EN)だけ押すとシリアルに以下のような出力があります。
$ sudo cu -l /dev/cu.usbserial-DA00WSMM -s 115200
Connected.
ets Jun 8 2016 00:22:57
rst:0x1 (POWERON_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
configsip: 0, SPIWP:0xee
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:DIO, clock div:2
load:0x3fff0018,len:4
load:0x3fff001c,len:1044
load:0x40078000,len:8896
load:0x40080400,len:5828
entry 0x400806ac
GPIO0を押しながらリセットすると以下のようになります。
ets Jun 8 2016 00:22:57
rst:0x1 (POWERON_RESET),boot:0x3 (DOWNLOAD_BOOT(UART0/UART1/SDIO_REI_REO_V2))
waiting for download
これでやっと書き込みができるようになりました。
ESP8266でも書き込みに苦労したような記憶があり、どうもESPとは相性悪いです。
M5とか買えばこんなことないのかもしれませんが、貧乏なのでM5とか高価なものは買えません。ガジェットは1K以内が自分の決まりごとになっています。