AVRUSB: implementação USB via software

avrusb.gifCom a grande disponibilidade de portas USB nos computadores pessoais de hoje em dia, é comum que o interesse para usá-las nos mais variados projetos exista. Infelizmente o protocolo é um pouco trabalhoso para implementar do zero e, mesmo que existam soluções prontas em silício, são geralmente de difícil obtenção (principalmente aqui no Brasil) e de difícil soldagem (a maioria requer soldagem em superfície).

Pensando nisso, uma empresa austríaca desenvolveu uma implementação do protocolo USB inteiramente em software, e a disponibilizou gratuitamente na Internet (embora exista opção para uso comercial). Os requisitos são até altos em se tratando de microcontroladores (2kB de flash, 128bytes de RAM e clock de no mínimo 12MHz), mas um preço absolutamente baixo para se pagar pelos benefícios.

Suportando USB 1.1 e escrita em C, a biblioteca pode ser obtida neste site. Vários exemplos são mostrados na página também, como conversores de joysticks de Super Nintendo, controlador de servomotor e controle remoto infra-vermelho.