This diagram shows a typical circuit for a bus powered device.
D1 and D2 are a low cost replacement for a low drop 3.3 V regulator chip, such as the LE33. Operating the AVR at higher voltages exceeds the common mode range of many USB chips. If you need to run the AVR at 5 V, add 3.6 V zener diodes at D+ and D- to limit the voltage.
For a prototyping board, please see metaboard.
Why not choose a microcontroller with built-in USB hardware? There are several of these available (see http://janaxelson.com). Or combine the microcontroller of your choice with a USB chip?
A similar driver for the AVR series of microcontrollers is available from Igor Češko. Our USB driver has the following advantages over Igor’s driver:
Dick Streefland has stripped down an older version of V-USB to the basics. His code is easier to read and understand, but lacks some of the features found in V-USB: