The ESP-201 is a cheap Arduino clone with 8266 processor and a WiFi transceiver. It has many features that makes it attractive for IOT-like applications, it can even fall asleep to regularly wake up and do its duty. There is an application, ESPEasy, that works brilliantly on these gadgets.
There are various project descriptions on the web but the information required to do one’s own is rather scattered. The most important piece of information is the method to flash it with one’s own application. For this purpose this little write-up. Largely for myself albeit that others may profit.
The pin layout of the module is reproduced below.
The next step is to connect it to a standard USB port to work with the Arduino IDE or other software. The one I use has the DTR and RTS pins available and those are required for automated behavior.
Below the wiring diagram that I used successfully over the years. It contains a bit from various web sites but this one is complete.
Some comments are in place
- Power: ground pins are connected, but not the 3.3 Volt line. Even though the FTDI provides 3.3 Volt supply, it is not enough to power the module during and after programming.
- CHIP-EN (-able) is connected to 3.3 Volt.
- Serial protocol: TX and RX are twisted as usual.
- Flashing protocol:
- pin IO15 is connected to ground.
- RST (reset) is connected to RTS via a resistor. This allows adding a switch to connect to 3.3 Volt for local reset.
- IO0 is connected to DTR.
After adding a 3.3 Volt power supply, be careful not to apply 5 Volt, the module will start and a bright red LED on the module will be on. Then make a USB connection to your computer. The blue LED will only flash during flashing and other processes.
To use the Arduino IDE with this module, one first needs to install the proper library and board definitions, the ESP8266 Arduino Core. After that, one may follow instructions using examples from the ESP8266 WiFi Library. Flashing and Serial monitor work from the IDE as if a standard Arduino is connected.