Installation

You'll need to compile and install the latest version of the avrdude programming tool on the Raspberry Pi.  These instructions assume you're using a version of the Raspbian operating system and are familiar with how to connect to the terminal on the Raspberry Pi.

Also note these instructions are written for version 6.1 of avrdude.  Earlier versions won't work because they don't have the required linuxgpio programmer type.  Later versions might work, but they might require more dependencies or a different configuration.  Stick with version 6.1 to follow these instructions.

Easy Install

To save some of the trouble of compiling avrdude a pre-compiled package for Raspbian has been added to Adafruit's Rasbian package repository.  If you just want to get up and running as fast as possible follow these steps to install the package.  If you run into an issue or would like to compile the code yourself, skip down to the compile avrdude section.

First follow the steps on this page to add Adafruit's package repository to your Raspberry Pi.

Once the Adafruit repository has been added and the package list refreshed, run the following command to install or upgrade the avrdude package:

Download: file
sudo apt-get install avrdude

Answer yes to any question about installing packages, and after a moment the updated avrdude package should be installed.  Skip down to the verify installation section to continue.

Compile avrdude (Manual Install)

To manually compile avrdude follow the steps below.  First run these commands to install some required dependencies:

Download: file
sudo apt-get update
sudo apt-get install -y build-essential bison flex automake libelf-dev libusb-1.0-0-dev libusb-dev libftdi-dev libftdi1

Then download the source and configure avrdude for compilation by executing:

Download: file
wget http://download.savannah.gnu.org/releases/avrdude/avrdude-6.1.tar.gz
tar xvfz avrdude-6.1.tar.gz
cd avrdude-6.1
./configure --enable-linuxgpio

After the configure script runs verify that it shows the line "ENABLED linuxgpio" like below (you can safely ignore the DISABLED and DON'T HAVE warnings):

Download: file
Configuration summary:
----------------------
DO HAVE    libelf
DO HAVE    libusb
DO HAVE    libusb_1_0
DON'T HAVE libftdi1
DO HAVE    libftdi
DON'T HAVE libhid
DO HAVE    pthread
DISABLED   doc
DISABLED   parport
ENABLED    linuxgpio

Now build and install avrdude by running:

Download: file
make
sudo make install

Verify Installation

Now that avrdude is compiled and installed you can verify the expected version 6.1 is installed.  Run the 'avrdude -v' command (without quotes) and check that you see output like the following with version 6.1:

Download: file
avrdude: Version 6.1, compiled on May 28 2015 at 18:41:48
         Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
         Copyright (c) 2007-2014 Joerg Wunsch

         System wide configuration file is "/usr/local/etc/avrdude.conf"
         User configuration file is "/home/pi/.avrduderc"


avrdude: no programmer has been specified on the command line or the config file
         Specify a programmer using the -c option and try again

Once avrdude 6.1 is compiled and installed, continue on to learn how to configure avrdude to program using the GPIO pins.

This guide was first published on Jun 01, 2015. It was last updated on Jun 01, 2015. This page (Installation) was last updated on Jul 18, 2019.