ESP-Prog

../../../_images/esp-prog.jpg

ESP-Prog is one of Espressif’s development and debugging tools, with functions including automatic firmware downloading, serial communication, and JTAG online debugging. ESP-Prog’s automatic firmware downloading and serial communication functions are supported on both the ESP8266 and ESP32 platforms, while the JTAG online debugging is supported only on the ESP32 platform. Official reference can be found here.

Configuration

You can configure debugging tool using debug_tool option in “platformio.ini” (Project Configuration File):

[env:myenv]
platform = ...
board = ...
debug_tool = esp-prog

If you would like to use this tool for firmware uploading, please change upload protocol:

[env:myenv]
platform = ...
board = ...
debug_tool = esp-prog
upload_protocol = esp-prog

More options:

Drivers

Windows:

See https://community.platformio.org/t/esp32-pio-unified-debugger/4541/20

Mac:

macOS contains default FTDIUSBSerialDriver driver which conflicts with debug tools which are based on this chip. FTDI Chip company recommends removing this default driver from a system. Everything should work after system rebooting. See detailed instruction in official application note (Page 16, Section 4: Uninstalling FTDI Drivers on OS X) AN134: FTDI Drivers Installation guide for MAC OS X

Linux:

Please install “udev” rules 99-platformio-udev.rules. If you already installed them before, please check that your rules are up-to-date or repeat steps.

Wiring Connections

../../../_images/esp-prog_jtag_connector.png

ESP-Prog JTAG 10-Pin Connector

Board JTAG Pin

Description

1

VDD

Positive Supply Voltage — Power supply for JTAG interface drivers

3

GND

Digital ground

2

ESP_TMS

Test Mode State

4

ESP_TCK

JTAG Return Test Clock

6

ESP_TDO

Test Data Out

8

ESP_TDI

Test Data In

Platforms

Name

Description

Espressif 32

Espressif Systems is a privately held fabless semiconductor company. They provide wireless communications and Wi-Fi chips which are widely used in mobile devices and the Internet of Things applications.

Frameworks

Name

Description

Arduino

Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

ESP-IDF

Espressif IoT Development Framework. Official development framework for ESP32.

Simba

Simba is an RTOS and build framework. It aims to make embedded programming easy and portable.

Boards

Note

For more detailed board information please scroll tables below by horizontal.

Name

Platform

Debug

MCU

Frequency

Flash

RAM

ALKS ESP32

Espressif 32

External

ESP32

240MHz

4MB

320KB

Adafruit ESP32 Feather

Espressif 32

External

ESP32

240MHz

4MB

320KB

D-duino-32

Espressif 32

External

ESP32

240MHz

4MB

320KB

DOIT ESP32 DEVKIT V1

Espressif 32

External

ESP32

240MHz

4MB

320KB

Dongsen Tech Pocket 32

Espressif 32

External

ESP32

240MHz

4MB

320KB

ESP32 FM DevKit

Espressif 32

External

ESP32

240MHz

4MB

320KB

ESP32vn IoT Uno

Espressif 32

External

ESP32

240MHz

4MB

320KB

ESPectro32

Espressif 32

External

ESP32

240MHz

4MB

320KB

ESPino32

Espressif 32

External

ESP32

240MHz

4MB

320KB

Espressif ESP-WROVER-KIT

Espressif 32

On-board

ESP32

240MHz

4MB

320KB

Espressif ESP32 Dev Module

Espressif 32

External

ESP32

240MHz

4MB

320KB

FireBeetle-ESP32

Espressif 32

External

ESP32

240MHz

4MB

320KB

Heltec WIFI LoRa 32

Espressif 32

External

ESP32

240MHz

4MB

320KB

Hornbill ESP32 Dev

Espressif 32

External

ESP32

240MHz

4MB

320KB

Hornbill ESP32 Minima

Espressif 32

External

ESP32

240MHz

4MB

320KB

MH ET LIVE ESP32DevKIT

Espressif 32

External

ESP32

240MHz

4MB

320KB

MH ET LIVE ESP32MiniKit

Espressif 32

External

ESP32

240MHz

4MB

320KB

Node32s

Espressif 32

External

ESP32

240MHz

4MB

320KB

NodeMCU-32S

Espressif 32

External

ESP32

240MHz

4MB

320KB

OLIMEX ESP32-EVB

Espressif 32

External

ESP32

240MHz

4MB

320KB

OLIMEX ESP32-GATEWAY

Espressif 32

External

ESP32

240MHz

4MB

320KB

Pycom LoPy

Espressif 32

External

ESP32

240MHz

4MB

320KB

Pycom LoPy4

Espressif 32

External

ESP32

240MHz

4MB

1.25MB

Silicognition wESP32

Espressif 32

External

ESP32

240MHz

4MB

320KB

SparkFun ESP32 Thing

Espressif 32

External

ESP32

240MHz

4MB

320KB

TTGO LoRa32-OLED V1

Espressif 32

External

ESP32

240MHz

4MB

320KB

TTGO T-Beam

Espressif 32

External

ESP32

240MHz

4MB

1.25MB

WEMOS LOLIN D32

Espressif 32

External

ESP32

240MHz

4MB

320KB

WEMOS LOLIN D32 PRO

Espressif 32

External

ESP32

240MHz

4MB

320KB

WEMOS LOLIN32

Espressif 32

External

ESP32

240MHz

4MB

320KB

WeMos WiFi and Bluetooth Battery

Espressif 32

External

ESP32

240MHz

4MB

320KB

XinaBox CW02

Espressif 32

External

ESP32

240MHz

4MB

320KB

oddWires IoT-Bus Io

Espressif 32

External

ESP32

240MHz

4MB

320KB

oddWires IoT-Bus Proteus

Espressif 32

External

ESP32

240MHz

4MB

320KB