Changing your Arduino's serial number

I think this will mostly interest Mac OS X users.

The FTDI chip (FT232RL on the NG and Decimilla Arduinos) has a unique serial number. On Mac OS X, that serial number is used in the device special file name (i.e. /dev/tty.usbserial-whatever). Some Mac users have encountered problems because non-printable characters were in there, and it made it tough to accurately specify the name. A symbolic link is the typical workaround.

FTDI provides a utility called MProg. Unfortunately it is Windows-only, but if you're a Mac-only individual maybe you can find a less fortunate friend with a Windows machine to perform this operation.

First, MProg requires the "DXX" drivers. The latest version of the Windows FTDI drivers combine the DXX and VCP drivers, but if your VCP drivers have been loaded for some time you may need to remove them and reinstall.

After the DXX-capable drivers are loaded, install MProg.

Attach your Arduino and run MProg, and perform the following steps in MProg: - select Device -> scan. You should see a message indicating that a programmed device was found. - select Tools -> Read and Parse - on the main screen, check "used fixed serial number" - enter the 8 character serial number you'd like to assign your Arduino. It says digits, but characters are OK. - select File -> save file as. Doesn't matter what you name it. - select device -> program - You're done!

On the Mac, before I started my newly built ZIFduino showed up like this:

al-g4:~ jdw$ ls /dev/tty.*
/dev/tty.Bluetooth-Modem           /dev/tty.SerialPort-1
/dev/tty.Bluetooth-PDA-Sync     /dev/tty.modem
/dev/tty.usbserial-A3000PMw     /dev/tty.usbserial-A3000WWk
al-g4:~ jdw$

After performing the rename on the Windows machine, it looks like this:

al-g4:~ jdw$ ls /dev/tty.*
/dev/tty.Bluetooth-Modem           /dev/tty.SerialPort-1
/dev/tty.Bluetooth-PDA-Sync     /dev/tty.modem
/dev/tty.usbserial-ZIFduino     /dev/tty.usbserial-NG-duino
al-g4:~ jdw$

Now, even if I've got the Arduino NG and the ZIFduino plugged in at the same time, there's no confusion as to which one is which!

-j

There is something like this for Linux http://www.intra2net.com/de/produkte/opensource/ftdi/index.php I tried it with my Ubuntu FF box and I can read the serial number. I did not try the flash command but it might work. Don't know if it works under OS-X

Nicolas

Thanks, I didn't know about that one. It seems to have an EEPROM writing tool, so it can probably configure the device, and it's based on libusb, it it is conceivable that it could be made to work on OS X. Certainly worth checking out.

If you want your Arduino to show up with a particular device special file name under linux, udev rules will do that for you.

-j