
V-USB is a software-only implementation of a low-speed USB device for Atmel’s AVR® microcontrollers, making it possible to build USB hardware with almost any AVR® microcontroller, not requiring any additional chip.
V-USB can be licensed freely under the GNU General Public License or alternatively under a commercial license.
An example of the hardware needed to implement USB on an Attiny2313 appears above, and Avr has a collection of sample projects.

thanks for keeping me post, this sound interesting
I’ve been trying to find a cheap and simple way of getting GPIOs on a regular computer (one that has no serial/parallel ports). I figured my best bet was with a microcontroller interfaced with USB. I tried V-USB, but found it too complicated, even the simpler USBtiny seemed to require knowledge of the inner working of USB. I found this too much of an investment because the latest batch of microcontrollers support USB in hardware, so I wouldn’t have this problem in the future. As such, I settled with a USB to ttl adapter, connected to the UART pins.
@CH even the micros with builtin USB still need USB descriptors and everything. Only difference is that they handle the USB timings with dedicated logic.
Look at http://www.create.ucsb.edu/~dano/CUI/ for something easier to use.
Does anybody no a good place to start if I were looking to bitbang usb without this library? I don’t have access to avrs at the moment, but I’m willing to program in assembler to get it done. (I suppose more as a learning experience than anything else.)