Franzininho - Primeiros Passos
This tutorial is not available in English

Introdução
Em parceria com Fábio Souza, a Franzininho DIY chegou à RoboCore para compor o elenco de placas da plataforma Arduino fabricadas no Brasil. Ela foi desenvolvida com o intuito de ensinar pessoas a soldar e programar, em cursos presenciais ministrados por seu criador. Porém, infelizmente, não são todas as pessoas que podem participar deste curso presencial, e aprender como programar a placa já soldada.
Portanto neste tutorial ensinaremos como gravar o bootloader no ATtiny85 da placa, e como carregar um código para ela como Arduino Gemma.
Lista de Materiais
Lista completa de produtos
comprar
Cabo USB AB 1.50m

Franzininho DIY

BlackBoard UNO R3
Gravação de Bootloader
Para que possamos gravar o bootloader na Franzininho já soldada, monte o circuito a seguir. Caso ainda não tenha soldado a sua placa, siga as instruções deste vídeo.

Com o circuito montado, baixe o arquivo do bootloader a seguir. Então descompacte o arquivo e abra o Sketch trinketloader.ino contido na pasta.
Trinket BootloaderCom o código aberto na Arduino IDE, carregue-o para a sua placa gravadora (BlackBoard UNO), e então abra o monitor serial com a velocidade de 9600 bps. Com o monitor aberto, será exibida a seguinte mensagem.

Com essa mensagem na tela, digite "G" na caixa de texto e pressione o botão "Send" no monitor serial, ou o botão "Enter" em seu teclado. Após o envio desse comando, serão retornadas algumas informações sobre a assinatura do microcontrolador, sobre o antigo bootloader do ATtiny85, e que o bootloader foi gravado corretamente, como na imagem a seguir.

Gravando o "Blink" na Placa
Agora que o bootloader da placa já está gravado, temos que instalar o driver em seu computador. Para isso, siga os passos de nosso tutorial Instalando o Driver da Franzininho.
Com a instalação do driver concluída, temos que configurar a Arduino IDE corretamente para a gravação do código. Primeiramente devemos selecionar o modelo de placa correto, através da opção Arduino Gemma, como na imagem abaixo.

Com o modelo de placa selecionado, temos que alterar o programador da Arduino IDE, para que o código possa ser gravado corretamente no microcontrolador da placa. Para isso, basta alterar essa opção para USBtinyISP, como na imagem a seguir.

Agora que o modelo da placa e o programador estão corretamente selecionados, abra o exemplo "Blink" da Arduino IDE, seguindo os passos da imagem abaixo.

Com o exemplo aberto e com a Arduino IDE devidamente configurada, pressione o botão para carregar o código para a placa. Vale lembrar que a Franzininho DIY, por não possuir um conversor USB/UART, não é reconhecida como uma porta COM, portanto não é necessário selecionar esta configuração na Arduino IDE. Durante a compilação do código, pressione o botão de reset da placa e observe que o LED1 irá piscar durante alguns segundos. Após a gravação do código, a Arduino IDE exibirá uma mensagem de sucesso na gravação, como na próxima imagem.

Juntamente com a mensagem de gravação do código, será possível observar o LED1 da placa piscar com intervalos de um segundo, como no GIF abaixo.
Indo Além
Agora que já aprendemos como programar a Franzininho DIY, que tal expandirmos as possibilidades desta placa e simular uma aplicação real? Em nosso tutorial Franzininho - Controle do Relé Serial, ensinamos como utilizar esta placa para acionar lâmpadas através do módulo Relé Serial.
Solução de Problemas
Mensagem de Erro: "Reading signature:FFFF"
Caso o monitor serial apresente essa mensagem de erro, revise as conexões do circuito elétrico. É possível que você tenha algum erro na conexão dos pinos da Franzininho.
Mensagem de Erro: "avrdude: ser_open(): can't open device "\\.\COMX""
Se a Arduino IDE retornar essa mensagem de erro, abra a opção de "Ferramentas" da IDE e altere o programador da placa para USBtinyISP. Caso a seleção do gravador esteja correta, verifique a seleção do modelo de placa, que deve ser Arduino Gemma.
Mensagem de Erro: "Error: Could not find USBtiny device (0x00/0x00)""
O bootloader da placa não foi ativado para a gravação. Tente de novo, e lembre-se de apertar o botão de reset da placa durante a compilação do código.