Easy Basics: Project 070k ESP32 development board - Uploading MicroPython firmware

of Acoptex.com in ESP8266 ESP-32

Basics: Project 070k

Project name: ESP32 development board - Uploading MicroPython firmware

Tags: EESP32 Dev Module, ESP32 development board, ESP32 Development board with WiFi and Bluetooth, ESP32-DevKitC V4 development board, ESP-WROOM-32 module with ESP32‑D0WDQ6 chip, Espressif Systems, ESP32-based development board, ESP32 modules, ESP32-WROOM-32, ESP32-WROOM-32U, ESP32-WROOM-32D, ESP32-SOLO-1, USB-UART bridge, IOT, ESP-WROOM-32 Dev Module, ESP32 DEVKITV1, Installing the ESP32 Board in Arduino IDE, Uploading sketch, Uploading MicroPython firmware, flashing, uPyCraft IDE

In this project, you need these parts :

1. ESP32 development board with WiFi and Bluetooth and USB A / micro USB B cable 1 pc

2. uPyCraft IDE (you can download and read more about it here)


We will learn how to flash MicroPython firmware to ESP32 development board using the uPyCraft IDE software. It works on Windows, Linux Ubintu and Mac OS X.

Understanding the ESP32 Development board with WiFi and Bluetooth

You can read more about it here.

Signals and connections of the ESP32 Development board with WiFi and Bluetooth

You can find more information (datasheets, schematics, pins descriptions, functional desgn descriptions) about each board (made by Espresiff Systems) by pressing Getting started link close to each board here.

Let's check our development board - ESP32 DEVKITV1with ESP-WROOM-32 module from Espressif Systems:

Pinout diagram for the ESP Wroom 32 breakout:

ESP32-WROOM-32 - ESP32-WROOM-32 module soldered to the development board. Optionally ESP32-WROOM-32D, ESP32-WROOM-32U or ESP32-SOLO-1 module may be soldered instead of the ESP32-WROOM-32.

USB-UART Bridge - A single chip USB-UART bridge provides up to 3 Mbps transfers rates.

BOOT button - Download button: holding down the Boot button and pressing the EN button initiates the firmware download mode. Then user can download firmware through the serial port.

EN button - Reset button: pressing this button resets the system.

Micro USB Port - USB interface. It functions as the power supply for the board and the communication interface between PC and the ESP module.

TX0, TX2 - transmit pin. GPIO pin

RX0, RX2  - receive pin.  GPIO pin

3V3 (or 3V or 3.3V) - power supply pin (3-3.6V). 

GND - ground pin.

EN - Chip enable. Keep it on high (3.3V) for normal operation.

Vin - External power supply 5VDC.

Step by Step instruction

1. Firmware for ESP32 boards

The following files are daily firmware for ESP32-based boards, with separate firmware for boards with and without external SPIRAM. Non-SPIRAM firmware will work on any board, whereas SPIRAM enabled firmware will only work on boards with 4MiB of external pSRAM.

Program your board using the esptool.py program, and put the firmware starting at address 0x1000. For example: esptool.py --chip esp32 --port /dev/ttyUSB1 write_flash -z 0x1000 esp32-20180511-v1.9.4.bin. If you are putting MicroPython on for the first time then you should first erase the entire flash using esptool.py --chip esp32 erase_flash.

Standard firmware:

esp32-20190728-v1.11-180-g8f55a8fab.bin (latest)






Firmware with SPIRAM support:

esp32spiram-20190728-v1.11-180-g8f55a8fab.bin (latest)




if you’re using a different board (like a PyBoard, WiPy, or other), go to MicroPython Downloads page and download the right firmware for your board.

2. Downloading and flashing the MicroPython firmware

  1. Go to micropython.org website and download the latest version of MicroPython firmware.
  2. Open uPyCraft IDE. Double-click uPyCraft_V1.1.exe file. A new window opens with the uPyCraft IDE software.
  3. Plug the ESP32 development board to your PC and wait for the drivers to install (or install manually any that might be required).
  4. Go to Tools -> Serial and select your ESP32 COM port (in our case it’s COM8). If you don’t see the COM Port, you need to install the ESP32 CP210x USB to UART Bridge VCP Drivers , check your USB cable too (it should be data cable).
  5. Go to Tools -> Board. We are using ESP32 development board, so make sure you select esp32 option.
  6. Go to Tools -> BurnFirmware menu to flash your ESP32 development board with MicroPython.
  7. Select all these options to flash the ESP32 board:
    board: esp32
    burn_addr: 0x1000
    erase_flash: yes
    com: COMX (in our case it’s COM5)
    Firmware: Select “Users” and choose the ESP32 .bin file downloaded earlier
    Select all these options to flash the ESP32 development board - board: esp32, burn_addr: 0x1000, erase_flash: yes, com: COMX (in our case it’s COM8).
  8. Firmware Choose: Select Users and choose the latest esp32-20181019-v1.9.4-660-g5f7088f84.bin file downloaded earlier by pressing Choose button and navigating to the Downloads folder.
  9. Press Open button.
  10. Hold down the ESP32 on-board Boot/Flash button and press ok button in the Burn firmware window.
  11. When the EraseFlash process begins, you can release the Boot/Flash button. After a few seconds, the firmware will be flashed into your ESP32 development board.

  12. Press the ESP32 on-board EN button to reboot it.
  13. If the EraseFlash bar doesn’t move and you see an error message saying erase false, it means that your ESP32 development board wasn’t in flashing mode. You need to repeat all the steps described earlier and hold Boot/Flash button again to ensure that your ESP32 development board goes into flashing mode.



We have learnt how to flash MicroPython firmware to ESP32 development board using the uPyCraft IDE software.


  • None


  • None

Other projects of Acoptex.com
Medium Basics: Project 083w Sipeed Maixduino board - Using PlatformIO IDE of Acoptex.com in Sipeed Maixduino 08-08-2019
Medium Basics: Project 083e Sipeed Maixduino board - Uploading MaixPy of Acoptex.com in Sipeed Maixduino 04-08-2019
Medium Basics: Project 083f Sipeed Maixduino board - Using MycroPython of Acoptex.com in Sipeed Maixduino 04-08-2019

Published at 01-10-2018
Viewed: 2394 times