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.60.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 either of:
- Apache License, Version 2.0 (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)
at your option.
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.