Automic VaultAutomic Vault

brew

Install esptool with Homebrew, apk, apt, dnf, MacPorts, Nix, pacman

ESP8266 and ESP32 serial bootloader utility. Version 5.3.1 via Homebrew; verified 2026-06-30.

install

Additional install commands

macOS

Homebrewverified · 100%
brew install esptool

local Homebrew formula metadata

MacPortsverified · 94%
sudo port install esptool

MacPorts ports tree · cross/esptool/Portfile · source: api.github.com

Linux

Alpine Linux apkverified · 92%
sudo apk add esptool

Alpine Linux edge package indexes · esptool · source: dl-cdn.alpinelinux.org

Debian aptverified · 92%
sudo apt install esptool

Debian stable package indexes · esptool · source: deb.debian.org

Fedora dnfverified · 92%
sudo dnf install esptool

Fedora Rawhide package metadata · esptool · source: dl.fedoraproject.org

Nixverified · 92%
nix profile install nixpkgs#esptool

nixpkgs package indexes · pkgs/by-name/es/esptool/package.nix · source: api.github.com

Arch Linux pacmanverified · 92%
sudo pacman -S esptool

Arch Linux sync databases · esptool · source: geo.mirror.pkgbuild.com

overview

Package summary

ESP8266 and ESP32 serial bootloader utility

Commands and aliases

  • esp_rfc2217_server
  • esp_rfc2217_server.py
  • espefuse
  • espefuse.py
  • espsecure
  • espsecure.py
  • esptool
  • esptool.py

history

Project history and usage

esptool is Espressif's Python-based, platform-independent serial utility for flashing, provisioning, and interacting with Espressif SoCs.

Project history

The official repository says esptool was initially created by Fredrik Ahlberg and later maintained by Angus Gratton; it is now supported by Espressif Systems and has received community improvements. That history reflects its move from community ESP8266 tooling into the vendor-supported flashing utility for the broader Espressif chip family.

Adoption history

As ESP8266 and ESP32 boards became common in hobbyist, IoT, and embedded development, esptool became the packaging target for the host-side operation everyone needed: moving firmware images onto chips over serial. Its distribution through Homebrew and many Linux package managers mirrors its role as infrastructure rather than as an application.

Espressif's documentation and repository describe a tool that spans flashing, provisioning, secure operations, eFuse management, remote serial ports, scripting, and chip-specific targets. That breadth made it a dependency under higher-level build systems as well as a direct CLI for firmware developers.

How it is used

The core workflow is `esptool write-flash`, where users provide a serial port and flash offsets plus one or more binary files. The documentation notes automatic chip detection for writing, serial transfer compression by default, erase behavior before writes, and options for skipping unchanged content or fast reflashing.

The Homebrew package also installs companion commands such as `espefuse`, `espsecure`, and `esp_rfc2217_server`, so package users get both everyday flashing and lower-level provisioning, security, and remote serial helpers from the same source package.

Why package nerds care

esptool is one of those packages that quietly defines an ecosystem: if an OS package set wants embedded developers to flash ESP boards without a vendor IDE, it ships esptool. Its Python implementation, cross-platform serial behavior, and explicit config-file search paths make it easy to package and script.

Timeline

  • 2010s: Community-created esptool becomes the standard serial bootloader utility for ESP8266 and ESP32 development.
  • 2016: Espressif-hosted documentation copyright period begins for the current docs site.
  • 2020s: Espressif maintains esptool as the official multi-chip flashing, provisioning, and interaction utility.

Related projects

  • espflash cites esptool.py as an influence; ESP-IDF build and monitor workflows commonly sit next to esptool in Espressif development setups.

security posture

Risk level: blue

broad file, network, media, or database tool signal.

Risk classifier

blue risk · medium confidence · tool

Why

  • broad file, network, media, or database tool signal

Signals

  • text:server

Install behavior

  • No Homebrew post-install hook is recorded in formula metadata.
  • Homebrew bottle metadata is available for 6 platform targets.
  • Installs with 3 runtime dependencies.
  • Build metadata lists 1 build dependencies.

Recommended review

Before unattended agent use, check whether the tool reads plaintext credentials, writes remote state, publishes artifacts, or shells out to plugins.

local files

Configuration and credential file locations

These source-backed paths show where this package keeps local settings or durable credentials. Automic Vault can use them as review targets for secret scanning, migration, and command approval.

Configuration files

Config paths the tool may read or write during local use.

Linux
/home/<user>/.config/esptool/esptool.cfg
macOS
/Users/<user>/.config/esptool/esptool.cfg
Unix
./esptool.cfg~/esptool.cfg./setup.cfg./tox.ini
Windows
c:\Users\<user>\AppData\Local\esptool\esptool.cfgc:\Users\<user>\esptool.cfg

executables

Installed executables

CommandKindExposureNote
esp_rfc2217_servercliglobal executable
esp_rfc2217_server.pycliglobal executable
espefusecliglobal executable
espefuse.pycliglobal executable
espsecurecliglobal executable
espsecure.pycliglobal executable
esptoolcliglobal executable
esptool.pycliglobal executable

freshness

Version and freshness

These signals separate page generation age, package-manager activity, and upstream release comparison. Version lag is warned only when an evidence URL and comparable versions are present.

page generated2026-07-08
manager version5.3.1
manager updated2026-06-30
local dataok
upstreamnot checked
latest detectednot detected

