[risolto]Arduino standalone 8 Mhz con IDE 1.6.0

Ciao a tutti!

Ieri ho aggiornato il programma alla versione 1.6.0 e sono sorti problemi con il bootloader per avere l'atm328 con il clock interno a 8MHZ.

Premetto che con la versione 1.0.6 bootloader e sketch a 8mhz funzionavano correttamente.

Copiando pari pari il file board che ho trovato sulla pagina ufficiale "Arduino to breadboard"

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

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

atmega328bb.bootloader.low_fuses=0xE2
atmega328bb.bootloader.high_fuses=0xDA
atmega328bb.bootloader.extended_fuses=0x05
atmega328bb.bootloader.path=arduino:atmega
atmega328bb.bootloader.file=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

ho riscontrato 2 errori:

  • missing bootloader.tool
  • missing upload.tool

che penso di aver risolto aggiungendo queste righe

atmega328bb.upload.tool=avrdude


atmega328bb.bootloader.tool=avrdude

ora però quando provo a caricare uno sketch ottengo questo errore

  • avrdude: stk500v2_ReceiveMessage(): timeout

che non riesco a risolvere.. qualche idea? grazie

Non ho ancora installato la 1.6.0 Hai provato di settare la "Arduino Pro or Pro Mini (3.3V, 8MHz) w/ ATmega328" Ciao Uwe

si ho provato ma mi da questo errore

avrdude: Yikes!  Invalid device signature.
         Double check connections and try again, or use -F to override
         this check.

Errore durante la scrittura del bootloader

eppure il collegamento è sempre quello che funzionava col vecchio ide.

ho provato anche a cambiare da upload.protocol=stk500 a upload.protocol=arduino ma quando provo ad uploadare lo sketch esce il messaggio avrdude: stk500_recv(): programmer is not responding

non so dove andare a parare, per ora sono andato a tentativi

riasumendo: Ti funziona l' upload attraverso l' USB con IDE 1.0.6 ma non col IDE nuovo 1.6.0 ?

Ciao Uwe

si esatto, magari provo a essere più chiaro.

col vecchio ide caricavo il bootloader(preso dalla pag ufficiale arduino) con clock interno a 8mhz e con un convertitore usb/seriale riuscivo perfettamente a caricare gli sketch

adesso provando a caricare lo stesso bootloader con l'ide 1.6.0 ottengo 2 errori:

  • missing bootloader.tool
  • missing upload.tool

che ho corretto(credo) aggiungendo al file boards:

atmega328bb.upload.tool=avrdude


atmega328bb.bootloader.tool=avrdude

in questo modo riesco a caricare il bootloader ma successivamente non gli sketch perchè ottengo questo errore

- avrdude: stk500v2_ReceiveMessage(): timeout

Aggiornamento: dopo varie prove sono riuscito a caricare questo bootloader

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

e miracolosamente sempre tramite convertitore usb/seriale prima lo sketch blink e poi uno sketch per un altimetro. Entrambi gli sketch funzionano.

Poi ho provato a ricaricare lo sketch del blink e voilà!

avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x01

adesso non riesco più a caricare nulla.. :astonished:

com'è possibile??

Se mandi il micro a 8mhz devi caricarci sopra uno sketch che funzioni a 8mhz o un bootloader fatto per funzionare a 8mhz, altrimenti alcune funzioni che si basano sul clock danno risultati errati. Devi crearti due board con i fuse diversi. Uno per funzionare con programmazione ISP (se la usi) e l'altro con bootloader.

Lo schema della board tra la 1.0.6 e la 1.6.0 è cambiato. Ma di questo te ne sei già accorto. 8)

ciao paolo, non ho capito cosa intendi qui

PaoloP: Devi crearti due board con i fuse diversi. Uno per funzionare con programmazione ISP (se la usi) e l'altro con bootloader.

io ho caricato su arduino lo sketch "arduinoISP" e poi carico il bootloader selezionando il programmatore "Arduino as ISP" e ovviamente la scheda "atm328 8 mhz internal"

quello che non capisco è come mai dopo aver caricato il bootloader(che non sono sicuro sia corretto) sono riuscito a caricare solo un paio di sketch poi più nulla :astonished:

i fuse sono uguali a quelli che funzionavano sul vecchio ide 1.0.6... dici che vanno cambiati? non so se si è capito ma non sono molto ferrato su questi temi :D

ok credo di aver risolto, questa è la board funzionante per IDE 1.6.0 clock interno 8mhz atm328

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