Caricare Bootloader Arduino UNO su Atmel328p-pu

Buongiorno , ringrazio subito tutta la community di Arduino per l'enorme aiuto che rende a tutti gli utenti

Il mio obbiettivo è il seguente :

  • caricare su un Atmel328p-pu vergine il bootloader dell'arduino uno (e successivamente gli sketch , ma a quello penserò in un secondo momento) , per poterlo utilizzare in modalità standalone.

So che questo "problema/argomento" è già stato affrontato molte volte (ho fatto mooooolte ricerche e moooooolti test prima di aprire questo topic) , ma non ho ancora le idee molto chiare a cause delle mille guide disponibili , le quali differiscono TUTTE per alcune piccole parti

Chi usa l'Atmel328 chi l'Atmel328-pu , chi l'Atmel328p-pu
Chi usa l'ide di arduino versione 1.0.1 , chi la 1.0.5 , chi le più recenti
Chi modifica il file boards.txt , chi anche il file avrdude.config , chi entrambi , e chi solo uno dei due...

:fearful: :fearful: :fearful: :fearful: :fearful:

A volte mi ritrovo davanti a questo errore :

avrdude: Yikes! Invalid device signature.

Double check connections and try again, or use -F to override

a volte a questo :

Error while burning bootloader: missing 'bootloader.tool' configuration parameter

Detto questo , volevo sapere se esiste una guida un po più recente che spiega passo passo come caricare il bootloader dell'Arduino UNO su un Atmel328P-PU con le versioni più recenti dell'IDE Arduino (tipo la 1.6.5 che uso attualmente)

(ho già dato un occhio a queste guide : link1 , link2 , link3 ed anche ad altre..)

GRAZIE MILLE !

Ti invitiamo a presentarti (dicci quali conoscenze hai di elettronica e di programmazione) qui: Presentazioni
e a leggere il regolamento se non lo hai già fatto: Regolamento
Qui una serie di link utili, non inerenti al tuo problema:

Stavo cercando di presentarmi ma c'è il limite dei 10 minuti , quindi lo farò a breve :smiley:
Il regolamento l'ho già letto
Sono un programmatore e di elettronica ho poche conoscenze (purtroppo)

Lamarra:
Sono un programmatore e di elettronica ho poche conoscenze (purtroppo)

Siamo in due allora ;D
Benvenuto

qua spiega come caricare il bootloader a 16MHz

qui invece come programmare poi l’atmega.

Di guide aggiornate non ne conosco, io ho sempre spulciato qua e là. Comunque almeno queste due dovrebbero funzionare con ogni IDE, visto che si usa il bootloader originale.

Per usare altri bootloader, p.e. con clock a 8MHz, se nessuno più esperto si fa avanti, posso provare a spiegarti come ho fatto io, ma non prendere per oro colato quel che scrivo.

Vale per la versione 1.6.5 r5. Sulla 1.6.6 ho problemi che non ho approfondito.

Per evitare danni scarica la versione zip e crea una cartella nella directory arduino-1.6.5r5 chiamata portable, in questo modo dovrebbe rimanere tutto confinato lì in caso di problemi.

Metodo 1

1- Avvia l’IDE. Controlla la cartella portable, dovrebbe esserci una cartella sketchbook. Chiudi l’IDE.

2- Crea all’interno della cartella sketchbook una serie di cartelle in questo modo /sketchbook/hardware/atmega/avr

3- Copia il contenuto della cartella avr originale arduino-1.6.5-r5/hardware/arduino/avr all’interno della nuova cartella avr che hai appena creato.

4- Apri il file boards (quello copiato), cancellane il contenuto e mettici questo

##############################################################


atmega328bb.name=ATmega328 on a breadboard (8 MHz internal clock)

atmega328bb.upload.protocol=arduino
atmega328bb.upload.maximum_size=30720
atmega328bb.upload.speed=57600

atmega328bb.bootloader.tool=avrdude

atmega328bb.upload.tool=avrdude


atmega328bb.bootloader.low_fuses=0xE2
atmega328bb.bootloader.high_fuses=0xDA
atmega328bb.bootloader.extended_fuses=0x05

atmega328bb.bootloader.file=atmega/ATmegaBOOT_168_atmega328_pro_8MHz.hex
atmega328bb.bootloader.unlock_bits=0x3F
atmega328bb.bootloader.lock_bits=0x0F

atmega328bb.build.mcu=atmega328p
atmega328bb.build.f_cpu=8000000L
atmega328bb.build.core=arduino:arduino
atmega328bb.build.variant=arduino:standard

##############################################################


atmega328cc.name=ATmega328 on a breadboard (1 MHz internal clock)

atmega328cc.upload.protocol=arduino
atmega328cc.upload.maximum_size=30720
atmega328cc.upload.speed=7200

atmega328cc.bootloader.tool=avrdude

atmega328cc.upload.tool=avrdude


atmega328cc.bootloader.low_fuses=0x62
atmega328cc.bootloader.high_fuses=0xDA
atmega328cc.bootloader.extended_fuses=0x05

atmega328cc.bootloader.file=atmega/ATmegaBOOT_168_atmega328_pro_8MHz.hex
atmega328cc.bootloader.unlock_bits=0x3F
atmega328cc.bootloader.lock_bits=0x0F

atmega328cc.build.mcu=atmega328p
atmega328cc.build.f_cpu=1000000L
atmega328cc.build.core=arduino:arduino
atmega328cc.build.variant=arduino:standard

##############################################################

5- salva e chiudi tutto.

6- apri di nuovo l’IDE. Sotto strumenti—>scheda dovresti trovare due nuove schede, 8 e 1 MHz

7- provare a caricare un bootloader :smiley:

