Changing the Serial Number

we cannot be held responsible for any damage that may be caused while flashing your arduino, and thank you for understanding. there are two methods that you can use to flash your arduino mega with a new serial number. the first method is for the newer 2560 arduino megas that use the ATMega chips and written for osx, the second method is for the older 1280 FTDI based arduinos.

Flashing ATMega 8U2 and 16U2 Mega 2560 Serial Number


Arduino Mega 2650

these instructions are currently for osx only

1. download LUFA library version 100807, and unpack. download and install homebrew. download and install arduino.

2. right click on your Arduino application and select ”show package contents”

3. open Resources/Java/hardware/arduino/firmwares/atmegaxxu2, and copy the arduino-usbserial folder into your downloaded LUFA Projects/ folder.

4. open the copied arduino-usbserial folder and replace Descriptors.c with this modified file: Descriptors.c.

5. open the new Descriptors.c file and change the “-chr-001″ (around line 227) to whatever serial number you’d like (-chr-xxx)

6. replace the makefile with this modified file: R1 and R2 use makefile. R3 use makefile

7. download and install CrossPack-AVR version CrossPack-AVR-20100115.dmg

8. start Terminal (Applications/Utilities/Terminal)

9. change to the “arduino-usbserial” folder (replace the ../../  below with the path to your LUFA folder) by typing the following and pressing enter

cd ../../LUFA\ 100807/Projects/arduino-usbserial

10. compile the code (make sure you are inside the LUFA/Projects/arduino-usbserial directory **see above)

make clean

11. in terminal use darwin ports to install DFU

sudo brew install dfu-programmer

12. put your arduino in DFU mode by bridging the green pads then the red pads (see here for more detailed instructions) while your arduino mega is plugged in. any thing conductive can be used to bridge the pads, and no soldering or other pull down resistors are required. the picture below shows the bottom/underside of a 2560 mega r2 by the USB port. once you have bridged the pads, open up Arduino to see if your board is now in DFU mode. do this by going to Tools/Serial Ports and checking to make sure your mega is no longer in the devices list.

13. using terminal upload the newly built Arduino-usbserial.hex (more detailed uploading instructions are available here). NOTE! make sure you have installed the DFU programmer from step 11 before doing this.

sudo make dfu

14. if terminal tells you that no DFU device was found, double check that your Arduino was successfully put in DFU.

15. after a successful flash, the USB vendor ID will be changed to 03eb (check your Applications -> Utilities -> System Infromation to see this), and see the firmware docs for more information. you should see something that looks like this:

Arduino Mega 2560 DFU:

Product ID:	0x2ff7
Vendor ID:	0x03eb  (Atmel Corporation)
Version:	0.00
Speed:	Up to 12 Mb/sec
Location ID:	0xfd130000 / 4
Current Available (mA):	500
Current Required (mA):	100

16. install and run the chronome version of serialosc. plug in your arduino and you should see something like:

serialosc [chr-844]: connected, server running on port 14407

Flashing FTDI Mega 1280 Serial Number


Arduino Mega 1280

before you start, download the following (PC only)

FT_Prog http://www.ftdichip.com/Resources/Utilities.htm

D2XX Drivers http://www.ftdichip.com/Drivers/D2XX.htm

1. install FT_Prog and D2XX Drivers

2. run FT_Prog, click on “Device / Scan and Parse”. if your arduino is recognized, you should see something similar to the message below

code:
Device: 0 [LOC ID: 21]

3. click on USB String Descriptors.

4. uncheck the box “auto generate serial number”, enter something like chr-xxx into the Serial Number box, and delete the contents of the Prefix box. i use chr-001 but you should be able to freely change the “xxx” numbers. this naming is one of the most important parts in having serailosc recognize your chronome and making everything work.

5. click “File”, “Save As” (save to your desktop)

6. after saving, click the “Flash” / lightning bolt icon, and then click Program.

7. install and run the chronome version of serialosc. plug in your arduino and you should see something like

serialosc [chr-844]: connected, server running on port 14407