Skip to content

avrdude

Reads and writes AVR microcontroller memories through almost any programmer

What it does

Uploads, downloads and verifies the flash, EEPROM and fuse bytes of an AVR — the ATmega and ATtiny families, and the AVR core inside most classic Arduino boards — through a very long list of programmers.

Why you would want it

It is what the Arduino IDE shells out to, so knowing it directly means being able to flash a board without the IDE, script a production run, or recover a chip whose fuses were set wrong. It also reaches programmers no IDE offers.

Before it will work

A programmer, and for the older ones a serial or parallel port. Access for the USB ones comes from the programmer hardware class.

How it installs

  • apt: avrdude

Known problems

Setting fuse bytes wrongly can make a chip unreachable by the programmer that set them — a low-voltage-programming or clock-source fuse can require a high-voltage programmer to recover. This is not a bug and it is the most common way an AVR ends up in a drawer.

Its identifiers (counted by the generated programmer class, not
here) include `16c0:05dc`, the USBasp, which is one of

Objective Development's shared V-USB pairs and not an identifier for any product. libhamlib4t64 claims it too.

Keeping it current

  • probe: apt policy
  • strategy: apt_upgrade

Source: catalog/packages/avrdude.yaml