Avec un simple USBASP à 2€, on a en fait entre les mains une plateforme développement compatible code Arduino, et permettant de gérer le USB en logiciel avec V-USB.
C’est à dire ?
C’est à dire qu’on peut utiliser un USBASP pour bien d’autres choses qu’un programmateur: Clavier USB, souris, Interface USB/Série ou USB/Midi, télécommande I/R… ça ouvre bien des possibilités, à un prix de folie.
Ce tuto est dans la série « USBASP ».
Mon cheminement
J’avais de prime abord acheté un programmateur USBASP pour récupérer un Arduino Nano briqué (mission accomplie!)
J’ai compris le potentiel de ce petit stick après avoir « joué » avec de l’USB sur d’autres plateformes, pour simuler des claviers USB notamment.
En tombant sur un forum anglais[1], j’ai eu les infos manquantes. Je me suis racheté des USBASP pour les exploiter en clés USB programmables avec l’IDE Arduino.
Voilà comment faire :
Le bon modèle et les jumpers
Voir l’article précédent pour choisir le bon modèle de stick, et lui souder ses jumpers JP2 et JP3.
Il vous en faudra 2 pour être tranquille: un qui reste tel quel et va servir de programmeur, l’autre qu isert de plateforme de dev et accueillera votre code.
On peut se débrouiller autrement en utilisant un arduino uno par exemple comme programmateur ISP, mais autant tout faire en USBASP, c’est tout aussi rapide et simple.
Compléter l’IDE Arduino
Pour que l’environnement Arduino reconnaisse cette carte et ses possibilités, il faut ajouter une section au fichier « Boards.txt ».
C’est à faire avec l’IDE fermée.
Sous Windows, le fichie se trouve sous « C:\Program Files (x86)\Arduino\hardware\arduino\avr\boards.txt »
Ouvrez le avec notepad par exemple, et ajoutez-y, à la fin du fichier, les lignes suivantes :
############################################################## usbasp.name=USBASP v2.0 usbasp.upload.protocol=arduino usbasp.upload.maximum_size=7680 usbasp.upload.speed=115200 usbasp.upload.tool=avrdude usbasp.bootloader.low_fuses=0xef usbasp.bootloader.high_fuses=0xc9 usbasp.bootloader.path=optiboot usbasp.bootloader.file=optiboot_atmega8.hex usbasp.bootloader.unlock_bits=0x3F usbasp.bootloader.lock_bits=0x0F usbasp.bootloader.tool=avrdude usbasp.build.mcu=atmega8 usbasp.build.f_cpu=12000000L usbasp.build.core=arduino usbasp.build.variant=standard ##############################################################
Une fois l’éditeur Arduino relancé, une nouvelle carte « USBASP V2 » est disponible dans le menu « Outils/Type de carte ».
Programmer
Le premier USBASP n’est pas modifié, c’est lui qui est branché via l’USB à votre PC.Son jumper JP2 est absent (ouvert).
Il est relié, via le cable en nappe, à l’autre USBASP (celui qu’on programme donc)
Avec le détrompeur sur le cable, impossible de se tromper.
Sur le second USBASP (en bas sur la photo), on a fermé le jumper JP2.
Celui là n’est PAS relié au port USB de votre machine.
Reste à sélectionner « USBASP V2 » comme modèle de carte sous l’IDE Arduino, charger un programme de test (voir tuto suivant) et « Fichier/Téléverser avec un programmateur » (Ctrl+Maj+U pour le raccourci)
La suite : Programmer un USBASP sous Arduino.
Références
[1]: Forum Anglais avec infos techniques Dangerous Prototypes