Releases: espressif/esptool
Version 2.3
Latest stable release available from PyPi:
https://pypi.python.org/pypi/esptool/
This release:
https://pypi.python.org/pypi/esptool/2.3
New since v2.2.1
- 'Hard resetting' status message now mentions the RTS pin
- README additions
- Fix regression if esptool is used as a module and ESPLoader() is passed a Python 2 unicode string.
ESP32 only
- When connecting, esptool now prints a summary of chip features based on efuse contents.
- espefuse.py support for displaying ADC calibration data via VRef stored in efuse and BLK3_PART_RESERVE if set.
Version 2.2.1
Latest stable release available from PyPi:
https://pypi.python.org/pypi/esptool/
This release:
https://pypi.python.org/pypi/esptool/2.2.1
New since v2.2
- Fix an issue seen on macOS with high baud rates (>230400). pyserial was sending configuration to the serial port (no settings were actually changing) while a response may have been coming from the device, and this caused read data to be lost at or below the OS layer.
- Fix use of esptool with remote network serial ports (see here in README).
- write_flash now warns instead of crashing if a file is empty (zero length).
Version 2.2
Latest stable release available from PyPi:
https://pypi.python.org/pypi/esptool/
This release:
https://pypi.python.org/pypi/esptool/2.2
New since v2.1
- New
esptool.py --trace
option provides dump of all serial traffic for easier low-level debugging - Timeouts refactored for better consistency, fix some timeouts flashing large binaries (particularly when flashing with a high effective compression ratio)
- PEP8 style cleanup, removal of deprecated language features (thanks @Cabalist!)
- Skew between device USB/serial reference clock timing and ESP crystal is now accounted for when switching baud rate. This may help achieve higher baudrates on some development boards.
ESP8266-Specific Changes
- Full support & identification of ESP8285
- Support for stub loader when using crystals other than 26MHz (tested with 40MHz)
ESP32-Specific Changes
- Support for ESP32-PICO-D4 System In Package
- espefuse.py now verifies the factory MAC address CRC is valid
- Flasher stub build now supports compiling against ESP-IDF v2.1 codebase (and will support v3.0)
- Fix error message if
--spi-connection
arguments were mis-typed (thanks @Cabalist!) - Correct espsecure.py usage message (thanks @milan-kupcevic!)
Documentation Changes
- Structure cleanup, notes about power issues, new links to the wiki
Version 2.1
Latest stable release available from PyPi:
https://pypi.python.org/pypi/esptool/
This release:
https://pypi.python.org/pypi/esptool/2.1
New since v2.0.1
ESP32-Specific Changes
- elf2image: Pad flash-resident sections to 64KB alignment by using parts of RAM-resident sections, rather than zeroes. This reduces the size of a final IDF binary by almost 128KB in some cases.
- elf2image: Append a SHA-256 hash of the binary image to the .bin file by default. This will be checked by the software bootloader in the IDF V3.0 release. Provides a much stronger consistency check than the previous 8-bit checksum. The image_info command will print & verify this hash if it is present.
- espefuse.py: timeout now calculated in seconds not number of retries.
Documentation Changes
- Fix typo in the README
Thanks to @daniel-leonard-robinson for contributing to this release.
Version 2.0.1
Latest stable release available from PyPi:
https://pypi.python.org/pypi/esptool/
This release:
https://pypi.python.org/pypi/esptool/2.0.1
esptool.py version 2.0.1 is a minor bugfix release from v2.0.
New since v2.0:
- (ESP32) Generating bootloader images for ESP32D2WD, or any ESP32 where the SPI pins are remapped via efuse, no longer accidentally enables GPIO0 as an output.
- (ESP32) espsecure.py & espefuse.py: Dispay
--help
argument if run without command line arguments. - Update README now stable release supports ESP32.
Thanks to @hroncok & @marcelstoer for contributing to this release.
Version 2.0
Latest stable release available from PyPi:
https://pypi.python.org/pypi/esptool/
This release:
https://pypi.python.org/pypi/esptool/2.0
esptool.py version 2.0 is a major release compared to v1.x. Most command line options are backwards compatible, but some default settings have changed.
New Features
- Support added for ESP32 microcontrollers.
- Compressed upload support (enabled by default) to reduce overhead of the serial connection.
- Data written to flash is automatically read back and verified after writing.
- New boot mode selection options
--before
and--after
, to override the way esptool.py enters and exits bootloader mode, respectively. Details here. - New
--flash_mode keep
and--flash_freq keep
default options mean thatwrite_flash
no longer modifies these settings in the image header by default.
ESP32-Only Features
--spi-connection
argument allows overriding SPI flash pin configuration. Details here.- New espefuse.py program for working with efuses.
- New espsecure.py program for working with chip security features.
- esptool.py prints the ESP32 detailed chip model and silicon revision as part of console output.
Thanks to everyone who contributed to this release, and submitted bug reports during the long beta period!
v2.0beta2
Tag v2.0beta2 (not a release published to pypi)
Version 1.3
Latest stable release available from PyPi:
https://pypi.python.org/pypi/esptool/
This release:
https://pypi.python.org/pypi/esptool/1.3
New since v1.2.1:
- Python 2/3 support, esptool.py now works with Python 2.7+ or Python 3.4+
- esptool.py is now officially supported by Espressif Systems (software licensing & approach to development have not changed.)
verify_flash
command now accepts optional--flash_mode
and--flash_speed
arguments, allowing verification of a ROM bootable image at offset 0.- Backport functional tests (
test_esptool.py
) from esptool v2.0
Thanks to @thespooler, @jeremyherbert, @jrobeson for contributing to this release.
Version v1.2.1
Latest stable release available from PyPi:
https://pypi.python.org/pypi/esptool/
This release:
https://pypi.python.org/pypi/esptool/1.2.1
New since v1.2:
- No source code changes.
- Fix packaging bug #140 with wheel originally uploaded to pypi.
- Update README with note about closing other serial terminal programs.
Version 1.2
Latest stable release available from PyPi:
https://pypi.python.org/pypi/esptool/
This release:
https://pypi.python.org/pypi/esptool/1.2
New since v1.1:
- New
--flash_size
default "detect" to interpret flash size from ID - Warn when data is larger than flash.
- Support RFC2217 TCP serial ports (using pyserial serial_from_url)
- Use flasher stub for erase_flash (detects when erase is complete)
- pyserial v1.2 or newer is now required.
- README updates, minor bugfixes.
Thanks to @pfalcon, @jimparis, @jms19 for contributing to this release.