AVR-USB Project

Microcontroller AVR-USB Project
AVR-USB implements a USB device entirely in software, making it possible to build USB hardware with almost any AVR microcontroller, not requiring any additional chip.

Features :
  • Fully USB 1.1 compliant low-speed device, except handling of communication errors and electrical specifications.
  • Example projects demonstrate device and host driver implementations on Linux, Mac OS X and Windows.
  • Supports multiple endpoints: one control endpoint, two interrupt/bulk-in endpoints and up to 7 interrupt/bulk-out endpoints. (Bulk endpoints are forbidden for low speed devices by the USB standard.)
  • Transfer sizes up to 254 bytes by default, more as configuration option.
  • Comes with freely usable USB identifiers (Vendor-ID and Product-ID pairs).
  • Runs on any AVR microcontroller with at least 2 kB of Flash memory, 128 bytes RAM and a clock rate of at least 12 MHz.
  • No UART, timer, input capture unit or other special hardware is required (except one edge triggered interrupt).
  • Can be clocked with 12 Mhz, 15 MHz, 16 MHz or 20 MHz crystal or from a 16.5 MHz internal RC oscillator.
  • High level functionality is written in C and is well commented.
  • Only about 1200 to 1400 bytes code size.
Download


tags : Microcontroller Project, AVR, USB (src)

AVR-USB Project

Microcontroller AVR-USB Project
AVR-USB implements a USB device entirely in software, making it possible to build USB hardware with almost any AVR microcontroller, not requiring any additional chip.

Features :
  • Fully USB 1.1 compliant low-speed device, except handling of communication errors and electrical specifications.
  • Example projects demonstrate device and host driver implementations on Linux, Mac OS X and Windows.
  • Supports multiple endpoints: one control endpoint, two interrupt/bulk-in endpoints and up to 7 interrupt/bulk-out endpoints. (Bulk endpoints are forbidden for low speed devices by the USB standard.)
  • Transfer sizes up to 254 bytes by default, more as configuration option.
  • Comes with freely usable USB identifiers (Vendor-ID and Product-ID pairs).
  • Runs on any AVR microcontroller with at least 2 kB of Flash memory, 128 bytes RAM and a clock rate of at least 12 MHz.
  • No UART, timer, input capture unit or other special hardware is required (except one edge triggered interrupt).
  • Can be clocked with 12 Mhz, 15 MHz, 16 MHz or 20 MHz crystal or from a 16.5 MHz internal RC oscillator.
  • High level functionality is written in C and is well commented.
  • Only about 1200 to 1400 bytes code size.
Download


tags : Microcontroller Project, AVR, USB (src)

AVR USB Game Controller

Electronic Project Circuit - AVR USB Game ControllerIf you want build your own (DIY) game controller it thing you can try this electronic project. This project uses an ATmega8 microcontroller from Atmel. The firmware implements a standard USB joystick with 4 directional buttons and 8 general purpose buttons. Some application from this project are :
  • Home-made Arcade style controller and small arcade cabinets
  • Simple controller (1 wire per button) to USB. Eg: Neo-Geo, Atari...
  • Using appropriate software on the PC side, the inputs can be used for other purposes. Eg: Switches, limit-switches, alarms... A cleaner solution than modifying an existing game controller
No drivers required!

That's right, since the USB standard defines device classes. By using the human input device (HID) it will tell the computer that the connected USB device is a joystick and has 2 axis and 4 or 8 buttons. Another nice thing about this is that the adapter should work with all operating systems supporting HID devices.

Download : Schematic, Wiring Connection

tags : Microcontroller AVR project, USB Game Controller (src)