Flashez l’Arduino Nano

Si vous cherchez un Arduino compact, léger et vraiment pas cher, vous pouvez commander directement en Chine un clone d’Arduino Nano à 3,00 € (frais de ports compris). Bien sûr, il faudra patienter un peu avant de le recevoir (le temps qu’il arrive à pied par la Chine).

L’Arduino Nano peut éventuellement remplacer un Arduino Uno, car il possède exactement le même microcontrôleur (ATMEGA328P).

Un clone d'Arduino Nano

Attention, il faudra aussi vous procurer un câble mini USB (si vous n’en avez pas encore un qui traîne au fond d’un tiroir).

Problème de drivers

Généralement, les clones chinois n’utilisent pas le même contrôleur USB que les modèles d’Arduino officiels. Il est donc possible que la carte ne soit pas automatiquement reconnue par l’ordinateur. Mais, pas de panique, il suffit simplement de télécharger et d’installer les drivers Arduino CH340.

Téléversement d’un programme

Pour vérifier le fonctionnement de l’Arduino, nous allons tenter de téléverser le programme « Blink » qui se contente de faire clignoter la LED interne (rouge).
Allez dans : Fichier – Exemples – 01.Basics – Blinks

Chargement du programme de test Blink avec l'IDE Arduino.

Sélectionnez la carte : Outils – Type de carte – Arduino Nano

Sélection du type de carte : Arduino Nano avec l'IDE.

Le processeur : Outils – Processeur – ATmega328P (Old Bootloader)

Sélection du processeur : ATmega328P (Old Bootloader), dans l'IDE Arduino.

Et le Port : Outils – Port – COM

Sélection du port de communication dans l'IDE Arduino.

Lancez le téléversement : Croquis – Téléverser (ou la flèche ->)

Téléversement du sketch Blink avec l'IDE Arduino.

Pour faire plusieurs essais, modifiez les valeurs des instructions delay afin d’augmenter ou de réduire la fréquence de clignotement.

Téléversement terminé.

Le bootloader d’origine

Le bootloader est un petit programme stocké dans un emplacement spécial de la mémoire flash du microcontrôleur. Il fonctionne un peu comme le système d’exploitation de votre ordinateur. Il se lance au démarrage de se charge d’exécuter le sketch programmé.

Comme nous l’avons vu plus haut, pour que cela fonctionne, il faut sélectionner l’ancien bootloader (Old Bootloader). Si vous essayez de lancer le téléversement avec le bootloader classique du microcontrôleur ATmega328P…

Sélection du processeur : ATmega328P (classique), dans l'IDE Arduino.

Le téléversement échoue (avec un message d’erreur).

Message d'erreur au téléversement.

Gravure du bootloader

La mise à jour du bootloader n’est absolument pas obligatoire, la carte fonctionne parfaitement en sélectionnant « Old Bootloader« . Mais si (comme moi), vous passez souvent d’une carte à l’autre, il vous faudra fréquemment modifier les paramètres du processeur avant le téléversement (suivant la carte utilisée). De plus, on peut supposer que la nouvelle version du bootloader présente des améliorations (par rapport à l’ancienne). Il est donc possible que certains programmes testé sur un autre Arduino ne fonctionnent pas aussi bien sur un Arduino Nano équipé d’un ancien bootloader. Pour vous simplifier la vie, je vous conseille de mettre systématiquement à jour le bootloader de tous vos clones d’Arduino Nano. Cela ne prend que quelques minutes et nécessite seulement un autre Arduino et bien sûr de quelques fils (source).

Tout d’abord, vous devez préparer l’Arduino qui servira de programmeur. Lancez l’IDE Arduino et chargez le sketch « ArduinoISP« .
Pour cela, allez dans : Fichier – Exemples – 11.ArduinoISP – ArduinoISP

Chargement du programme de gravure du bootloader de l'Arduino.

Indiquez les paramètres de l’Arduino programmeur. Dans mon cas, il d’agit d’un Arduino Uno.

Paramètre de l'Arduino Uno dans le menu Outils de l'IDE.

Vous pouvez maintenant lancer le téléversement.

Téléversement du sketch ArduinoISP avec l'IDE Arduino.

Si tout s’est bien passé, reproduisez le branchement ci- dessous et reliez le programmeur à l’ordinateur.

Branchement de L'Arduino en mode  programmateur.

