# Install avrdude with Homebrew, apk, apt, dnf, MacPorts, Nix, pacman, scoop, winget, zypper

Atmel AVR MCU programmer. Version 8.1 via Homebrew; verified from local package data.

## Install

```sh
sudo av install brew:avrdude
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install avrdude
```

  Evidence: local Homebrew formula metadata

- MacPorts (94%):

```sh
sudo port install avrdude
```

  Evidence: MacPorts ports tree: cross/avrdude/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1

### Linux

- apk (92%):

```sh
sudo apk add avrdude
```

  Evidence: Alpine Linux edge package indexes: avrdude from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz

- Debian apt (92%):

```sh
sudo apt install avrdude
```

  Evidence: Debian stable package indexes: avrdude from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz

- dnf (92%):

```sh
sudo dnf install avrdude
```

  Evidence: Fedora Rawhide package metadata: avrdude from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst

- Nix (92%):

```sh
nix profile install nixpkgs#avrdude
```

  Evidence: nixpkgs package indexes: pkgs/by-name/av/avrdude/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1

- pacman (92%):

```sh
sudo pacman -S avrdude
```

  Evidence: Arch Linux sync databases: avrdude from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz

- zypper (92%):

```sh
sudo zypper install avrdude
```

  Evidence: openSUSE Tumbleweed package metadata: avrdude from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst

### Windows

- Scoop (92%):

```sh
scoop install main/avrdude
```

  Evidence: Scoop official bucket manifest trees: bucket/avrdude.json from https://api.github.com/repos/ScoopInstaller/Main/git/trees/master?recursive=1

- winget (92%):

```sh
winget install --id AVRDudes.AVRDUDE -e
```

  Evidence: Windows Package Manager source index: AVRDudes.AVRDUDE from https://cdn.winget.microsoft.com/cache/source.msix

## Package facts

- **Package key:** brew:avrdude
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/avrdude>
- **Version:** 8.1
- **Source summary:** Atmel AVR MCU programmer
- **Homepage:** <https://www.nongnu.org/avrdude/>
- **Repository:** <https://github.com/avrdudes/avrdude>
- **Upstream docs:** <https://avrdudes.github.io/avrdude>
- **License:** GPL-2.0-or-later
- **Source archive:** <https://github.com/avrdudes/avrdude/archive/refs/tags/v8.1.tar.gz>
- **Generated:** 2026-07-08T07:18:31+00:00

## Executables

- avrdude (cli)
- elf2tag (cli)
- avrdude (alias)
- elf2tag (alias)

## Dependencies

- hidapi
- libftdi
- libusb
- libusb-compat

## Build dependencies

- cmake
- libelf

## Install behavior

- Post-install hook: not defined
- Bottle: available on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, arm64_ventura, sonoma, ventura, x86_64_linux

## Freshness

- Page generated: 2026-07-08
- Package-manager version: 8.1
- Local data: ok
- Upstream repository: https://github.com/avrdudes/avrdude
- Upstream latest detected: v8.1 (current)
- info: No package-manager update timestamp was available.
## Project history and usage

AVRDUDE, the AVR Downloader/Uploader, is the standard command-line utility for programming Microchip AVR microcontrollers. It writes and reads flash, EEPROM, fuse bits, lock bits, and other device memories through a large set of supported programmers and bootloaders.

### Project history

AVRDUDE was originally written in 2003 by Brian S. Dean under the name AVRPROG for FreeBSD. The official manual says it was renamed AVRDUDE when interest grew in a Windows port, avoiding a naming conflict with Atmel's AVRPROG.EXE.

For many years the project lived in public repositories on Savannah at nongnu.org, where it was ported beyond FreeBSD to Linux, macOS, and Windows. The manual names Ted Roth, Eric Weddington, and Jorg Wunsch among the developers behind the porting effort, and the README says Jorg Wunsch has maintained it since 2006 with help from contributors.

In 2022, AVRDUDE moved to GitHub under the `avrdudes` organization. Current documentation is published through GitHub Pages, with older release manuals kept online, and the active repository continues to add programmer support, device database updates, CI packaging, Python bindings, and a GUI demonstrator for libavrdude.

### Adoption history

AVRDUDE is widely packaged because it sits in the critical path between compiled AVR firmware and physical chips. The official README tells Linux users to install the `avrdude` package through their distribution and macOS users to use MacPorts or Homebrew; the batch input additionally lists Alpine, Debian, Fedora, Nix, pacman, Scoop, Ubuntu, winget, and openSUSE.

Its adoption expanded with AVR hobbyist and Arduino-era workflows. The README's example programs an Arduino Uno using the `arduino` programmer protocol, and package managers keep AVRDUDE close to avr-gcc, bootloaders, USB programmer rules, and embedded build systems.

### How it is used

