How to Program / Boot / Flash an ESP-03 (ESP8266 / ESP8265 / ESP03 / ESP-03)
by tnowroz in Circuits > Microcontrollers
1661 Views, 2 Favorites, 0 Comments
How to Program / Boot / Flash an ESP-03 (ESP8266 / ESP8265 / ESP03 / ESP-03)
This tutorial is for the younger me from 3 years back who bought an ESP-03 but never managed to make it work. The internet still does not seem to have enough good resources around it, so why not?
Supplies
Alongside the ESP-03 module, we only need 1 additional board. That is -
- USB to TTL/Serial converter. (or any board with 3.3V, GND, Rx and Tx)
- ESP-03
ESP-03 Pinout
Photo for reference.
Wiring
First of all, this is an ESP8285 and not 8266.
Second, before jumping into wiring, it is important that we understand the boot mode properly.
Third, there are three boot mode select pins along with the Chip_PD/enable pin which needs to be in a very specific voltage state for the chip to enter Boot Mode.
The best resource for that can be found in the Boot Mode Selection section of the official documentation: https://docs.espressif.com/projects/esptool/en/latest/esp8266/advanced-topics/boot-mode-selection.html
Full details can be found in the link above, but let me summarize everything.
Boot Mode:
ESP-03 <--------------> USB_to_TTL (or any other device that has VCC, GND, RX and TX pins)
> GPIO0 -----------------> GND
> GPIO2 -----------------> 3.3V
> GPIO15 ---------------> GND
> Chip_PD/Enable ----> 3.3V (same for normal operation)
> RX ----------------------> TX
> TX -----------------------> RX
> GND --------------------> GND
Arduino IDE Setup
I am assuming that you already have the ESP8266 boards installed to your Arduino IDE.
So, simply go to boards options and select ESP8285 -
Now, simply click write some simple code and click upload -
int LED = 12;
void setup() {
pinMode(LED, OUTPUT);
}
void loop() {
digitalWrite(LED, HIGH);
delay(1000);
digitalWrite(LED, LOW);
delay(1000);
}
If you did everything right, upon clicking upload, it will immediately start uploading without any delays -
Success
IDK how to put embed the video. But you should be able to see it from the browser by just clicking on it.
Make sure you have wired it for Normal Mode as mentioned on above to make your flashed code work.