I'm working on a USB project, and for that project I find I'm not using the Arduino side of the Arduino Uno R3 that I've bought. I'm not programming any sketches, I'm just reprogramming the ATMega16u2 to emulate a USB device. I'm using the DFU interface to do the programming. Is there a more appropriate board I should use that would be cheaper, and smaller than an Uno?
I hope I've been clear, and I've used the correct terms, if not please let me know. Many thanks in advance!
The Micro is similar to the Arduino Leonardo in that the ATmega32u4 has built-in USB communication, eliminating the need for a secondary processor. This allows the Micro to appear to a connected computer as a mouse and keyboard, in addition to a virtual (CDC) serial / COM port. It also has other implications for the behavior of the board; these are detailed on the getting started page.
When a 'u2 chip is used as a secondary part on a board (like the UNO), they tend to use the 16u2, because it's a little cheaper in quantity. When it is used as the main part on a board, it seems the 32u2 is used more often. The great thing is they are .hex file compatible, especially 16u2 code on a 32u2 (more memory). I've loaded the 16u2 Arduino Serial .hex file on a number of 32u2 boards with complete success. Just Google "atmega32u2 board", and you'll get a a little list. I've used the NooGroove, and the Minimus.
While I wouldn't want to sway someone from using a 32u4, it is different from a 32u2, so if you've been working with a 16u2, you'll have to make changes for compatibility.
Of course, if you're dealing with either the 32u2 or the 32u4, you should start where the original Arduino UNO USB/Serial code for the 8u2 was derived from - LUFA @ www.fourwalledcubicle.com/LUFA.php .