Você gostaria de programar um Attiny diretamente pela porta USB do seu computador, assim como ocorre com o Digispark e Paperduino?
Isso é possível graças ao bootloader micronucleus, que foi inicialmente desenvolvido pela Jenna Fox, Blubie, que emula um dispositivo USB virtual, com isso você precisará somente da IDE do Arduino, e um dispositivo plug & play de gravação que pode ser adquirido por menos que US$ 1,oo em sites chineses.
Esses dispositivos são vendidos como Pluggable Development Board For ATtiny13A/ATtiny25 e pode ser adquirido através desse link
Nesse tutorial iremos aprender como programar um Attiny com o bootloader utilizado pelo Digispark.
No tutorial anterior, nós mostramos como programar um Attiny85, porém ele é dependente do Arduino, o que não é problema pra muita gente. Mas se você quiser utilizar 6 pinos do Attiny85 (não recomendado) e utilizar não somente o Attiny, mas também a placa, esse tutorial é pra você.
O Arduino será necessário somente para instalação do bootloader, e uma vez carregado, não será mais necessário. Há também possibilidade de montar o seu próprio dispositivo, assim como fizeram os desenvolvedores do Paperduino.
3 meses atrás adquirimos 3 plaquinhas para conexão do Attiny85 (Pluggable Development Board For ATtiny13A/ATtiny25)
A decepção foi imensa, quando conectamos o dispositivo na porta USB e nada aconteceu. Foi justamente nesse momento que iniciamos várias pesquisas em vários sites e o que encontramos foi praticamente nada, mas depois de juntar as peças acho que já temos algo para compartilhar.
Aqui você verá:
O que é o Bootloader Micronucleus
Já tenho o Bootloader, o que faço agora?
O que você vai precisar?
Instalação do Programa Arduino ISP:
Montagem na Breadbord – ISP (In system Programmer)
Incluindo a placa Digispark na IDE do Arduino
Gravando o Bootloader
Solução de Problemas
Extras
O que é o Bootloader Micronucleus
O bootloader é um programa que torna o Attiny apto para receber a programação, como se fosse um sistema operacional. No caso do micronucleus também será possível a comunicação via USB e de acordo com o desenvolvedor esse bootloader é o menor disponível para Attiny, utilizando somente 2Kb .
A instalação foi tranquila em Windows 7, mas tivemos um esforço maior no Windows 10, para isso utilizamos o software Zadig, conforme instrução do programador, inclusive ele também faz parte do pacote de instalação.
Para baixar o micronucleus acesse o seguinte aqui.
Temos a versão utilizada neste tutorial na nossa área de download.
Já tenho o Bootloader, o que faço agora?
Essa é uma excelente pergunta, particularmente, lendo todo o material disponível no programa baixado, não consegui evoluir nessa questão. A razão principal é que cada computador possui uma configuração diferente, fazendo com que o que se lê não seja fácil de reproduzir.
Outro ponto importante é que todos nós temos a mesma necessidade, mas nem todos temos os mesmos conhecimento, por esse motivo nós desenvolvemos uma aplicação muito simples para gravação e verificação do bootloader
Vamos mostrar o processo passo a passo.
O que você vai precisar?
Placa Arduino/Genuino/Uno, Duemilanove, Mega, Nano (1) – testamos nesses modelos
Pluggable Development Board For ATtiny13A/ATtiny25 (1)
Breadboard (1)
Capacitor de 10µF (1)
Cabos Jumper (alguns)
LEDs (para teste)
Resistores 220 Ω. (para os LEDs)
Instalação do Programa Arduino ISP:
Montagem na Breadbord – ISP (In system Programmer)
Pino Attiny85 | Pino Arduino |
8 | 5v |
7 | 13 |
6 | 12 |
5 | 11 |
1 (Reset) | 10 |
Capacitor | |
Reset (+) | Gnd (-) |
Incluindo a placa Digispark na IDE do Arduino
Quando esse processo for finalizado você precisará desse passo para gravar o chip , já com o bootloader, através da IDE do Arduino.
Na criação deste post, a versão mais atualizada do Arduino era a 1.6.12, mas testamos em outras e funcionou de maneira igual.
Siga os seguintes passos:
[Arquivo] -> [Preferências]
Copie o endereço abaixo e cole em: [URLs Adicionais de Gerenciadores de Placas]:
Após este processo o Arduino ficará desta maneira:
O próximo passo será instalar a placa Digispark:
Passos 1, 2 e 3:
Passos 1 e 2:
Se tudo correu bem, você verá o nome do Digispark, logo abaixo: (Passos 1, 2 e 3)
Logo após esse processo selecione o chip que você possui:
O Clock é automático para 16,5mhz – Sem opção de escolha.
Gravando o Bootloader
Baixe em nossa área de download o aplicativo FlashBootloaderAttiny_with_Reset (Pasta Arduino)
Com esse aplicativo será possível gravar o Bootloader do Micronucleus.
Não é necessário IDE do Arduino.
É necessário que o Arduino esteja com o programa ArduinoISP
É necessário que o Arduino esteja conectado ao microcontrolador (conexão ISP)
Solução de Problemas
- Porta COM não encontrada
- Tente um novo cabo, troque a porta USB do seu Arduino
- Falta dll libusb0.dll
- Neste caso você terá duas opções:
- Instale a IDE do Arduino
- Instale o aplicativo WinAVR neste link:
- Neste caso você terá duas opções:
- Windows não reconhece a placa
- Instale o Driver que está na pasta do Micronucleus
- Windows é possível instalar o drivers do Micronucleus
- Windows não reconhece a placa com o bootloader gravado.
- Troque o seu cabo USB
- O cabo deve ser bom, de preferência apto para USB 2.0 (tivemos problema com nosso cabo)
- Troque o seu cabo USB
Extras
-
Clock
- O clock do seu chip depois da gravação é de 16mhz
- Caso queira mudar para 1 mhz, ou 8 mhz, use o método descrito no tutorial (link aqui), após fazer a montagem, acesse a IDE do Arduino [Ferramentas] ->Selecione a sua Placa (Chip) –>Escolha o Internal Clock –> [Gravar Bootloader].
-
Digispark possui 6 pinos como I/O
- Esse método considera somente 5 pinos + 1 reset, 1 ground e 1 Vcc
- É possível, mas não recomendado, converter o pino reset em I/O, porém após essa mudança, o métodos de gravação ISP não é mais possível.
- Caso você realmente queira converter o pino resent em I/O, utilize nosso software chamado FlashBootloaderAttiny_without_Reset, na nossa área de download, na Pasta do Arduino
Deixe seus comentários
21 Comments
Olá. No modo de verificação (Testar Attiny), utilizando o WIN7-64, a janela fecha logo em seguida, sendo impossível de ler os resultados.
Tenta filmar e depois passa quadro a quadro para ver a mensagem de erro.
Abrir e fechar rapidamente significa algum erro no processo, mas é necessário saber qual é.
Uma outra possibilidade é que o Attiny85 não foi gravado corretamente (está sem o bootloader)
Olá Edson,
Hoje consegui um print da tela.
Apesar deste erro, depois de gravar meu firmware, tudo funciona OK, inclusive com uso do “sexto pino”.
Anexo - Attachment
Ok, obrigado pela informação, vou verificar o que está ocorrendo, mas a parte mais importante são as linhas superiores, que estão OK.
Lembro que o 6° poderá ser resetado somente com uso fe um gravador de alta voltagem (12v).
Obrigado!
Alguma novidade sobre este assunto (fechar a janela de CMD?). Hoje testei em uma maquina virtual e também fecha a janela antes de poder ver alguma coisa.
Olá,
Isso ocorre quando a porta COM é inexistente ou quando ocorre algum erro no Windows.
Você pode gravar um vídeo da sua tela.
Fazendo isso poderemos analisar outras possibilidades, não documentada até o momento.
Melhor guia de flash do ATTiny! Procurei em vários sites até conseguir encontrar este que funcionou perfeitamente e está muito bem explicado. Este é o guia definitivo.
Muito Obrigado!
Olá Edson,
Mais uma vez, obrigado pelo retorno.
Não vi uma forma simples de capturar um vídeo. A janela de CMD inicia minimizada e fecha muito rápido, mas testei utilizando o “commandline” pelo CMD, e funciona, sem fechar a janela no final, com os mesmos erros da mensagem anterior (22/Abr/2018):
d: … \micronucleus-master\commandline\micronucleus –run –type intel-hex ../main.hex
Anexo - Attachment
Fizemos alguns testes, mas infelizmente não conseguimos reproduzir a mesma mensagem.
O que esse erro está fazendo especificamente no seu projeto.
Ele é somente uma informação ou não é carregado o firmware?
Olá Edson,
O “Reply” saiu no post errado.
Não é um erro no projeto, apenas a janela de CMD fecha antes mesmo de poder ler algo.
Observe que no modo “Gravar Attiny – Ver processo”, a janela de CMD inicia minimizada, mas durante, ou no final do processo, consigo maximizar e ver o resultado. Fazendo o mesmo com a opção “Testar Attiny”, a janela de CMD inicia minimizada, maximizo e conecto a placa/Attiny e antes de conseguir ler alguma coisa, a janela do CMD fecha.
Em tempo, aproveitei o final de semana para entender o uso da linha de comando do AVRDUDE e seus fuses, e agora consigo fazer o mesmo processo por lá.
Também dá o erro rodando como administrador (acabei de testar a seu pedido).
Mais uma vez, obrigado pelo retorno, e se precisar de mais informações para descobrir o mistério, estou a disposição.
Obrigado, vou colocá-lo na lista de análises futuras. Obrigado
Me surgiu uma outra ideia, tente rodar o programa com acesso de Administrador.
Nos informe se o error persiste.
otimo realizei todos os passo do tutorial e funcionou perfeitamente no meu Win 10 64 bits, compilei o start do attiny no ide do arduino e funciona certinho fazia quase um ano que comprei a plaquina no site chines e nunca funcionou, obrigado
Que bom, ficamos felizes por ter conseguido.
Obrigado pelo feedback
Amigo, vi no final que se eu transformar o sexto pino para IO o ISP não vai funcionar mais, e a gravação usando esse gravador de $1,00, funciona? Ou realmente é só com HVP?
Olá Jaedson,
Convertendo o 6º pino de Reset para I/O você deverá ter uma HVP para voltar o pino o status original. (reset ativo)
O HVP coloca 12 volts no pino reset.
—-
O que já fizemos foi… testar todo o código com 5 pinos e quando aprovamos o teste transferimos (upload) a opção com a ativação do 6º pino (mudando os ‘fuses’).
depois disso o Attiny não recebe mais nenhum firmware – ele dá uma mensagem de erro, pois para transferir é necessário o reset ativo.
Após esse processo, só usando o HVP novamente.
Nós criamos algumas ‘shields’ para o Arduino Uno (sem componentes) para facilitar o nosso dia-a-dia em oficinas.
Oi amigo, se eu colocar o pino 6 pra IO ainda poderei gravar o chip usando o gravador digispark?
O original sim.
O Attiny85 com esse bootloader nunca testamos.
Parabéns pelos trabalhos Edson!
Vou testar o utilitário com uma Digispark a fim de habilitar o 6º pino
Lembre-se que uma vez ativado, você precisará de um HVP para resetar o pino.