Flashing the ESP-01 under OSX

Ok, there are a LOT of post on how to flash the ESP-01 with either Arduino, NodeMCU ou the AT command firmware. I have not found one that gave a full answer and especially not how to do it from an OSX computer.

First let's talk about wiring. As you know the ESP-01 is based on the Espressif ESP8266 chip and it's a 3.3v device and it's not 5v tolerant, DO NOT power it with 5v or put 5v to one of the of the pin, you risk frying your device.

I have used a Sparkfun 3.3v FTDI Basic (https://www.sparkfun.com/products/9873). This USB to serial adapter provides a 3.3v output (voltage and I/O). The following is the wiring diagram I have used:

And the corresponding schematic:

Once you have done this wiring, plug it in your computer, add a jumper on the "Mode" header and press the reset button. The device will enter a mode where it's ready re receive a firmware.

If you want to upload an Arduino sketch, simply use the Arduino GUI or platform.io to do so. Once done, remove the "Mode" jumper, press the reset button and the ESP-01 will boot on your new Arduino sketch.

If you want to flash a pre-build AT firmware (I have used this one: http://esp8266.ru/download/esp8266-firmware/ESP_8266_v0.9.2.2.zip) from an OSX computer you will have to install esptool:

pip install esptool
Once done it's as simple as:

esptool.py -p /dev/tty.usbserial-A40081uk write_flash 0x000000 ESP_8266_v0.9.2.2\ AT\ Firmware.bin
(change dev/tty.usbserial-A40081uk to your actual serial port)

The output will look like this:

esptool.py v1.1
Running Cesanta flasher stub...
Flash params set to 0x0000
Writing 520192 @ 0x0... 520192 (100 %)
Wrote 520192 bytes at 0x0 in 45.1 seconds (92.3 kbit/s)...
Once done, remove the "Mode" jumper, press the reset button and the ESP-01 will boot on your new firmware.

I'm considering offering this small adapter as a PCB with connector populated. If your interested leave a comment or drop me an e-mail at courchea@net-forces.com. If I can get at least 10 person interested, I'll build a batch. Cost will probably be between 7 and 10$CAD plus shipping.


Popular Posts