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

Atmel AVR MCU programmer. Version 8.2 via Homebrew; verified 2026-07-11. Also installable with debian: sudo apt install avrdude.

## 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/07190dc5ae9f35ae73866675fed6d95fe6e8d9fe22c9d7cdf85862cb2ed24a4c-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/50b07339cb64c8ed4091bdbabddadc1ff5737b090e478818a195b40d8a3292861a879139b4a3987c31109699fde9fbf4a716367ddf4eef77da75f96e3193d6ed-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
- **Version:** 8.2
- **Source summary:** Atmel AVR MCU programmer
- **Homepage:** <https://www.nongnu.org/avrdude/>
- **Repository:** <https://github.com/avrdudes/avrdude>
- **Last updated:** 2026-07-11T14:54:56Z
- **Generated:** 2026-08-03T19:37:03+00:00

## Executables

- avrdude (alias)
- elf2tag (alias)

## Install behavior

- Bottle: not available

## Freshness

- Page generated: 2026-08-03
- Package-manager version: 8.2
## 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
## 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.2-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.2-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.2-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.2-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-10.fc45: normalized package name match | Fedora Rawhide package metadata: avrdude from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/07190dc5ae9f35ae73866675fed6d95fe6e8d9fe22c9d7cdf85862cb2ed24a4c-primary.xml.zst | Software for programming Atmel AVR Microcontroller | https://github.com/avrdudes/avrdude
- pacman - avrdude - 1:8.2-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.6: normalized package name match | openSUSE Tumbleweed package metadata: avrdude from https://download.opensuse.org/tumbleweed/repo/oss/repodata/50b07339cb64c8ed4091bdbabddadc1ff5737b090e478818a195b40d8a3292861a879139b4a3987c31109699fde9fbf4a716367ddf4eef77da75f96e3193d6ed-primary.xml.zst | Upload tool for AVR microcontrollers | https://github.com/avrdudes/avrdude
- zypper - avrdude-devel - 8.0-2.6: normalized package name match | openSUSE Tumbleweed package metadata: avrdude-devel from https://download.opensuse.org/tumbleweed/repo/oss/repodata/50b07339cb64c8ed4091bdbabddadc1ff5737b090e478818a195b40d8a3292861a879139b4a3987c31109699fde9fbf4a716367ddf4eef77da75f96e3193d6ed-primary.xml.zst | Development files for avrdude | https://github.com/avrdudes/avrdude
- zypper - libavrdude2 - 8.0-2.6: normalized package name match | openSUSE Tumbleweed package metadata: libavrdude2 from https://download.opensuse.org/tumbleweed/repo/oss/repodata/50b07339cb64c8ed4091bdbabddadc1ff5737b090e478818a195b40d8a3292861a879139b4a3987c31109699fde9fbf4a716367ddf4eef77da75f96e3193d6ed-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


## Combined YAML source

View the package source record on GitHub. [combined/avrdude.yml](https://github.com/mxcl/pkgdb/blob/main/combined/avrdude.yml)


## Sources

- pkg.so package database
- Geiger risk classifier
- curated configuration and credential file locations
- curated package history
- pkgdb category and tag curation
- external package-manager database matches
- cross-ecosystem install command graph