8- se funziona e hai l’IDE installato la cartella dove creare la nuova directory hardware è quella degli sketchbook. Tipo /Documenti/Arduino. Viene mantenuta anche nell’aggiornamento dell’IDE.

Metodo 2

Aggiungi le righe soprastanti al file boards originale. Se installi o aggiorni l’ide perdi le modifiche

Metodo 3

vai qui e cerchi quello che ti serve. Copi il link in Impostazioni—> additional boards manager url’s e sei a posto

Io uso il metodo 1 e per ora funziona :slight_smile:

doppiozero:
qua spiega come caricare il bootloader a 16MHz

ho provato a seguire quella guida , ma mi ritrovo sempre davanti a questo errore (usando l’ide versione 1.6.5)

Schermata 2015-11-19 alle 22.10.03.png

Schermata 2015-11-19 alle 22.23.51.png

Non saprei, a me funziona correttamente.. arduino è originale?

fai una prova con la versione zip portable magari. Ho visto che sei su mac, non so se può essere un problema quello, non lo conosco come sistema.

I collegamenti sembrano corretti

Si si è un Arduino UNO originale

Ho aggiunto un condensatore da 10 μF tra il pin Reset e il pin 3.3V dell’Arduino ed ho sostituito i due condensatori ceramici da 22pF con altri perchè mi sembravano un po scadenti , ed ora mi ritrovo davanti a questo errore

avrdude: stk500_recv(): programmer is not responding
Problema di caricamento sulla scheda. Guarda http://www.arduino.cc/en/Guide/Troubleshooting#upload per suggerimenti

Riguardo il fatto di aggiungere il condensatore da 10μF non sai dirmi nulla ?
Alcuni ho visto che aggiungono anche 2 ceramici 104…

L’ atmega va alimentato a 5v.

Per il condensatore io lo metto da 100n tra il segnale dtr e il pin di reset, ma solo in fase di upload sketch.

La storia del condensatore da 10 uF l ho letta qui

Ah avevo capito tra 3.3v e il reset dell'atmega su breadboard.

Secondo me non serve quel condensatore, a me funziona bene la guida che ti ho postato.

Io proverei con le versioni portable dell'ide 1.6.5 e 1.6.6 e se hai la possibilità proverei anche su un altro SO. E magari un altro Atmega328

La UNO comunque funziona bene, no?

doppiozero:
Ah avevo capito tra 3.3v e il reset dell’atmega su breadboard.

Secondo me non serve quel condensatore, a me funziona bene la guida che ti ho postato.

Io proverei con le versioni portable dell’ide 1.6.5 e 1.6.6 e se hai la possibilità proverei anche su un altro SO. E magari un altro Atmega328

La UNO comunque funziona bene, no?

Si si la UNO funziona benissimo

Ho provato a fare quello che viene descritto qui nella sezione TEST THE CHIP

Ho caricato il file Atmega_Board_Detector sull’uno , e dalla seriale mi dice :

Atmega chip detector.
Written by Nick Gammon.
Version 1.17
Compiled on Nov 21 2015 at 11:53:44 with Arduino IDE 10605.
Attempting to enter ICSP programming mode ......................................................
Failed to enter programming mode. Double-check wiring!
Programming mode off.

Schermata 2015-11-21 alle 11.57.43.png

hai provato a rifare tutti i collegamenti da capo e spostare l'atmega su altri pin della breadboard?

i suggerimenti del post precedente li hai provati?

doppiozero:
hai provato a rifare tutti i collegamenti da capo e spostare l'atmega su altri pin della breadboard?

i suggerimenti del post precedente li hai provati?

  • dopo provo a cambiare atmega
  • ho provato con e senza condensatore
  • non riesco ora come ora a cambiare SO
  • ho provare diverse versione di IDE

Allora comincio ad essere a corto di idee :sweat_smile:

doppiozero:
Allora comincio ad essere a corto di idee :sweat_smile:

con il programmino Atmega_Board_Detector sono riuscito a leggere l'atmega (ho dovuto cambiarlo però , penso di averne ucciso uno)

ecco cosa mi dice :

Atmega chip detector.
Written by Nick Gammon.
Version 1.17
Compiled on Nov 21 2015 at 14:47:22 with Arduino IDE 10605.
Attempting to enter ICSP programming mode ...
Entered programming mode OK.
Signature = 0x1E 0x95 0x0F 
Processor = ATmega328P
Flash memory size = 32768 bytes.
LFuse = 0x62 
HFuse = 0xD9 
EFuse = 0xFF 
Lock byte = 0xFF 
Clock calibration = 0xA3 
Bootloader in use: No
EEPROM preserved through erase: No
Watchdog timer always on: No
Bootloader is 4096 bytes starting at 7000

Bootloader:

7000: 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 
7010: 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 
etc etc...

MD5 sum of bootloader = 0x92 0xE5 0x72 0x43 0x51 0xE8 0x94 0x80 0xFD 0x8B 0x7D 0x51 0x3E 0xB0 0x99 0xCC 
Bootloader MD5 sum not known.

First 256 bytes of program memory:

0: 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 
10: 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 
20: 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 
etc etc... 

Programming mode off.

bene, prova a caricare il bootloader allora :slight_smile:

purtroppo non riesco a caricare il bootloader , ricevo sempre gli stessi errori
inoltre , ora , con tutti e tre gli atmega che ho , il programma atmega_board_detector mi dice :

Atmega chip detector.
Written by Nick Gammon.
Version 1.17
Compiled on Nov 21 2015 at 11:53:44 with Arduino IDE 10605.
Attempting to enter ICSP programming mode ......................................................
Failed to enter programming mode. Double-check wiring!
Programming mode off.

Di dove sei?

SukkoPera:
Di dove sei?

della provincia di verona perchè :smiley: ?