avrdude-6.1 linuxgpio

The version of avrdude used with the AVRPi boards is the latest 6.1 with linuxgpio programmer enabled. The install script patches the .ini file to use gpio pins 8,9,10,11.

The install/compile script is in a separate repository, and can be found here: avrdude-linuxgpio.

When you run the setup script to install the software for the AVRPi boards, avrdude is automatically compiled or a pre-compiled version is installed. You don't need to do the things below. The contents of the README file is only here for completeness' sake:

avrdude-linuxgpio

This script downloads, patches, compiles, and installs a plain, vanilla avrdude-6.1 as you can get it from download.savannah.gnu.org.

The install script and patch enable avrdude to bitbang GPIO pins (such as on the Raspberry Pi GPIO) using the 'linuxgpio' (sysfsgpio) interface that's standard available in avrdude-6.1.

The patch assumes that you want to program an AVR from the Raspberry Pi with the following connections. The numbers are Raspberry Pi BCM pin numbers, and are compatible with "Gordon's avrdude" on the Pi.

RESET   =  8
SCK     =  11
MOSI    =  10
MISO    =  9

Make sure you're up to date:

sudo apt-get update
sudo apt-get upgrade

You need to install some packages to be able to build avrdude from source:

sudo apt-get install libusb-1.0-0-dev libftdi-dev autoconf bison flex

To include libelf, also install libelf-dev. Note that you then also need to add 'libelf1 (>= 0.142)' as an extra dependency in the deb package (add in make_deb.sh).

Then get this repository from github and run 'install_avrdude.sh':

git clone https://github.com/onandoffables/avrdude-linuxgpio
cd avrdude-linuxgpio
./install_avrdude.sh

avrdude usage example:

avrdude -c linuxgpio -p atmega328p -U flash:w:blinky.hex