We sure love the ATmega328 here at Adafruit, and we use them a lot for our own projects. The processor has plenty of GPIO, Analog inputs, hardware UART SPI and I2C, timers and PWM galore - just enough for most simple projects. When we need to go small, we use a Pro Trinket 3V or 5V, but if you want to have USB-to-Serial built in, we reach for an Adafruit METRO Mini.
METRO Mini is the culmination of years of playing with AVRs: we wanted to make a tiny, breadboard-friendly development board that is easy to use and is hacker friendly. Metro Mini can be programmed with the Arduino IDE (select 'UNO' in the boards dropdown)
The Metro Mini comes as a fully assembled and tested board, with bootloader burned in and also a stick of 0.1" header. Some light soldering is required if you'd like to plug it into a breadboard, or you can solder wires or header directly to the breakout pads. Once headers are installed they can be fitted into 0.6" wide sockets