avrdude
Program AVR microcontroller flash and fuses
TLDR
Upload firmware to Arduino
SYNOPSIS
avrdude -p partno -c programmer [options]
DESCRIPTION
avrdude (AVR Downloader Uploader) is a utility for programming Atmel AVR microcontrollers. It supports numerous programmers and can read/write flash, EEPROM, fuse bits, and lock bits.
The tool is essential for Arduino development and embedded systems work with AVR chips.
PARAMETERS
-p partno
Specify AVR device (e.g., atmega328p, attiny85)-c programmer
Programmer type (arduino, usbasp, avrisp2)-P port
Communication port (/dev/ttyUSB0, COM3)-U memtype:op:file:format
Memory operation (flash:w:file.hex:i)-b baudrate
Override baud rate-B bitclock
Bit clock period-v
Verbose output-n
Dry run (no writes)-F
Force (override signature check)
CONFIGURATION
/etc/avrdude.conf
System-wide configuration defining programmer types, part definitions, and default settings.~/.avrduderc
Per-user configuration overrides. Can add custom programmer definitions or modify part settings.
MEMORY OPERATIONS
flash
Program memoryeeprom
Data memorylfuse, hfuse, efuse
Configuration fuseslock
Lock bitsOperations: r (read), w (write), v (verify)
CAVEATS
Incorrect fuse settings can brick the device. Requires proper permissions for serial ports. Wrong programmer selection causes failures. Always backup fuses before modification. USB connection issues common on some platforms.
HISTORY
avrdude was created by Brian Dean in 2003 as an open-source alternative to Atmel's proprietary programming tools. It has become the standard tool for AVR programming.
SEE ALSO
arduino-cli(1), platformio(1), minicom(1)
