Yep, the AVRs with hardware USB, like the 32U2, coupled with the lovely open source LUFA usb library, make it painfully easy. I like to make things show up as serial ports.
Though these days I've been using ARM cortex M3 (STM32) with the GPL libopencm3, as the tiny stm32's with hardware USB are cheaper and have more, well, everything. Kind overkill for blinking a couple LEDs, though.
Anyone paying $15 for $2 of parts is a sucker. Seems to be a lot of suckers in the DIY crowd, these days.