I'm currently a very happy user of atmega16 and an RS232 amp. With TeraTerm I can control every bit of my device and application.
For the next generation of the device I've been wanting to use USB instead of RS232, but still have it show up as a UART on the computer. I use TeraTerm and a selfmade cat program to dump keyboard instructions and files.
I'm new to using USB in this way. Where should I start? Should I hook a USB device (which?) onto the 'mega16? I'm already using SPI, so that should be a small add-on. Or is there a better way to do this? I'd like to keep some of my legacy 'mega16 code, but that is not at the very top of my list. Hardware simplicity also matters.