[RESOLU]Connaître le micro controleur installé sur une vieille carte Arduino Nano

Bonjour à tous, tout est dans le titre de ce topic.
Je possède une carte arduino nano achetée en 2013.
À l'époque il existait des cartes nano équipées d'ATmega128 et d'ATmega328.
Je me demandais s'il n'y avait une instruction, ou une petit sketch pour avoir ma réponse.
Merci de m'éclairer, bien cordialement à tous

Normalement une gravure sur le microcontrôleur permet de l'identifier. Pouvez-vous faire une photo (nette) en gros plan de celui-ci et l'envoyer sur le forum ? Ou bien regarder de près voir si vous ne pouvez pas la voir vous même ?

Bonjour,

Ça ne serait pas plutôt un 168 et non pas un 128 ?

De toutes façons dans l’IDE Arduino (1.8.19) vous avez le choix :

  • 168
  • 328

Il vous suffit de télécharger votre code et vous verrez bien de quoi il en retourne.
Il y a d’autres façons de vérifier mais elles sont un peu plus compliquées.

À ma connaissance mais en 2013 Arduino et ses cartes je ne connaissais pas, les nanos n’étaient pas équipées de128 (sous réserve).
Après vous pouvez peut-être lire comme vous le suggère @pandaroux007 de quoi il en retourne sur le micro-contrôleur quoiqu’il est possible qu’une copie ne porte pas de mention.

Bonne journée

PS : essayez de téléverser un sketch de base (blink…) avec les options bootloader 328 -old bootloader et bootloader 168. Vous trouverez ça dans l’onglet processeur si ma mémoire est bonne.

Merci de ce retour rapide. Mes vieux yeux ne voyaient pas bien, et avec du mal j'ai pu déchiffrer le tye de micro controleur. il s'agit d'un ATmega328.
Cependant, je crois qu'avec le temps, les gravures et/ou autres informations sur les composants, CI TTL ou CMOS, ont tendance à disparaitre.
Pas grave, on survivra au moins jusqu'à demain.
Merci pour tout

Merci philippe86220,
Comme je viens du monde linux, je pensais qu'il existait une instruction du genre:
lscpu, ou bien cpuinfo ou encore d'autres .. qui permettent de savoir quel genre de controleur on a.
Du coup, j'ai fait ce que vous préconiser pour savoir ce qui est installé sur le nano que je possède. C'est le bootloader 328_àld qui marche.
Maintenant je me mets au travail, pas trop fort quand même
Bonne soirée à tous

Non, mais on peut lire la signature du CPU avec avrdude.

  • Si on donne le bon type de CPU on a la confirmation.
  • Si on donne un type erroné de CPU avrdude affiche la signature qu'il a trouvé avec le type supposé de CPU associé à cette signature.

Les copies d'écran ci-dessous on été faites avec une Arduino Diecimila connectée au PC

frederic@frederic-BMAX:~$ avrdude -P /dev/ttyUSB0 -c arduino -b 57600 -p m168p

avrdude: AVR device initialized and ready to accept instructions
avrdude: device signature = 0x1e950f (probably m328p)
avrdude error: expected signature for ATmega168P is 1E 94 0B
        double check chip or use -F to override this check

avrdude done.  Thank you.

frederic@frederic-BMAX:~$ avrdude -P /dev/ttyUSB0 -c arduino -b 57600 -p m328p

avrdude: AVR device initialized and ready to accept instructions
avrdude: device signature = 0x1e950f (probably m328p)

avrdude done.  Thank you.

C'est une question pas une réalisation ou un projet fini donc déplacement du fil de discussion dans la racine du forum francophone

@fdufnews
On connaît ton prénom maintenant :wink:
Bonne soirée

Oui, mais c'est pas bien grave :slight_smile:

Oui bien sûr :wink:
Il me semble qu’on peut identifier le micro-contrôleur également avec microchip studio.
Bonne soirée

Un peu grillé par @fdufnews (c'est la faute de mon épouse favorite qui est venu me distraire. Quand j'ai pu cliquer sur envoyer je n'avais vu qu'il avait répondu entre temps :grinning_face:)

Pour les microcontrôleurs Atmel avr Il y a un programme qui s'appelle avrdude (pour info avec les ESP32 le programme s'appelle esptool.py).

Avrdude est le programme, écrit par le concepteur du micro, qui permet, a toutes les IDEs, de transférer le programme dans le micro.

Avrdude fait plein d'autres choses qui sont expliqué dans son manuel que l'on peut obtenir avec un moteur de recherche.

Avrdude peut être utilisé par l'intermédiaire d'une des IDEs existantes, ou en ligne de commande.

La signature d'un microcontrôleur n'est pas enregistrée dans la puce, elle est "gravée en dur" dans la puce.

Le contenu de la signature se trouve dans la datasheet du microcontrôleur.

Cas IDE Arduino.
Si l'IDE, par l'intermédiaire d'avrdude, trouve une signature de puce qui ne correspond pas à celle qui est attendue, elle l'affiche dans le moniteur.
Eventuellement activer le mode bavard (verbose).

Il ne reste plus qu'a :
soit faire une recherche sur cette signature (moteur de recherche ou IA).
soit lire les datasheets des micro "probables".

Hi every body!
Merci pour tous vos conseils éclairés, que dis-je, ils m'ont permis de communiquer en direct avec le vieux nano qui dormait au fond d'un de mes "tiroirs".
Après installation de AVRdude sur une UBUNTU 20.04, je suis allé cherché la signature du controleur comme préconisé par la procédure de @fdfnews.
Et bien, il semble qu'il s'agit bien d'un ATMega328P.
Je vais creuser de ce coté .
Merci à tous, GG