https://docs.espressif.com/projects/esptool/en/latest/esp32/

install metadata

Package metadata

Package keybrew:esptool
Version5.3.1
Package managerHomebrew
Package manager pagehttps://formulae.brew.sh/formula/esptool
Homepagehttps://docs.espressif.com/projects/esptool/en/latest/esp32/
Repositoryhttps://github.com/espressif/esptool
Upstream docshttps://docs.espressif.com/projects/esptool/en/latest
LicenseGPL-2.0-or-later
Source archivehttps://files.pythonhosted.org/packages/76/ac/d2016cf6b3709d0e0166f45f84bc6e2d717757b5f59020ccb34de08d1b9b/esptool-5.3.1.tar.gz
Last updated2026-06-30T09:25:50Z
Pulseupdated
Dependenciescryptography, libyaml, python@3.14
Build dependenciesrust
Bottleavailable (on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux)
Homebrew post-installnot defined
Servicenone declared

registry facts

Source database details

Source DatabaseHomebrew formula API
Taphomebrew/core
Full Nameesptool
Version Scheme0
Revision0
Bottle Stable Root URLhttps://ghcr.io/v2/homebrew/core
Deprecatedno
Disabledno
Keg Onlyno
URL Keys
  • stable

source database matches

Other package-manager records

Matches are pulled from external package-manager indexes and kept separate from local Automic Vault package links.

Debian apt95%

esptool 4.7.0+dfsg-0.1

create and flash firmware files to ESP8266 and ESP32 chips

https://github.com/espressif/esptool

sudo apt install esptool
  • Section: electronics
  • Architecture: all
  • 8 dependencies
  • 1 optional deps
  • normalized package name match
  • Matched by: Esptool
Debian stable package indexes · deb.debian.org · Debian stable package indexes: esptool from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz
Nix95%

esptool

nix profile install nixpkgs#esptool
  • normalized package name match
  • Matched by: Esptool
nixpkgs package indexes · api.github.com · nixpkgs package indexes: pkgs/by-name/es/esptool/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
Ubuntu apt95%

esptool 4.7.0+dfsg-0.1

create and flash firmware files to ESP8266 and ESP32 chips

https://github.com/espressif/esptool

sudo apt install esptool
  • Section: universe/electronics
  • Architecture: all
  • 8 dependencies
  • 1 optional deps
  • normalized package name match
  • Matched by: Esptool
Ubuntu 24.04 LTS package indexes · archive.ubuntu.com · Ubuntu 24.04 LTS package indexes: esptool from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz
apk95%

esptool 4.8.1-r0

ESP8266 and ESP32 serial bootloader utility

https://docs.espressif.com/projects/esptool

sudo apk add esptool
  • License: GPL-2.0-or-later
  • Architecture: x86_64
  • Source Package: esptool
  • 1 dependencies
  • 1 provides
  • normalized package name match
  • Matched by: Esptool
Alpine Linux edge package indexes · dl-cdn.alpinelinux.org · Alpine Linux edge package indexes: esptool from https://dl-cdn.alpinelinux.org/alpine/edge/testing/x86_64/APKINDEX.tar.gz
apk95%

esptool-pyc 4.8.1-r0

Precompiled Python bytecode for esptool

https://docs.espressif.com/projects/esptool

sudo apk add esptool-pyc
  • License: GPL-2.0-or-later
  • Architecture: x86_64
  • Source Package: esptool
  • 1 dependencies
  • normalized package name match
  • Matched by: Esptool
Alpine Linux edge package indexes · dl-cdn.alpinelinux.org · Alpine Linux edge package indexes: esptool-pyc from https://dl-cdn.alpinelinux.org/alpine/edge/testing/x86_64/APKINDEX.tar.gz
dnf95%

esptool 5.2.0-2.fc45

A utility to communicate with the ROM bootloader in Espressif ESP8266 & ESP32

https://github.com/espressif/esptool

sudo dnf install esptool
  • License: GPL-2.0-or-later
  • Category: Unspecified
  • Architecture: noarch
  • Source Package: esptool
  • 3 dependencies
  • 4 provides
  • normalized package name match
  • Matched by: Esptool
Fedora Rawhide package metadata · dl.fedoraproject.org · Fedora Rawhide package metadata: esptool from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst
pacman95%

esptool 5.2.0-1

Espressif SoC serial bootloader utility

https://github.com/espressif/esptool

sudo pacman -S esptool
  • License: GPL-2.0-only
  • Architecture: any
  • 11 dependencies
  • 1 optional deps
  • normalized package name match
  • Matched by: Esptool
Arch Linux sync databases · geo.mirror.pkgbuild.com · Arch Linux sync databases: esptool from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz
MacPorts95%

esptool

sudo port install esptool
  • normalized package name match
  • Matched by: Esptool
MacPorts ports tree · api.github.com · MacPorts ports tree: cross/esptool/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1

source trail

Generated from repository data

This page is generated by av-web from the private package SQLite artifact built by scripts/generate-pkg-sqlite.py.

Used sources

  • Geiger risk classifier
  • Nucleus package database
  • av.db category and tag curation
  • cross-ecosystem install command graph
  • curated configuration and credential file locations
  • curated package history
  • external package-manager database matches
  • package relationship graph
  • package version freshness
  • package-page enrichment