GeekHack used to have a poor wiki with a lot of quality content. The wiki may be better now, but the content is pretty poor instead =P I think managing one
wiki is work enough. But I bet someone will be keeping a slightly out of date copy over here as well =D
I was hoping to use the ATmega32u2 running on the internal 8MHz oscillator, but according to the datasheet it is not good enough to comply with high-speed USB specifications. The ATmega32u4 can be configured to be a low-speed USB device, but it looks like that is rather unique to that chip... I think the 32u2 is factory set to run from the internal oscillator though, and then I would like to know how they know the bootloader will run fine =P
Anyway I got one of these spiffy ATmega32u2
development boards. I tested my prototype first without changing anything on the chip, only downloading the (re-compiled) firmware that was working on the Teensy++. And presto everything seemed to work =)
After that I changed the fuses to have it run on the internal oscillator instead. I also had to upload a new bootloader since that was toasted in the changes to the fuses. I re-configured the firmware for 8MHz operation, recompiled and downloaded it to the chip. And no presto, nothing was working any more =P
So I spent several hours trying to figure out what had gone wrong without any luck. Finally the next day I had the idea to flash the chip with the serial programmer instead of the bootloader. And lo and behold, everything was working just fine with the internal oscillator at 8MHz. So there is something funky with my 8MHz DFU bootloader build.. And after that I also read about that non-compliance with high-speed USB... So back to square one - I need to fit some sort of external clock source onto the board. Nothing impossible though I suppose =)