Cet article explique comment programmer les atmega32m1 avec avrdude. Cette famille de de microcontrôlleurs (atmega16m1, atmega32m1 and atmega64m1) n’est pas nativement supportée par avrdude. Ce tutorial utilise les versions suivantes des logiciels:
- Ubuntu 14.04 LTS
- avrdude 6.0.1
Installer avrdude
Pour commencer, lancer un terminal (ctrl-alt-t) et installer avrdude:
sudo apt-get install avrdude
Patcher avrdude
Il est possible d’ajouter l’atmega32m1 dans avrdude en patchant le fichier avrdude.conf. Télécharger le patch écrit par Renato Caldas:

Patch for adding atmega32m1 to avrdude 6.35 KB
Avant de patcher, faire une copie de sauvegarde du fichier qui va être modifié:
sudo cp /etc/avrdude.conf /etc/avrdude.conf.backup
Maintenant, la commande suivante va ajouter la configuration de l’atmega32m1 dans avrdude:
sudo patch -p0 /etc/avrdude.conf avrdude_atmega32m1.patch
Test
Il est possible de lire la signature et les fusibles du microcontrôlleur. Dans l’exemple suivant, j’ai utilisé un AVRISP mkII pour programmer, mais cet exemple peut être adapté à d’autres programmateurs supportés par avrdude :
sudo avrdude -p m32m1 -c avrispmkII -P usbc
La signature doit correspondre : 0x1e8594: