Téléversement avec Arduino IDE : ok, mais VSCode/platformIO : NOK

J'ai une nano (aliexpress, usb-c) qui fonctionne très bien avec ArduinoIDE, sans paramétrage particulier :


Par contre l'upload sur VSCode/platformIO ne fonctionne pas.
Déjà pour ne pas planter trop tôt, je dois modifier la fréquence en précisant : upload_speed = 115200. Sans ça je plante comme ça :

En testant différentes fréquences, je vais plus loin :


Mais là je suis coincé, je ne vois pas quoi faire.
Etant donnée que ça fonctionne sur ArduinoIDE, c'est sûr que le problème est côté configuration, mais je ne sais plus où regarder/quoi tester.
Des idées ?
merci !

Précision, voici la configuration utilisée :

[env:nanoatmega328]
platform = atmelavr
board = nanoatmega328
upload_speed = 115200
framework = arduino
upload_port = /dev/ttyUSB0

Avec les Nano chinoise, il y a toujours le problème du choix entre "Arduino Nano" ou "Arduino Nano (old bootloader)"

La carte nano a été conçue et commercialisée par la société Gravitec.
Avec le bootloader en service à l'époque.

La société Arduino a repris la fabrication, puis a décidé de passer au bootloader mis au point pour la Uno.
La société arduino configure son IDE en priorité pour ses cartes.
Les cloneurs asiatiques sont restés à l'ancien bootloader.

Je viens de vérifier avec platformIO pour un nouveau projet en choisissant une nano il y a le choix entre :
Arduino nano Atmega 168
Arduino nano ATmega 328
Arduino nano ATmega 328 (New bootloader)
plus des versions à 3,3 V.

Tu peux aussi faire des confusions avec les nouvelles "nano" → le nom "nano" est pris au sens de format de carte, ces nouveaux microcontrôleurs n'ont rien à voir avec ceux de la nano d'origine.

J'ai programmé des nanos (atmega328p, type "asie") avec PIO sans rencontrer de difficultés.

Quelle est exactement ta carte ?

hum, merci pour les pistes, ça donne :
1/ old bootloader : étonnement, sur ArduinoIDE je n'ai pas eu à choisir le processeur "Atmaga328P (old bootloader)" pour que ça marche... (ie ça marche sans pointer le "old bootloader"...)

2/ quelle est exactement la carte :
c'est a dernière ici : https://fr.aliexpress.com/item/32859196868.html?spm=a2g0o.order_detail.order_detail_item.25.560a7d56dO9uV7&gatewayAdapt=glo2fra

TZT CharacterWith the Bootloader Compatible Character3.0 Contrmatérielle for Ardu37CH340 USB Driver 16Mhz Characterv3.0 ATMEIncome 328P/168P

traduire ça en une conf pour VIO n'est pas encore trivial pour moi :slight_smile:
J'imagine qu'il doit falloir préciser d'autres paramètres que juste le nom de la board ( le MCU, la platform, le frameword...)

Non
Il suffit de choisir :

Avec le nouveau boatloader ce serait :

La seule configuration est pour le serial moniteur où il ajouter une ligne dans le fichier platformio.ini :

; PlatformIO Project Configuration File
; Build options: build flags, source filter
; Upload options: custom upload port, speed and extra flags
; Library options: dependencies, extra library storages
; Advanced options: extra scripting
;
; Please visit documentation for the other options and examples
; https://docs.platformio.org/page/projectconf.html

[env:nanoatmega328]
platform = atmelavr
board = nanoatmega328
framework = arduino

; ligne ajoutée
monitor_speed = 115200

Le point virgule sert à mettre la ligne en commentaire

C'est tout ce que j'ai à faire.
Avec une nano il n'y a qu'un seul framework possible, le champ se rempli automatiquement.

Avec un ESP32 nous avons le choix entre les frameworks Arduino ou ESP-IDF

well, c'est bien ce que j'avais, et ça n'upload pas. (en fait je vais plus loin avec board = nanoatmega328new qu'avec board = nanoatmega328 )

Ou plus précisément il plante après l'upload, lors de la lecture de la flash, (upload qui à priori ne fonctionne pas car le comportement de la board est inchangé) :

Ce que je ne comprends pas est que ça fonctionne avec ArduinoIDE...
Où est l'écart ??
Je remarque que sur ArduinoIDE, il y a un "P" après "ATmega328P" : alors que dans VIO il n'est question que de board = nanoatmega328new :
image

Faut il préciser une version de mcu ? y a t il une différence entre ATmega328 et ATmega328P ?

Je n'en sais pas plus que ce que je t'ai dit.

Je n'ai jamais rencontré les problèmes dont tu parles, tout à toujours fonctionner nickel.

Pas de fuite en avant, inutile d'aller chercher des complications, je reprécise que pour moi tout à fonctionner sans je modifie quoi que ce soit, et je ne suis pas le seul.

Si je n'ai jamais rencontré tes problèmes, je suppose qu'il y a autre chose chez toi, mais quoi ?
Désolé.

En effet, c'est vraiment étrange, je suis d'accord que ce sont les paramètres "normaux", qui marchent sur ArduionIDE et pas sur VScode/PlatformIO ...
J'abandonne, je programmerait donc cette board à partir d'ArduinoIDE... :slight_smile:

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.