005 – Un Stick USB Arduino pour 2€

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 programmeur programmé...

Le programmeur programmé…

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

Laisser un commentaire