In a previous post, we saw how to flash an ESP-01.
Today, I want to flash an ESP-12E with a breadboard adapter.
We need an adapter, because the pin wholes of the ESP-12E are not spaced enough to be directly plugged on a breadboard.
Some folks solder a wire on each ESP-12E pin, but I think it's easier to just use some adapter.
If you look closely, you will see some resistors on the adapter.
Please note that the GPIO05 on the bottom/right of this adapter is in reality the GPIO015. I will by better adapter next time !
GPIO 0: High in normal mode, low on flash mode
GPIO 2: High
GPIO 15: Low
The resistors have a value of 1kΩ, and set GPIO15 to Low, and CH_PD to High.
So, after soldering the ESP to the adapter, all that I had to do was:
- Connect a button between the reset pin and the ground, with a pull-up resistor;
- Connect a button between the GPIO0 and the ground, to switch between normal mode and flash mode.
- Connect GPIO2 to VCC through a resistor ?[1:1]
I modified the perfboard card that I use to flash an ESP-01.
For some reasons, it didn't seems to work the first time, so I draw the schematic to check the circuit.
And it was OK (but awful, right ?). On the second try, it was working pretty well (bad connection maybe ? Or GPIO2 ?[1:2]).
I launched a Putty terminal on the COM port, on 9600 bauds, and pressed the reset button, and type "AT+GMR" + Enter key...
> AT+GMR AT version:0.40.0.0(Aug 8 2015 14:45:58) SDK version:1.3.0 Ai-Thinker Technology Co.,Ltd. Build:18.104.22.168 Sep 11 2015 11:48:04 OK
If you want to flash the Expressif firmware, you can download it on the ai-thinker blog.
You can also use the NodeMCU firmware.
As for flashing the ESP-01:
- Select the firmware in NodeMCU flasher, on adress 0x00000
- Press and hold RESET and GPIO0 buttons
- Click on the "Flash" button
- Release RESET button
- When the progress bar begins to fill, release the GPIO0 button
- And wait the end of the flashing process.
Now that I flashed an ESP-12E without all the dev kit around it, I will try to deploy my freezer door project on it.
Maybe later, I will also try to avoid pushing GPIO0 and RESET buttons, using some other signals provided by the RS232/USB adapter.
There is also a 0-resistor, and some connectors under the adapter, but I don't know yet the goal of them. ↩︎
Subscribe to IoT Experiments
Get the latest posts delivered right to your inbox