Go Down

Topic: Updating 16u2 USB firmware (Read 17098 times) previous topic - next topic


You could download the current firmware from the 16u2 and compare it to what is in the ide.
Use ArduinoISP on the UNO as programmer. The avrdude command would look like this:

Code: [Select]

arduino-1.5.2/hardware/tool> avrdude.exe -C avrdude.conf -c arduino -P COMyour_com_port -b 19200 -p m16u2 -vvv -U flash:r:old.hex:i



'Tis old. Time to update... Done.



Ok, I was able to find the correct path for the avrdude inside the arduino folders. I was also able to find the avrdude.conf file. And after a bit of work, I was able to create a command that avrdude would accept and seems to do something. My command looks like this:

avrdude -C avrdude.conf -c arduino -P com5 -b 19200 -p m16u2 -vvv -U flash:w:/16u2/16u2.hex:i

That works! I was able to flash the firmware to the 16u2. But, my Due still shows up as "USB device not recognized" in Windows. I guess it must be a further problem. Thanks all.

(from a newbie) So, if a person wanted to develop a project using the Due development board, then incorporate the Atmel SAM3x cpu, and the ATMEGa 16U2 USB interface, you would have to flash the 16U2 firmware.  After you do all of that, you still get a "USB device not recognized" in Windows?  Am I to conclude from this that this development board (the DUE) is really not ready as a development board platform?  If one cannot take the hardware and incorporate it into another design, it is hard to think of it as a mature development platform.  I wonder how long it will take for these issues to be resolved.


After you do all of that, you still get a "USB device not recognized" in Windows?

I flashed the firmware just for fun, and had no problems whatsoever. Of course it's a lot of work: One has to "build" the flasher out of an Arduino Uno and a number of cables, resistors and LEDs, but it was fun. I was using Windows 8 and also had to extend the commmands given in the tutorial a bit (e.g. avrdude.exe and avrdude.conf are not in the same directory, so I hat to use a path before avrdude.conf).
Regards, Martin

Go Up