Cette fois, il faut sélectionner dans Outils, les paramètres de l’Arduino à reprogrammer, c’est à dire l’Arduino Nano, mais pas « Old Bootloader« . Modifiez aussi le Programmeur en remplaçant « AVRISP mkII » par « Arduino as IPS« .

Réglage des paramètres de l'Arduino Nano avec la gravure du nouveau bootloader.

Lancez la gravure en allant dans : Outils – Graver la séquence d’initialisation

Gravure du bootloader de l'Arduino Nano.

C’est un peu plus long qu’un téléversement classique et on a toujours un petit peu peur de « briquer » l’Arduino. Mais ça ne m’est jamais arrivé et avec un Arduino à 3 €, vous ne prenez pas énormément de risques.

Gravure du bootloader est en cours.

Si vous rencontrez un message d’erreur de ce type, vérifiez simplement les connexions et recommencez la gravure.

Message d'erreur au cours de la gravure du bootloader.

Si tout s’est bien passé, vous devriez obtenir ce message.

Gravure de la séquence d'initialisation terminée.

Félicitations, vous avez maintenant un Arduino Nano tout neuf.

Modification du bootloader de l'Arduino Nano.

N’oubliez pas de re-sélectionner le programmeur habituel : « AVRISP mkII« .

Sélection du programmeur AVRISP mkII.

Non seulement, vous pouvez maintenant téléverser vos programmes en utilisant le paramètre : « Processeur : ATmega328P« . Mais cela fonctionne aussi avec les paramètres de l’Arduino Uno.

Sélection des paramètres de l'Arduino Uno.

Conclusion

Cette petite carte (grâce à sa taille réduite), va prendre place dans le boitier qui accueille déjà le module relais de mon projet de cafetière pilotée par Arduino. Nous verrons si à l’usage, elle se révèle aussi fiable qu’une carte officielle.


11 réflexions sur “Flashez l’Arduino Nano

    1. Bonjour, vous pouvez y souder des connecteurs (mâles ou femelle) ou insérer simplement des connecteurs Dupond Mâle en s’assurant qu’ils soient en contact avec le bord des trous au moment du flashage (c’est ce que j’ai fait).

      J’aime

  1. Super article, un grand merci. J’ai non seulement réussi à flasher une Arduino Nano, mais également une vieille carte DFRDuino Romeo 1.0.

    Elle est maintenant reconnue nativement en tant que Arduino Uno (avant, c’était une Duemilanove) et fonctionne impec avec mBlock (y compris la V5) qui est assez strict sur la compatibilité des cartes.

    J’aime

  2. Bonjour,
    En suivant votre procédure , j’ai branché une NANO chinoise(après lui avoir mis le boot 328p), en carte programmatrice et j’ai mis le boot sur une carte UNO (j’avais des 328p vièrges )…..nickel , ça fonctionne parfaitement…Merci

    J’aime

    1. Bonjour,
      Malheureusement, je n’ai pas la possibilité de deviner pourquoi ça ne fonctionne pas chez vous.
      Essayez dans un 1er temps de refaire pas à pas le tuto pour vérifier que vous n’avez pas oublié une étape.
      Et si vous avez un message d’erreur, vous pouvez faire une recherche sur internet pour voir si d’autres personnes rencontrent le même problème.
      Sinon, ça peut aussi être un problème matériel, pour le savoir il faudrait essayez avec un autre Arduino Nano…
      Bon courage.

      J’aime

  3. Merci pour ce tuto. En suivant chaque chapitre, j’ai maintenant mes NANO qui me permettent de compiler/tester mes programmes à la place des UNO.
    Tuto très clair. Impeccable et merci encore.
    Jerry

    J’aime

  4. Bonjour pour moi dès le début cela ne fonctionne pas je n’arrive pas à mettre le programme blinks dans la arduino nano (je suis dans le même cas que vous

    J’aime

    1. Bonjour, si l’Arduino n’est pas reconnu, c’est certainement un problème de drivers (Essayez d’installer les drivers Arduino CH340). Sinon il faut bien sélectionner la carte « Arduino Nano », vérifier le port et tester avec les 3 processeurs proposés (ATmega328P (Old Bootloader), ATmega328P et ATmega168).
      Mais, ça peut aussi être un problème matériel (câble USB ou carte défectueuse)…
      Bon courage

      J’aime

Répondre à jcquetin Annuler la réponse.