UNO clone shows up as MEGA 2560 after burning bootloader

I have an UNO clone that, after some issues, I decided to upload a bootloader.

Using an UNO as a programmer, and following instructions from http://arduino.cc/en/Tutorial/ArduinoISP and bootloading the atmega328-pu - Microcontrollers - Arduino Forum , I successfully burned a bootloader (at least the IDE says "Done Burning Bootloader" after a few minutes of doing something).

The problem is that the board I was programming is now recognized as a MEGA 2560 instead of an UNO R3. My PC recognizes it right away and installs drivers for the MEGA 2560.

Thanks in advance for any help!

Well the USB driver is the same for the Uno and the mega2560, as they both use the same USB serial converter chip, so it doesn't matter what your PC thinks or says. The questions is can you connect your clone Uno, select the proper COM port, select Uno as the board type in your arduino IDE, and upload the blink sketch to your clone Uno board?

Thanks for the reply...I am able to upload the blink program to the Arduino with UNO selected as board type.

  1. Does this mean it's good to go?
  2. Out of curiosity, any idea why it comes up as a mega if all else is the same?

Thanks again.

Ferreri:
Thanks for the reply...I am able to upload the blink program to the Arduino with UNO selected as board type.

  1. Does this mean it's good to go?

Yes, that seems to be the case.

  1. Out of curiosity, any idea why it comes up as a mega if all else is the same?

I'm not clear on what you mean "it comes up as a mega", what comes up?

Thanks again.

When I connect the board to a PC via USB, it shows up in my devices (Windows 7) as a Mega 2560. Every other one is listed as an Arduino Uno R3. I have several as they are used for an electronics class. Drivers can only be installed with admin rights, and this anomalous board is not recognized by the computers that only have had the Uno driver. If I update the driver using Windows and point to the arduino drivers, it says "driver successfully installed - Mega 2560".

Ferreri:
When I connect the board to a PC via USB, it shows up in my devices (Windows 7) as a Mega 2560. Every other one is listed as an Arduino Uno R3. I have several as they are used for an electronics class. Drivers can only be installed with admin rights, and this anomalous board is not recognized by the computers that only have had the Uno driver. If I update the driver using Windows and point to the arduino drivers, it says "driver successfully installed - Mega 2560".

Well that is a Windows PC thing and has nothing to do with your arduino board or the IDE. There is only one USB driver software distributed with the Arduino IDE and that is what you install, only once. There after anytime you plug a new Uno or Mega board, windows uses the existing USB driver but assigns a new COM number (and I guess a name at the same time) for that board. So you can own two different Uno boards and they will be assigned different COM port numbers. I believe one can go into the driver and rename and reassign the COM number if you wish, but I never bothered

That's why I am confused. The board will NOT be recognized by a computer that recognizes 25 other Arduino UNOs and recognizes that they have the proper driver installed. However, if I go through the steps to install the driver, it works.

I've attached screenshots. Same two boards the weird one won't show up unless a driver is installed and Windows recognizes it as a Mega.

Before.PNG

Installed.PNG

After.PNG

Let me explain it another way. If you install the arduino IDE and then install the proper USB driver that supports the Uno and/or Mega rev 3 boards you will have the required one serial USB driver installed on your PC. However if you then proceed to plug in 4 different Uno boards the PC will create a new serial driver for each new board, based on the "base driver" and assign each a new different COM port number. This is just the way it works and it does bother some people, and there is a way to make the PC reassign the COM port number to be all the same if you wish. I'll leave it to others as to how you can do that if you wish, as it probably matters what OS version you are using. But the fact remains that if you plug the board in and select the proper COM port number in the IDE it will work with the board.

Or is it the case that you can't get the IDE to talk to any one specific arduino board you plug into it?

It looks to me as though the MEGA and Uno have different USB PID ("Product Identifier"), but they all use the same driver so it doesn't matter. This would be controlled by the software loaded into the 16u2 usb/serial chip, rather than the bootloader on the m328. Are you sure that board was ever "seen" as an Uno?

Here's the relevant segment of the .inf file from 1.5.x:

%mega2560rev3.name%=DriverInstall, USB\VID_2341&PID_0042
%mega2560.name%=DriverInstall, USB\VID_2341&PID_0010
%megaADK.name%=DriverInstall, USB\VID_2341&PID_003F
%megaADKrev3.name%=DriverInstall, USB\VID_2341&PID_0044
%micro.bootloader.name%=DriverInstall, USB\VID_2341&PID_0037
%micro.sketch.name%=DriverInstall, USB\VID_2341&PID_8037&MI_00
%uno.name%=DriverInstall, USB\VID_2341&PID_0001
%unoR3.name%=DriverInstall, USB\VID_2341&PID_0043

Things were setup somewhat differently in prior versions of the IDE, I think. So they might have behaved differently...

Retrolefty, thank you for the replies...I don't think I made my question clear enough. I understand that the COM port numbers will be different for each board, but when the board is not recognized as an Uno the PC wasn't automatically applying the driver (even though it had been installed).

Thank you, westfw. That seems to answer my question. So, somewhere along the line the 16U2 IC was probably meant to go on a Mega, but ended up on an Uno?

The board looks like an Uno, works like an Uno, but is identified as a Mega by the PC. This probably would have never been an issue if the PCs in the school could install drivers without admin rights. Even though they use the same driver, the PC doesn't know that. I guess I thought that the PID would be on the ATMEGA328, but I guess it makes sense that it is on the IC that handles the USB connection.

Since I have no desire to replace / reprogram the atmega16U2, I guess I'll just have a microcontroller with identity issues!

Thanks again.