Recently I've been developing a Proof-of-Concept of a USB "dongle" that will provide some pretty simple functionality. Send it a command and it will return some data depending on the state of some of the GPIO, etc. I'm developing this POC for my company. First I designed and whipped up a breadboard on an ATMEGA328P running V-USB and got that working. While it does provide the functionality that I need I really do not want to use libraries that are licensed, etc. I'd rather use the tools provided by the AVR platform to make this work. When I turn this all over to my company I'd rather not have a bunch of license issues wrapped up in there as well. Nothing wrong with authors asking for payment for commercial use. I've done it before. This time it is different, is all.
So...I purchased a few ATMEGA8U2 chips and have started reading everything I can on designing and developing for AVR USB. I've ordered "USB Complete Fourth Edition : A Developers Guide". I'm in the middle of going through "USB in a NutShell" (http://www.beyondlogic.org/usbnutshell/usb1.shtml). I've looked over the V-USB documentation and examples as well as LUFA.
My question is simply this: Am I missing anything?
USB is a complex entity and I would really like to take it in from all sides. I've search the boards here (where I got the recommendation for the book and "USB in a Nutshell"). Are there any sites that really helped fill the gaps for you as you design USB hardware and firmware? Examples? Videos? PODcasts? Just wondering if there is a really great resource that I'm missing.