A typical invocation selects a part with `-p`, a programmer with `-c`, a port with `-P`, and a memory operation with `-U`, for example writing an Intel HEX file to flash. The manual also documents direct instruction mode, terminal mode, programmer-specific extended parameters, and configuration entries for new parts or programmers.

AVRDUDE's configuration file is central to its package behavior because part and programmer definitions live there. The manual documents system config lookup near the executable and `/usr/local/etc/avrdude.conf`, plus user config in `~/.config/avrdude/avrdude.rc` or `~/.avrduderc`.

### Why package nerds care

AVRDUDE is one of those unglamorous packages that makes embedded development feel like Unix: compile a HEX file, call one command, program a board. It is scriptable, cross-platform, and has enough programmer backends to outlive generations of hardware adapters.

It is also a packaging coordination point. Distributions have to ship the binary, the evolving `avrdude.conf`, docs, udev or USB access guidance, and sometimes Windows/macOS release artifacts. The result is a small CLI with a surprisingly large hardware compatibility surface.

### Timeline

- 2003: Brian S. Dean originally wrote AVRDUDE as AVRPROG for FreeBSD.
- 2006: Jorg Wunsch became maintainer according to the current README.
- Savannah era: Project source lived on savannah.nongnu.org and was ported to Linux, macOS, and Windows.
- 2022: Project moved to GitHub at avrdudes/avrdude.
- 2025: Online manual for version 8.1 generated and published on GitHub Pages.
- 2025: Version 8.1 added new AVR parts and PICkit/SNAP programmer support updates.
- 2026: Repository activity continues with device, programmer, build, and USB behavior fixes.

### Related projects

- Atmel/Microchip AVR toolchains and device packs feed the device definitions AVRDUDE uses.
- Arduino bootloader workflows commonly invoke AVRDUDE for board programming.
- libavrdude and the version 8 GUI demonstrator expose AVRDUDE functionality beyond the traditional CLI.

### Sources

- <https://avrdudes.github.io/avrdude/8.1/avrdude_2.html>
- <https://avrdudes.github.io/avrdude/8.1/avrdude_4.html>
- <https://github.com/avrdudes/avrdude/blob/main/NEWS>
- <https://github.com/avrdudes/avrdude/blob/main/README.md>
- source_facts.package-manager


## Security Notes

narrow executable package without higher-risk signals.

- **Geiger risk:** green / low
- narrow executable package without higher-risk signals


## 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

- Unix: <directory from which application loaded>/../etc/avrdude.conf, <directory from which application loaded>/avrdude.conf, /usr/local/etc/avrdude.conf, ${XDG_CONFIG_HOME}/avrdude/avrdude.rc, ${HOME}/.config/avrdude/avrdude.rc, ${HOME}/.avrduderc
- Windows: <directory from which avrdude.exe loaded>/avrdude.conf, <directory from which avrdude.exe loaded>/avrdude.rc
## Source Database Details

- **Source Database:** Homebrew formula API
- **Tap:** homebrew/core
- **Full Name:** avrdude
- **Version Scheme:** 0
- **Revision:** 0
- **Head Version:** HEAD
- **Bottle Stable Root URL:** <https://ghcr.io/v2/homebrew/core>
- **Deprecated:** no
- **Disabled:** no
- **Keg Only:** no
- **URL Keys:** head, stable

## Other Package-Manager Records

