Programming atmega32m1 with avrdude

This article explains how to program an atmega32m1 with avrdude. This family of microcontrollers (atmega16m1, atmega32m1 and atmega64m1) is not originally supported by avrdude. This tutorial is based on the following versions of softwares:

  • Ubuntu 14.04 LTS
  • avrdude 6.0.1

Install packet

First, launch a terminal (ctrl-alt-t) and install avrdude:

sudo apt-get install avrdude

Patching avrdude

You can add atmega32m1 support for avrdude by patching the file avrdude.conf. Download the patch written by Renato Caldas:

Before patching the file, make a backup copy:

sudo cp /etc/avrdude.conf /etc/avrdude.conf.backup

Now, the following command will add the atmega32m1 configuration to avrdude:

sudo patch -p0 /etc/avrdude.conf avrdude_atmega32m1.patch


You can read the device signature and fuses. In the following example, I used an AVRISP mkII for programming, but the following example needs to be adapted if you are using another programmer supported by avrdude:

sudo avrdude -p m32m1 -c avrispmkII -P usbc

The expected signature is 0x1e8594:

Screenshot from 2014-05-25 11:31:00

2 thoughts on “Programming atmega32m1 with avrdude

  1. Yes It work for me.
    Thanks a lot !!
    I am going to purchase avrisp mkII.But you save my money.
    Actually I have usbasp programmer so using your tip now I am able to program ATmega32m1.

Leave a Reply

Your email address will not be published. Required fields are marked *