Fiz dar certo, mas tenho que ir fazendo o reverso do que fiz para explicar.
Trata-se de um Atmega8 que pode ser programado diretamente na usb.
Somente montei parcialmente o circuito, baseado no site http://matrixstorm.com/avr/tinyusbboard/
O material é extenso, mas testei e fez o que prometeu de início.
Do circuito acima, retirei os switches e os leds, menos o da perna 15, que ficou sinalizando no início.
Montado o circuito e carregado o programa via usbasp e avrdudess, deixei o windows no wordpad e conectei o circuito: ele "digitou" sozinho depois de alguns segundos ligado (e olha que estranhei porque a primeira vez ele ativou e digitou no menu iniciar no espaço de digitação:
demonstrando que funcionou depois de várias tentativas.
Vou complementar esse material mais tarde, porque o projeto promete, mas é meio complicado, pois tenho que mexer na pasta hardware da IDE do arduino de uma versão mais antiga que a que estou usando.
Republicando também a tabela de pinagem do atmega8 disponível no site referido.
e o arquivo que deve ser colocado na pasta hardware (arduino 1.0.4)
-----------------------------------------------------------------------------------------------
Desta vez projetei um pouco mais e consegui desenvolver melhor o circuito final, ainda que errando um pouco. Segue o endereço http://fritzing.org/projects/tinyusbboard-on-solderable-breadboard e uma tela de amostra. Compartilhei o esquema no site do app. Maravilhoso esse aplicativo grátis, o Fritzing.
a placa padrão pode ser encontrada na loja física ou virtual Multcomercial (Santa Efigênia). Em Março/2014 encontrei por R$ 2,50 a und. Agora que aprendi a usar o Fritzing, ficou muito mais fácil. Observando que a parte cobreada apesar de estar sendo vista, é na parte de trás da placa, olhando na figura acima. Gastei uns dois dias aprendendo e montando o diagrama acima, mas valeu a pena. Mais uma vez, recomendo a utilização.
Final: com headers e o resto dos leds. Me obrigou a mudar um pouco o layout e o esquema.
-----------------------------------------------------------------------------------------------
Vai deixar informação difícil de encontrar e de entender assim lá na #¨$&*.
O cara explica as coisas todas espalhadas por vários sites. Até conseguir fazer funcionar, foi uma tarde inteira. Affffffff. Mas acabou dando certo. Dentro da expectativa. Vou dar tudo mastigadinho. O firmware que funcionou no meu Windows 8.1 com arduino IDE 1.0.5-r2. nem estava noticiado na página. Mas achei aqui. O firmware (.hex) somente deixei no meu google drive. Vai que amanhã desaparece do Github...
Algumas dicas: alterar o fuse para L=0x3F e H=0xC0; carregar o firmware_usbasploader094.hex com um programador USBAsp:
conecte o seu tinyUSBBoard; se der dispositivo desconhecido, problemas, que pode ser desde a montagem do circuito até problema na carga ou versão do firmware; eu tive de tudo - se tiver também, confira tudo, inclusive as mensagens de erro do avrdudess; baixe o arduino IDE do site do arduino; baixe a configuração do tipo de placa aqui (ou no google drive); descompactar para a pasta do arduino (na verdade, vai adicionar arquivos dentro do arduino/hardware); abra o programa a ser carregado no atmega8 e configure o ambiente: tipo de programador: usbasp, tipo de placa: tinyusbboard, atmega8, 16 Mhz....; deixe apertado o botão PROG do tinyUSBboard e aperte e solte o RESET dele; solte o botão PROG; se olhar no gerenciador de dispositivos, deve aparecer um libusb-win32 devices/USBasp; talvez tenha que mudar a porta serial no arduino IDE (o meu manteve como COM1); tudo certo, dê o upload no programa; para que ele comece a funcionar após o upload, aperte e solte o RESET e voilá ;).
Não encontrei referência do driver USBasp nos meus posts anteriores. Caso não tenha, pegue aqui. Necessário para fazer upload pelo USBasp.
Próxima tarefa: fazer funcionar como um programador USBasp.
Uma coisa bacana: programei o atmega8 no próprio tinyUSBboard. Nem precisei ficar desconectando para dar carga, nem para testar. Espero conseguir fazer um programador tão com quanto esse. É o meu melhor programador de AVRs e inicialmente a minha intenção era montar programadores com o atmega8.
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Deu certo!! Carreguei o firmware do site matrixstorm (aqui no google drive) fiz as ligações e funcionou (acredita que inverti o atmega8 para programar e fiquei quebrando a cabeça? então, não foi de primeira) !!!
Virou um programador USBasp funcionando para upar em um segundo atmega8. Divino esse circuito! Incríveis esse Stephan Baerwolf e outros que ajudaram no projeto vusb.
Tudo igual ao esquema acima. Adicionam-se as ligações do tinyUSBboard com o atmega8 montado no Shrimp minimal:
tinyUSBboard - descrição - atmega8
16 - rst - 1
17 - Mosi - 17
18 - Miso - 18
19 - Sck - 19
20 - VCC - 20
(p/ VCC podem ser usados os pinos 8-8)
22 - GND - 22
(p/ GND podem ser usados os pinos 7-7)
Testado com sucesso no Arduino IDE e no AVRDudess
-----------------------------------------------------------------------------------------
Próximo estágio: fazer o mesmo com um atmega328p-pu. Um arduino auto-programável, se conseguir. E tem os arquivos no site do matrixstorm!
Outro projeto poderia ser o circuito final do USBasp que mencionei em um post anterior. Mas pensando melhor, este circuito do tinyUSBboard é muito mais simples e funcionou muito bem, tendo até outra utilidade (placa auto-programável).
Dá vontade de tentar o One-chip arduino ver. 2.0. Só agora estou entendendo bem o conteúdo e termos usados.