Arduino

Attiny com o Bootloader do Digispark e Paperduino

Escrito por: ­ 30 de jun de 2017 ­ 4.732 views

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:

arduino-isp-sketch arduino-isp-sketch_conexao arduino-isp-sketch_run


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 (-)

attiny85-esquema_pt

attiny-arduino-ligacao

Montagem no Arduino, já com o Módulo ISP


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]:

http://digistump.com/package_digistump_index.json

Após este processo o Arduino ficará desta maneira:

idewithdigisparkO próximo passo será instalar a placa Digispark:
Passos 1, 2 e 3:

attiny85-arduino-projeto-reduzido-hackeduca-hack3educaPassos 1 e 2:

idewithdigispark_choose
Se tudo correu bem, você verá o nome do Digispark, logo abaixo: (Passos 1, 2 e 3)
idewithdigispark2Logo após esse processo selecione o chip que você possui:

idewithdigispark_correct

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)

Escolha seu Idioma

Escolha a porta onde o seu Arduino+Attiny estão conectados

Escolha o Attiny conectado a porta Serial

Escolha o tipo de gravação 6 pinos (sem reset) ou 5 pinos. Lembre-se que o processo de 6 pinos (sem reset) é irreversível, sem um gravador de alta voltagem (12 volts)

Depois não diga que não avisamos….. :o) Você tem certeza disso? Nós fazemos isso direto, mas temos o HVP para reverter o processo Usar 6 pinos é sempre melhor que 5, mas…..

Agora você já pode gravar. Se a Opção ver processo estiver selecionada, você poderá acompanhar o processo no prompt do DOS que permanecerá aberto. Se não estiver selecionado, você não receberá nenhum mensagem.

Se você recebeu essa mensagem. Deu tudo certo. Aproveite….

Agora é hora de verificar se tudo deu certo.

 

 

 

flash_bootloader_8

Muita atenção ao lado correto de colocar o chip na placa. Se inverter, a placa irá queimar

Pegue a sua placa de desenvolvimento, cabo e o chip gravado

flash_bootloader_6

O sistema está aguardando a conexão do dispositivo gravado na USB (qualquer uma)

flash_bootloader_7

Assim que você conectar o sistema identificará sua placa e se você tiver essa mensagem é porque deu tudo certo.


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:
  • Windows não reconhece a placa
    • Instale o Driver que está na pasta do Micronucleus
  • Windows é possível instalar o drivers do Micronucleus
    • Instale o driver através do ZADIG
      • Escolha o dispositivo não instalado (1)
      • Escolha libusb (2)
      • Instale (3)
      • zadig-hackeduca
  • 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)

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

print
Previous Post Next Post

Você também pode gostar / You Might Also Like

21 Comments

  • Reply RAWeigel 31 de mar de 2018 at 11:24

    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.

    • Reply Edson Sidnei Sobreira 31 de mar de 2018 at 15:11

      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)

      • Reply RAWeigel 22 de abr de 2018 at 09:10

        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

        • Reply Edson Sidnei Sobreira 22 de abr de 2018 at 09:19

          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!

          • RAWeigel 25 de jul de 2019 at 10:18

            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.

          • Edson Sidnei Sobreira 25 de jul de 2019 at 21:54

            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.

  • Reply dougmrqs 5 de maio de 2018 at 11:01

    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.

    • Reply Edson Sidnei Sobreira 5 de maio de 2018 at 11:07

      Muito Obrigado!

    • Reply RAWeigel 26 de jul de 2019 at 07:43

      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

      • Reply Edson Sidnei Sobreira 29 de jul de 2019 at 07:16

        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?

        • Reply RAWeigel 29 de jul de 2019 at 07:52

          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.

          • Edson Sidnei Sobreira 6 de ago de 2019 at 18:57

            Obrigado, vou colocá-lo na lista de análises futuras. Obrigado

      • Reply Edson Sidnei Sobreira 29 de jul de 2019 at 07:17

        Me surgiu uma outra ideia, tente rodar o programa com acesso de Administrador.
        Nos informe se o error persiste.

  • Reply giovani Silva de Oliveira 21 de maio de 2018 at 19:33

    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

  • Reply Jaedson Barbosa Serafim 12 de fev de 2020 at 20:49

    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?

    • Reply Edson Sidnei Sobreira 13 de fev de 2020 at 21:32

      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.

  • Reply Jaedson33 12 de fev de 2020 at 21:35

    Oi amigo, se eu colocar o pino 6 pra IO ainda poderei gravar o chip usando o gravador digispark?

  • Reply Leonardo 23 de ago de 2020 at 02:55

    Parabéns pelos trabalhos Edson!
    Vou testar o utilitário com uma Digispark a fim de habilitar o 6º pino

    • Reply Edson Sidnei Sobreira 7 de set de 2020 at 19:16

      Lembre-se que uma vez ativado, você precisará de um HVP para resetar o pino.

    Leave a Reply

    Show Buttons
    Siga-nos no Facebook
    Siga-nos no Twitter
    Siga-nos no Google Plus
    Siga-nos no Pintrest
    Siga-nos no Youtube
    Siga-nos no Scratch
    Hide Buttons
    Top
    HackEduca