Al grano, basicamente no seria necesario bajarse el optiboot de su repositorio en GitHub (aun asi os dejare el link https://github.com/Optiboot/optiboot ), ya que la nueva version 1.6.7 lo trae por defecto, sin embargo (y es lo que mas me fastidia) no lo tiene añadido a la lista avr de boards.
Por los internetes encontraras muchos tutos en el idioma de shakespeare en su mayoria para añadirlo, sin embargo saltan muchisimos errores y en ninguno de los casos consegui que funcionaran, asi que decidi trabajar sobre la lista de boards.txt original, añadiendo los campos necesarios con los valores correctos para hacer funcionar correctamente el bootloader Optiboot que trae por defecto (imagino que funcionara tambien con el que os bajeis, pero es importante que sustituais la carpeta optiboot que esta dentro de hardware / arduino / avr / bootloaders por la que os bajeis, es decir quitar una y poner la otra)
Asi que abrimos el boards.txt que se encuentra en
- Código: Seleccionar todo
arduino-1.6.7\hardware\arduino\avr
y ahora nos vamos a la parte donde se encuentra declarada la targeta Arduino que nos interesa y añadimos las lineas referentes de la siguiente manera (este ejemplo es con un arduino nano):
- Código: Seleccionar todo
## Arduino Nano [Optiboot] ATmega328
## -------------------------
nano.menu.cpu.atmega328o=ATmega328o
nano.menu.cpu.atmega328o.upload.maximum_size=32256
nano.menu.cpu.atmega328o.upload.maximum_data_size=2048
nano.menu.cpu.atmega328o.upload.speed=115200
nano.menu.cpu.atmega328o.bootloader.low_fuses=0xff
nano.menu.cpu.atmega328o.bootloader.high_fuses=0xde
nano.menu.cpu.atmega328o.bootloader.extended_fuses=0x05
nano.menu.cpu.atmega328o.bootloader.file=optiboot/optiboot_atmega328.hex
nano.menu.cpu.atmega328o.build.mcu=atmega328p
La lista de boards compatibles con optiboot y sus valores la podeis coger de aqui:
Recordad que teneis que montar las lineas exactamente igual que como esten en el boards.txt original de vuestro modelo de arduino, pero con los valores del boards.txt de optiboot que he puesto. Por ejemplo en la parte del board.txt original del arduino nano quedaria asi:
- Código: Seleccionar todo
##############################################################
nano.name=Arduino Nano
nano.upload.tool=avrdude
nano.upload.protocol=arduino
nano.bootloader.tool=avrdude
nano.bootloader.unlock_bits=0x3F
nano.bootloader.lock_bits=0x0F
nano.build.f_cpu=16000000L
nano.build.board=AVR_NANO
nano.build.core=arduino
nano.build.variant=eightanaloginputs
## Arduino Nano [Optiboot] ATmega328
## -------------------------
nano.menu.cpu.atmega328o=ATmega328o
nano.menu.cpu.atmega328o.upload.maximum_size=32256
nano.menu.cpu.atmega328o.upload.maximum_data_size=2048
nano.menu.cpu.atmega328o.upload.speed=115200
nano.menu.cpu.atmega328o.bootloader.low_fuses=0xff
nano.menu.cpu.atmega328o.bootloader.high_fuses=0xde
nano.menu.cpu.atmega328o.bootloader.extended_fuses=0x05
nano.menu.cpu.atmega328o.bootloader.file=optiboot/optiboot_atmega328.hex
nano.menu.cpu.atmega328o.build.mcu=atmega328p
## Arduino Nano w/ ATmega328
## -------------------------
nano.menu.cpu.atmega328=ATmega328
nano.menu.cpu.atmega328.upload.maximum_size=30720
nano.menu.cpu.atmega328.upload.maximum_data_size=2048
nano.menu.cpu.atmega328.upload.speed=57600
nano.menu.cpu.atmega328.bootloader.low_fuses=0xFF
nano.menu.cpu.atmega328.bootloader.high_fuses=0xDA
nano.menu.cpu.atmega328.bootloader.extended_fuses=0x05
nano.menu.cpu.atmega328.bootloader.file=atmega/ATmegaBOOT_168_atmega328.hex
nano.menu.cpu.atmega328.build.mcu=atmega328p
## Arduino Nano w/ ATmega168
## -------------------------
nano.menu.cpu.atmega168=ATmega168
nano.menu.cpu.atmega168.upload.maximum_size=14336
nano.menu.cpu.atmega168.upload.maximum_data_size=1024
nano.menu.cpu.atmega168.upload.speed=19200
nano.menu.cpu.atmega168.bootloader.low_fuses=0xff
nano.menu.cpu.atmega168.bootloader.high_fuses=0xdd
nano.menu.cpu.atmega168.bootloader.extended_fuses=0x00
nano.menu.cpu.atmega168.bootloader.file=atmega/ATmegaBOOT_168_diecimila.hex
nano.menu.cpu.atmega168.build.mcu=atmega168
##############################################################
Ahora solo teneis que abrir el IDE, y muy posiblemente ya os haya seleccionado la placa correcta y el bootloader correcto, poneis el puerto COM que corresponda y ya podreis tanto cargar sketches como quemar bootloader Optiboot por Arduino as ISP.