Rodando optiboot em um ATMEGA8

É possível rodar Arduino em uma certa variedade de microcontroladores, e um deles é o ATMEGA8. Porém com ATMEGA8 de forma oficial seu bootloader é muito lento, fazendo com que o microcontrolador demore até 10s para inicializar. Para contornar o problema pode ser usado um optiboot, que é um bootloader otimizado para ser mais rápido e que inclusive é usado no Arduino Uno, que roda em ATMEGA328p.

Resolvi montar uma placa usando um ATMEGA8 para deixar definitivo no robô Monty. E neste ATMEGA decidi usar o optiboot, para isso são necessários algumas modificaçoes na IDE do Arduino.

Primeiro é necessário fazer as ligações do microcontrolador a ser usado com uma interface ISP, isto servirá para gravar o bootloader (optiboot). As opções mais baratas são um USBASP ou o próprio Arduino. As ligações são as mesmas que usei para gravar a minha USBASP aqui, incluindo o cristal, capacitores e resistor.

O autor disponibiliza os fontes para compilar e gerar o HEX, apesar de fácil conforme descrito aqui, deixei um HEX pronto aqui. Este arquivo HEX deve ser copiado para a pasta arduino/hardware/arduino/bootloaders/atmega8. Após copiar, abra o arquivo boards.txt em hardware/arduino com um editor de texto, procure pela linha abaixo:

atmega8.name=Arduino NG or older w/ ATmega8

E nesta seção faça as alterações:

De .upload.speed=19200 para .upload.speed=115200

De .rc. .file=ATmegaBOOT.hex para .bootloader.file=optiboot_atmega8.hex

De .upload.maximum_size=7168 para .upload.maximum_size=7680

Pronto, agora basta escolher Arduino NG em tools/boards (ferramentas/placa), a interface ISP usada em tools/programmer (ferramentas/gravador), a porta em serial tools/port (ferramentas/porta serial) e gravar o bootloader em tools/burn bootloader (ferramentas/gravar bootloader). A partir daqui você usa a IDE como um Arduino comum, mas sempre em uma IDE com as modificações acima.

Comigo a gravação do bootloader (optiboot) somente funcionou na IDE 1.0.x, não consegui na 1.5.x. Para o upload de sketch funciona nas duas, mas de qualquer maneira precisa ser feito as modificações.

 

Comentários