VUSB-AVR is a board definition package for the Arduino IDE, which was put together from already existing projects to simplify the development of USB devices with AVR microcontrollers. It is based on V-USB, which is a software-only implementation of low-speed USB devices for AVR microcontrollers, making it possible to build USB hardware with almost any AVR microcontroller, not requiring any additonal chip. The package includes board definitions for ATtiny44/84/45/85 and ATmega8/168p/328p as well as libraries and example sketches to build CDC, keyboard, mouse and joystick applications.
The package is based on:
https://raw.githubusercontent.com/wagiminator/VUSB-AVR/main/archive/package_wagiminator_vusb_avr_index.json
A typical wiring is shown below:
The standard connection of D-/D+ to the physical pins of the AVR is shown in the table below:
AVR Microcontroller | D- | D+ | Clock |
---|---|---|---|
ATtiny45/85 | PB3 | PB4 | 16.5 MHz internal |
ATtiny44/84 | PA1 | PA0 | 12 MHz external |
ATmega8/168p/328p | PD7 | PD2 | 12 MHz external |
For the example sketches go to File -> Examples -> Examples for VUSB-AVR.