I have a number of standalone 16u2 chips wired up for prototyping purposes and they are never seen by my PC (windows 7) when attached via USB (I do not mean they are an 'unknown device', I mean they do not even start the driver search)
For sanity check I have wired the chips identical to UNO R3 schematic and flashed (Atmel Atudio->AVR Dragon->ISP->16u2) the chips with UNO R3 usb2serial hex file provided with the arduino IDE. The chips program and verify correctly, but will still not be recognized by the OS.
To check that the firmware I write is actually executing, I altered Unojoy to blink an LED while the USB is waiting on configuration:
// Initialize our USB connection
usb_init();
while (!usb_configured()){
LEDon(RXLED);
_delay_ms(50);
LEDoff(RXLED);
_delay_ms(50);
} // wait
Yes, along with many others, including one read from a working UNO. The behavior, of the USB, appears the same regardless of the firmware.
That would seem to indicate wiring (which if is incorrect, it is incorrect on the UNO schematic and the chip datasheet.... or perhaps labeling incorrect on the QFN-32 breakout) or some disable on the chip itself.
Also the 16U2 doesn't come in a DIP package, are you using a TQFP breakout board? How certain are you that the soldering is doesn't have any shorts/dry joints etc?
BJHenry:
Also the 16U2 doesn't come in a DIP package, are you using a TQFP breakout board? How certain are you that the soldering is doesn't have any shorts/dry joints etc?
I have 3 on breakouts. If there are soldering errors, they are the exact same errors... I find that unlikely.
DrAzzy:
USB lines are layout sensitive, how carefully did you connect them? You may not be able to make them work via breadboard....
How sensitive? I would expect as a differential pair, the data lines would be somewhat robust. Currently they are connected via shortish jumpers and the 22ohm resistors. Do you think a direct solder of a 22ohm resistor across pins from breakout board (USB) to breakout board (16u2) would work better?