> For the complete documentation index, see [llms.txt](https://franzininho.gitbook.io/franzininho-docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://franzininho.gitbook.io/franzininho-docs/franzininho-diy/gravacao-do-bootloader/micronucleus.md).

# Micronucleus

## Gravação do bootloader Micronucleus

Micronucleus é um bootloader desenvolvido para os microcontroladores AVR ATtiny que possuem restrição de interface USB, baseado na ferramenta de programação multiplataforma, o libusb, e com uma grande ênfase na compactação do bootloader, sendo o menor bootloader para microcontroladores AVR ATtiny.

Micronucleus é amplamente usado em milhares de dispositivos de hardware de código aberto: <https://github.com/micronucleus/micronucleus/blob/master/Devices_with_Micronucleus.md>

Ele é a opção ideal para a Franzininho e estamos trabalhando para padronizar esse bootloader para o nosso projeto (em andamento).

A seguir vamos exibir como você pode gravar o ATtiny85 para usar o Micronucleus.

## Materiais Necessários

* Arduino UNO
* Fios (Jumpers)
* Protoboard

## Circuito

Você precisará fazer a seguinte ligação do ATtiny85 no Arduino UNO:

![](/files/-LGNRuw3d7h6rPALWOr1)

Figura 1 - Circuito para Gravação

## Preparando o Arduino como Programador USB

O primeiro passo é configurar a placa Arduino UNO como programador ISP. Para isso acesse Arquivo-> Exemplos->ArduinoISP->ArduinoISP

![](/files/-LGNRuwENU7AwzHb88GC)

Carregue o sketch na Arduino UNO:

![](/files/-LGNRuwGhQ5tGeWC0tmU)

## Baixando o firmware do Micronucleus

Pronto, agora precisamos baixar o binário do microconucleus para gravação no ATtiny85. Você pode clonar ou baixar o repositório do [micronucleus no github](https://github.com/micronucleus/micronucleus). Ou baixar esse ZIP:

<https://github.com/micronucleus/micronucleus/archive/master.zip>

Salve no seu computador, descompacte e ache a pasta: micronucleus\firmware\releases. Vamos usar o seguinte arquivo: t85\_default.hex

## Gravando no Windows

Abra o prompt de comando e vá até o diretório onde está o Arduino:

![](/files/-LGNRuwJ6nzLi1cMnvlU)

Agora vamos preparar o comando para gravar usando o avrdude:

**C:\arduino-1.8.2\hardware\tools\avr/bin/avrdude** -C **C:\arduino-1.8.2\hardware\tools\avr/etc/avrdude.conf** -v -pattiny85 -cstk500v1 -P**COM3** -b19200 -Uflash:w:**C:\Users\fabio\Downloads\Arduino\micronucleus\firmware\releases/t85\_default.hex**:i

Você precisa substituir as partes em negrito no comando acima, conforme os caminhos para os arquivos em seu computador.

Verifique em qual porta a placa está conectada e substitua no comando **PCOM3**.

Certifique-se que a placa está conectada corretamente ao PC, assim como a ATtiny85 no Arduino Uno.

Copie o código, cole no prompt e pressione enter. Será iniciada a gravação:

![](/files/-LGNRuweusdu5DocQr1r)

![](/files/-LGNRuwgZsssJOFXFUiS)

![](/files/-LGNRuwizR61ccnSGAde)

Após a gravação do microcontrolador, você poderá retirá-lo da matriz de contatos e colocá-lo na Franzininho, mas lembre-se de colocar na posição correta.

## Gravando no Linux

Abra o terminal:

Agora vamos preparar o comando para gravar usando o avrdude:

**/home/fabio/Downloads/arduino-1.8.5/hardware/tools/avr/bin/avrdude** -C **/home/fabio/Downloads/arduino-1.8.5/hardware/tools/avr/etc/avrdude.conf** -v -pattiny85 -cstk500v1 -P/dev/**ttyACM0** -b19200 -Uflash:w:**/home/fabio/Downloads/micronucleus-master/firmware/releases/t85\_default.hex**:i

Você precisa substituir as partes em negrito no comando acima, conforme os caminhos para os arquivos em seu computador.

Verifique em qual porta a placa está conectada e substitua no comando **ttyACM0**. No meu caso está na ttyACM0 mas no seu computador pode ser diferente.

Certifique-se que a placa está conectada corretamente ao PC, assim como a ATtiny85 no Arduino Uno.

Copie o código e cole no terminal e pressione enter:

![](/files/-LGNRuwuJcnEzXoPCknv)

Será iniciada a gravação:

![](/files/-LGNRuwwVY9LtV6OnNKJ)

Após a gravação do microcontrolador, você poderá retirá-lo da matriz de contatos e colocá-lo na Franzininho, mas lembre-se de colocar na posição correta.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://franzininho.gitbook.io/franzininho-docs/franzininho-diy/gravacao-do-bootloader/micronucleus.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