- Debian apt - avrdude - 7.1+dfsg-3+b2: normalized package name match | Debian stable package indexes: avrdude from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | software for programming Atmel AVR microcontrollers | https://github.com/avrdudes/avrdude/
- Debian apt - avrdude-doc - 7.1+dfsg-3: normalized package name match | Debian stable package indexes: avrdude-doc from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | documentation for avrdude | https://github.com/avrdudes/avrdude/
- Nix - avrdude: normalized package name match | nixpkgs package indexes: pkgs/by-name/av/avrdude/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
- Ubuntu apt - avrdude - 7.1+dfsg-3build2: normalized package name match | Ubuntu 24.04 LTS package indexes: avrdude from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | software for programming Atmel AVR microcontrollers | https://github.com/avrdudes/avrdude/
- Ubuntu apt - avrdude-doc - 7.1+dfsg-3build2: normalized package name match | Ubuntu 24.04 LTS package indexes: avrdude-doc from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | documentation for avrdude | https://github.com/avrdudes/avrdude/
- apk - avrdude - 8.1-r0: normalized package name match | Alpine Linux edge package indexes: avrdude from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | Download/upload/manipulate the ROM and EEPROM contents of AVR microcontrollers | https://github.com/avrdudes/avrdude
- apk - avrdude-dev - 8.1-r0: normalized package name match | Alpine Linux edge package indexes: avrdude-dev from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | Download/upload/manipulate the ROM and EEPROM contents of AVR microcontrollers (development files) | https://github.com/avrdudes/avrdude
- apk - avrdude-doc - 8.1-r0: normalized package name match | Alpine Linux edge package indexes: avrdude-doc from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | Download/upload/manipulate the ROM and EEPROM contents of AVR microcontrollers (documentation) | https://github.com/avrdudes/avrdude
- apk - avrdude-libs - 8.1-r0: normalized package name match | Alpine Linux edge package indexes: avrdude-libs from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | Download/upload/manipulate the ROM and EEPROM contents of AVR microcontrollers (libraries) | https://github.com/avrdudes/avrdude
- dnf - avrdude - 8.0-9.fc44: normalized package name match | Fedora Rawhide package metadata: avrdude from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst | Software for programming Atmel AVR Microcontroller | https://github.com/avrdudes/avrdude
- pacman - avrdude - 1:8.1-1: normalized package name match | Arch Linux sync databases: avrdude from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz | Download/upload/manipulate the ROM and EEPROM contents of AVR microcontrollers | https://github.com/avrdudes/avrdude/
- zypper - avrdude - 8.0-2.4: normalized package name match | openSUSE Tumbleweed package metadata: avrdude from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst | Upload tool for AVR microcontrollers | https://github.com/avrdudes/avrdude
- zypper - avrdude-devel - 8.0-2.4: normalized package name match | openSUSE Tumbleweed package metadata: avrdude-devel from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst | Development files for avrdude | https://github.com/avrdudes/avrdude
- zypper - libavrdude2 - 8.0-2.4: normalized package name match | openSUSE Tumbleweed package metadata: libavrdude2 from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst | Shared library of avrdude | https://github.com/avrdudes/avrdude
- MacPorts - avrdude: normalized package name match | MacPorts ports tree: cross/avrdude/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1
- Scoop - main/avrdude: normalized package name match | Scoop official bucket manifest trees: bucket/avrdude.json from https://api.github.com/repos/ScoopInstaller/Main/git/trees/master?recursive=1


## Related links

- [Terminal utility packages](https://www.automicvault.com/pkg/terminal-utilities/) - Matched terminal and command-line workflow metadata.
- [Text processing packages](https://www.automicvault.com/pkg/text-processing-tools/) - Matched text, document, or structured-data processing metadata.
- [Developer build packages](https://www.automicvault.com/pkg/developer-build-tools/) - Matched build, compiler, generator, or developer workflow metadata.
- [Networking and protocol packages](https://www.automicvault.com/pkg/networking-protocol-tools/) - Matched network, protocol, or remote-service metadata.
- [hidapi](https://www.automicvault.com/pkg/brew/hidapi/) - Runtime dependency declared by Homebrew.
- [libftdi](https://www.automicvault.com/pkg/brew/libftdi/) - Runtime dependency declared by Homebrew.
- [libusb-compat](https://www.automicvault.com/pkg/brew/libusb-compat/) - Runtime dependency declared by Homebrew.
- [cmake](https://www.automicvault.com/pkg/brew/cmake/) - Build dependency declared by Homebrew.
- [arduino-cli](https://www.automicvault.com/pkg/brew/arduino-cli/) - Shares av.db curated category or tags: cli, developer-tools, embedded.
- [arm-none-eabi-binutils](https://www.automicvault.com/pkg/brew/arm-none-eabi-binutils/) - Shares av.db curated category or tags: cli, developer-tools, embedded.
- [arm-none-eabi-gcc](https://www.automicvault.com/pkg/brew/arm-none-eabi-gcc/) - Shares av.db curated category or tags: cli, developer-tools, embedded.
- [arm-none-eabi-gdb](https://www.automicvault.com/pkg/brew/arm-none-eabi-gdb/) - Shares av.db curated category or tags: cli, developer-tools, embedded.
- [avra](https://www.automicvault.com/pkg/brew/avra/) - Shares av.db curated category or tags: avr, cli, developer-tools.
- [bossa](https://www.automicvault.com/pkg/brew/bossa/) - Shares av.db curated category or tags: cli, developer-tools, embedded.
- [cargo-binutils](https://www.automicvault.com/pkg/brew/cargo-binutils/) - Shares av.db curated category or tags: cli, developer-tools, embedded.
- [dtc](https://www.automicvault.com/pkg/brew/dtc/) - Shares av.db curated category or tags: cli, developer-tools, embedded.
- [mspdebug](https://www.automicvault.com/pkg/brew/mspdebug/) - Local package facts share a topical domain. Shared terms: cli, compat, developer, developer-tools, embedded.
- [open-ocd](https://www.automicvault.com/pkg/brew/open-ocd/) - Local package facts share a topical domain. Shared terms: cli, developer, developer-tools, embedded, hidapi.
- [openfpgaloader](https://www.automicvault.com/pkg/brew/openfpgaloader/) - Local package facts share a topical domain. Shared terms: cli, developer, developer-tools, embedded, libftdi.

## Combined YAML source

View the package source record on GitHub. [combined/avrdude.yml](https://github.com/automic-vault/db/blob/main/combined/avrdude.yml)


## Sources

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