fbpx
ArduinoNovidade

Como gravar Bootloader do Arduino UNO – Atmega328

Se você deseja desenvolver seu próprio Arduino UNO, precisa substituir o chip Atmega328 da sua placa ou possui um UNO que esteja com o Bootloarder ruim, então este tutorial é para você.

Este tutorial ensinará o que é um Bootloader, porque você precisa instalá-lo ou reinstalá-lo e como fazer usando uma placa Arduino UNO.

BOOTLOADER

Quem já usou as placas Arduino sabe como é simples programá-las por meio do Arduino IDE utilizando a comunicação serial. Basta conectar a placa à porta USB do computador e clicar na opção “Upload” para iniciar a transferência do sketch para a memória flash do computador.

Esta facilidade acontece graças a um código especial, chamado Bootloader, que é executado sempre que a placa é inicializada. O Bootloader é muito semelhante ao BIOS que é executado em seu computador e basicamente executa duas tarefas:

  1. Verifica se o computador está tentando programar o microcontrolador. Se sim, ele aceita o código e o armazena em um local específico na memória do microcontrolador de forma que o próprio bootloader não seja sobrescrito;
  2. Instruir o chip a executar o código já armazenado na memória.

Existem muitas maneiras de gravar o Bootloader no Arduino UNO. Uma delas é via ISP (In System Programmer) utilizando outra placa Arduino que possua o Bootloader gravado. Esta maneira será detalhada a seguir.

MATERIAIS NECESSÁRIOS

ESQUEMÁTICO DE LIGAÇÃO DOS COMPONENTES

Monte atentamente o circuito da Figura 1 utilizando os jumpers macho-macho e as 2 placas UNO. Note que apenas o Arduino com que se encontra com o Bootloader gravado deve estar conectado ao cabo USB.

A imagem mostra de maneira ilustrativa o esquematico de ligação entre os 2 Arduinos, para que se tenha a gravação do bootloader.
Figura 1 – Circuito para gravar bootloader no Arduino Uno
  1. Abrir a Arduino IDE e abrir o código de gravação

Para gravar o Bootloader para o Arduino UNO, vamos utilizar um código exemplo já disponível no próprio Arduino IDE. Este código pode ser acessado através do seguinte caminho: Arquivo > Exemplos > 11.ArduinoISP > ArduinoISP), conforme a Figura 2.

A imagem mostra uma captura de tela na arduino IDE, especificando o local onde o exemplo que será utilizado se encontra.
Figura 2 – Caminho de acesso ao código exemplo ArduinoISP

2. Definir a placa que será usada

Logo após abrir, devemos selecionar a placa que iremos utilizar. Em nosso caso, iremos selecionar a placa Arduino UNO no menu Ferramentas > Placas, conforma a Figura 3.

A imagem mostra uma captura de tela da Arduino IDE, especificando o caminho para trocar a placa para "Arduino Uno"
Figura 3 – Seleção da placa Arduino Uno

3. Transferir o código para a placa conectada

Com a placa já definida, transfira o código para a placa Arduino UNO com Bootloader, conforme a Figura 4.

A imagem mostra uma captura de tela onde o código é compilado e enviado para o Arduino UNO
Figura 4 – Upload do código para o Arduino UNO

4. Alterar o programador para o modo ISP

Para que o Arduino UNO consiga gravar o Bootloader no Arduino de destino, precisamos alterar o modo Programador para “Arduino as ISP”. Para tal, acesse o menu Ferramentas > Programador, conforme Figura 5.

A imagem mostra uma captura de tela da arduino ide, com o caminho para altera o programador para "Arduino as ISP" e gravar o bootloader
Figura 5 – Programador modo Arduino ISP

5. Realizar a gravação do Bootloader

Por fim, com tudo configurado, basta acessar no menu Ferramentas a opção Gravar Bootloader, conforme a Figura 6.

A imagem mostra uma captura de tela da Arduino IDE, sinalizando onde se deve clicar para que se tenha a gravação de bootloader
Figura 6 – Opção Gravar Bootloader

Após mandar o comando para gravar, basta aguardar para que toda a gravação seja concluída.

A figura mostra uma captura de tela que sinalizar que a gravação de bootloader ocorreu com sucesso
Figura 7 – Gravação do Bootloader concluída

Você precisará gravar o Bootloader apenas uma vez. Após a gravação, você pode remover os jumpers e programar sua placa normalmente.

Espero ter ajudado,

Obrigado a todos e em caso de dúvidas deixe seu comentário abaixo!

Att. Jonas Souza

REFERÊNCIAS

ARDUINO. Arduino as ISP and Arduino Bootloaders. Disponível em: <https://docs.arduino.cc/built-in-examples/arduino-isp/ArduinoISP>. Acesso em: 05 out. 2022.

Dúvidas? Deixe seu comentário

Jonas Souza

Graduando em Engenharia Elétrica.

Deixe uma pergunta

Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.