Serial flasher utility for Espressif SoCs and modules based on esptool.py.
Currently supports the ESP32, ESP32-C3, ESP32-S2, ESP32-S3, and ESP8266.
cargo-espflash is a subcommand for Cargo which utilizes the espflash library. This tool integrates with your Cargo projects and handles compilation, flashing, and monitoring of target devices.
Please see the cargo-espflash README for more information.
$ cargo espflash --release --example=blinky /dev/ttyUSB0
espflash is a standalone binary and library contained within the same crate. This tool does not integrate with Cargo, but supports all of the same features as cargo-espflash which are not related to compilation.
Please see the espflash README for more information.
$ espflash /dev/ttyUSB0 target/xtensa-esp32-none-elf/release/examples/blinky
Either application can be installed using cargo
as you normally would:
$ cargo install cargo-espflash
$ cargo install espflash
Alternatively, you can use cargo-binstall to install pre-compiled binaries on any supported system. Please check the releases to see which architectures and operating systems have pre-compiled binaries.
$ cargo binstall cargo-espflash
$ cargo binstall espflash
Requires rustc >= 1.59.0
in order to build either application from source. In addition to the Rust toolchain libuv must also be present on your system; this can be installed via most popular package managers.
$ brew install libuv
$ sudo apt-get install libuv-dev
$ dnf install systemd-devel
Licensed under the GNU General Public License Version 2. See LICENSE for more details.