Skip to content

Serial flasher utility for Espressif SoCs and modules based on esptool.py

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT
Notifications You must be signed in to change notification settings

esp-rs/espflash

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 Cannot retrieve latest commit at this time.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

espflash

Actions Status Crates.io

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

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.

Example

$ cargo espflash --release --example=blinky /dev/ttyUSB0

espflash

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.

Example

$ espflash /dev/ttyUSB0 target/xtensa-esp32-none-elf/release/examples/blinky

Installation

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

Notes on Building

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.

macOS

$ brew install libuv

Ubuntu

$ sudo apt-get install libuv-dev

Fedora

$ dnf install systemd-devel

License

Licensed under the GNU General Public License Version 2. See LICENSE for more details.