Sinon tu peux trouver avrdude qui est installé avec l'IDE dans le répertoire ~/.arduino15/packages/arduino/tools/avrdude

Sinon pour ceux qui possèdent un Mac :

Si AVRdude n'est pas installé et que vous ne souhaitez pas utiliser celui de l'IDE Arduino :

1/ Dans le terminal, pour l'installer :

  • brew install avrdude

2/ Puis pour connaître le périphérique utilisé par la carte Arduino :

Si j'indique un mauvais modèle de microcontrôleur, par exemple :
avrdude -c arduino -p m168p -P /dev/cu.usbmodem31401 -b 115200 -v alors qu'il s'agit d'un 328p :

Avrdude version 8.0
Copyright see avrdude/AUTHORS at main · avrdudes/avrdude · GitHub

System wide configuration file is /opt/homebrew/etc/avrdude.conf
User configuration file /Users/philippecostes/.avrduderc does not exist

Using port : /dev/cu.usbmodem31401
Using programmer : arduino
Setting baud rate : 115200
AVR part : ATmega168P
Programming modes : SPM, ISP, HVPP, debugWIRE
Programmer type : Arduino
Description : Arduino bootloader using STK500 v1 protocol
HW Version : 3
FW Version : 4.4

AVR device initialized and ready to accept instructions
Device signature = 1E 95 0F (ATmega328P, ATA6614Q, LGT8F328P)
Error: expected signature for ATmega168P is 1E 94 0B
** - double check chip or use -F to carry on regardless**

Avrdude done. Thank you.

Dans le fichier avrdude.conf vous avez toutes les signatures et si vous avez installé comme moi avrdude par Homebrew vous pouvez le lire en tapant :
cat /opt/homebrew/etc/avrdude.conf car l'installation du fichier se fait normalement ici : opt/homebrew/etc/avrdude.conf

et pour finir j'ai demandé la liste des signatures à ChatGPT :

Microcontrôleur Signature
ATmega328P 0x1E 0x95 0x0F
ATmega328 0x1E 0x95 0x14
ATmega168 0x1E 0x94 0x06
ATmega168P 0x1E 0x94 0x0B
ATmega88 0x1E 0x93 0x0A
ATmega88P 0x1E 0x93 0x0F
ATmega8 0x1E 0x93 0x07
ATmega16 0x1E 0x94 0x03
ATmega32 0x1E 0x95 0x02
ATmega64 0x1E 0x96 0x02
ATmega128 0x1E 0x97 0x02
ATmega1284P 0x1E 0x97 0x05
ATmega2560 0x1E 0x98 0x01
ATmega2561 0x1E 0x98 0x02
ATtiny13 0x1E 0x90 0x07
ATtiny25 0x1E 0x91 0x08
ATtiny45 0x1E 0x92 0x06
ATtiny85 0x1E 0x93 0x0B
ATtiny2313 0x1E 0x91 0x0A
ATtiny4313 0x1E 0x92 0x0D
ATtiny861 0x1E 0x93 0x08
AT90USB162 0x1E 0x94 0x82
AT90USB646 0x1E 0x96 0x82

Ici toujours par ChatGPT la liste des commandes courantes :
Cheat Sheet AVRDude - Français

Lire la signature

avrdude -c arduino -p m328p -P /dev/cu.usbmodemXXXX -b 115200 -v

Lire la mémoire flash

avrdude -c arduino -p m328p -P ... -b ... -U flash:r:backup.hex:i

Écrire dans la mémoire flash

avrdude -c arduino -p m328p -P ... -b ... -U flash:w:firmware.hex:i

Lire les fuse bits

avrdude -c arduino -p m328p -P ... -b ... -U lfuse:r:-:h -U hfuse:r:-:h

Dry run (pas d'écriture)

avrdude -n

Ignorer la vérification de la signature

avrdude -F

Mode verbeux (plus de détails)

avrdude -v

Choisir un programmateur

-c arduino | usbasp | usbtiny | stk500v1 | ...

Spécifier le microcontrôleur

-p m328p | t85 | m168 | ...

Définir le port série

-P /dev/cu.usbmodemXXXX ou COM3

Définir le baudrate

-b 115200

un peu plus de commandes dans ce fichier PDF :
cheat_sheet_avrdude_complet_fr.pdf (2,3 Ko)

Au final c'est à la portée de tout le monde ... (Pas besoin de sortir de l'ENA pour travailler en ligne de commande c'est juste plus convivial lorsque c'est l'IDE qui le fait pour vous).

PS : C'est en complément des informations de @fdufnews car les commandes sont les mêmes sur toutes les plateformes :wink: Pour ma part j'ai la version 8.0 d'avrdude.

Merci pour ces dernières précisions.

Je ne peux installer "HOMEBREW" sur mon mac, car trop ancien (2014 - MOJAVE). Je ne peux plus installer Xcode, ce qui semble nécessaire pour "homebrew".
Cependant, je suis allé consulter le fichier "avrdude.conf" dans mon vieil ubuntu, et je constate qu'il est très conséquent. Je saurai me servir de vos conseils.

Autre question idiote: comment mettre ce topic en "résolu" ?

Pour tous ceux qui ont éclairé ma lanterne, un grand merci. Nul doute que je reviendrai vers vous dans un avenir bien proche.

En principe il faut cocher la case solution au niveau du message qui l’a donnée en l’occurrence la réponse en #6 de @fdufnews

Bonne soirée

Non ce n’est pas moi c’est le message de @fdufnews en #6