Pages: [1]   Go Down
Author Topic: Customize your Arduino  (Read 3573 times)
0 Members and 1 Guest are viewing this topic.
Chile
Offline Offline
Edison Member
*
Karma: 35
Posts: 1251
Arduino rocks?
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

I have killed three arduinos, one of them just trying to customize it (show my own vendor id, use “my” own drivers, etc). So I wrote a small tutorial about how customize it:

Initially, your board (any arduino) must look this way in Windows device manager:


Download, unzip and run MPROG: http://www.ftdichip.com/Resources/Utilities/MProg3.5.zip

Download the default configuration for the FTDI chip from here:
http://www.arduino.cc/playground/Main/FTDI (direct link: http://www.arduino.cc/playground/uploads/Main/default_FT232RL_Arduino_NG_rev_c.zip)

Load that configuration in Mprog. You will see something like this:


Enter EDIT MODE with Ctrl+D in Mprog (or click the third toolbar button), now change the USB VID / PID from "FTDI DEFAULT" to Own VID & PID. Set new values for Vendor ID and Product ID.

Down, you can change the Manufacturer name and Product description. My changes look this way (is for my Freeduino):



Now, (save this configuration if you wish) click Device / Scan. Your board must be connected and installed as usual. Below you will see "1 programmed device". To reprogram your ftdi just click Device / Program.



Status after "Device / Scan":


Ready, unplug your board. Now you must modify the FTDI driver:

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

You can use the zip (http://www.ftdichip.com/Drivers/CDM/CDM%202.04.16%20WHQL%20Certified.zip) or the installer package. I will use the exe one (http://www.ftdichip.com/Drivers/CDM/CDM%202.04.16.exe).

After the first driver installation, go to Windows %TEMP% (open "%temp%" from start menu) and look for a ckz_XXXX folder like this:


Copy the contents of this folder. This will be your custom driver installation.

Open ftdibus.inf and ftdiport.inf files and seek for
"VID_0403&PID_6001"

Replace using your own VID and PID, in my case by:
"VID_0666&PID_5001"

Look for some strings like this:
Code:
[Strings]
FTDI="FTDI"
DESC="CDM Driver Package"
DriversDisk="FTDI USB Drivers Disk"

In both files you can type anything you want.

Now, edit the "dpinst.xml" file. You can know more of how this file works here: http://msdn.microsoft.com/en-us/library/ms790308.aspx (look here to know about language code, because maybe my 0xC0A spanish code will don't work on your machine)

I have used the ftdi's template:
Code:
<?xml version="1.0"?>
<dpInst>
    <language code="0xC0A">
        <dpinstTitle>Instalador de Freeduino v1.16</dpinstTitle>
        <welcomeTitle>Bienvenido al asistente de instalación de los controladores para la placa Freeduino</welcomeTitle>
        <welcomeIntro>Este asistente instalará los controladores de la placa Freeduino v1.16 para Windows.</welcomeIntro>
        <eulaHeaderTitle>End User License Agreement</eulaHeaderTitle>
        <eulaYesButton>I &amp;accept this EULA</eulaYesButton>
        <eulaNoButton>I do &amp;not accept this EULA</eulaNoButton>
        <installHeaderTitle>Installing the software for your FTDI device...</installHeaderTitle>
        <finishTitle>Congratulations! You are finished installing your FTDI device.</finishTitle>
        <finishText>VCP drivers are now installed for your FTDI USB device.</finishText>
        <eula type="txt" path="eula.txt" />
    </language>
    <icon>ftdismall.ico</icon>
    <watermarkPath>FTDI.bmp</watermarkPath>
</dpInst>

My customized files are here:
http://servicios.ried.cl/custom_ftdi_arduino.rar

I have created a good looking freeduino icon and a resource-modified winrar sfx installer:


Installation process:
http://screencast.com/t/QjWCaerG

We are ready now, plug in your modified arduino to see the results. You might ask how will my Freeduino looks now:

Installation (some warnings will appear because I didn't pay to microsoft to get my custom ftdi drivers digitally signed  :-/):


And from Device manager:


Good look!

PD: All of my broken arduinos are alive now smiley-grin (ftdi transplant  :smiley)
« Last Edit: August 24, 2009, 04:14:01 am by eried » Logged

My website: http://ried.cl

France
Offline Offline
Sr. Member
****
Karma: 0
Posts: 262
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Thanks for this! Can be useful for finished products smiley
Logged

0
Offline Offline
Newbie
*
Karma: 0
Posts: 1
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Nice one!

Thanks
Logged

0
Offline Offline
Newbie
*
Karma: 0
Posts: 14
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Nice!!! smiley-grin
Logged

GA USA
Offline Offline
Newbie
*
Karma: 0
Posts: 7
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Nice!   8-)
Logged

Bonn, Germany
Offline Offline
God Member
*****
Karma: 1
Posts: 903
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Nice tutorial smiley-mad)

But i wonder if it is possible just to rename an Arduino device without having to install whole new drivers?
Logged

Believe me, Mike, I calculated the odds of this succeeding against the odds I was doing something incredibly stupid[ch8230] and I went ahead

Chile
Offline Offline
Edison Member
*
Karma: 35
Posts: 1251
Arduino rocks?
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Yes, just don't modify vendor and product ID  8-)
Logged

My website: http://ried.cl

Bonn, Germany
Offline Offline
God Member
*****
Karma: 1
Posts: 903
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

..that was too easy ;0)
Logged

Believe me, Mike, I calculated the odds of this succeeding against the odds I was doing something incredibly stupid[ch8230] and I went ahead

0
Offline Offline
Newbie
*
Karma: 0
Posts: 3
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Nice post.
Logged

Bonn, Germany
Offline Offline
God Member
*****
Karma: 1
Posts: 903
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

might be a coincidence, but after doing that (windows 7, x64) i have had occasional system wide crashes on upload using modified drivers.. this was solved when the old drivers were installed and every change had been revoked. Anyone else experiencing this?
Logged

Believe me, Mike, I calculated the odds of this succeeding against the odds I was doing something incredibly stupid[ch8230] and I went ahead

0
Offline Offline
Newbie
*
Karma: 0
Posts: 2
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Nice.
Logged

Chile
Offline Offline
Edison Member
*
Karma: 35
Posts: 1251
Arduino rocks?
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

@Nachtwind: what kind of crash? can you provide a step/step to get that error? I have Win7 x64 in my laptop.

I think is related by the Win7 asking for signed drivers (customized ones aren't digitally signed, because you need to buy a signature  :-[), can be solved by a boot modifier parameter.
Logged

My website: http://ried.cl

Bonn, Germany
Offline Offline
God Member
*****
Karma: 1
Posts: 903
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Hm, there have been several crashes on upload or serial communication. It was randomly happening in like 40% of all serial communications.. strange as it seems ><
Logged

Believe me, Mike, I calculated the odds of this succeeding against the odds I was doing something incredibly stupid[ch8230] and I went ahead

0
Offline Offline
Newbie
*
Karma: 0
Posts: 13
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

I have used MProg to rewrite both Vendor ID and Product ID in Arduino. I think it may be successful. I have rewritten both Vendor ID and Product ID in both ftdibus.inf and ftdiport.inf in FTDI's driver folder. But, when I connect Arduino to PC via USB, I cannot make the right device driver. PC shows error message. Now, I cannot rewrite both Vendor ID and Product ID in Arduino by MProg. When I click Device/Scan in MProg, It shows “Number Of Blank Devices = 0   Number Of Programmed Devices = 0”.
My Arduino cannot communicate to PC via USB, because it doesn't have the right device driver.  
By the way, Device Type in my MProg is FT232BM, not FT232R. Is it the cause?
What should I do?
Logged

Chile
Offline Offline
Edison Member
*
Karma: 35
Posts: 1251
Arduino rocks?
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

That happens if you killed ftdi. I don't know why that happened to you, happened to me once, don't know if is a faulty ftdi chip or something that I did do wrong, so I decided to write down the detailed experience to help other people.

If you followed this instructions perfectly I'm not sure what happened. Sorry. Now, the operative system couldn't recognize the faulty ftdi chip (with null vendor and product ids), I tried with no luck to reborn the ftdi chip.

You didn't lose your arduino yet, your solution is to replace it:

-Buy another FTDI chip (I boughed mine from seedstudio, $4 USD?)
-Remove the actual one, with solder and soldering iron apply heat to each side, don't worry if you break the ftdi, but take care about the pcb pads and don't apply so much heat
-Clean the pcb with solder remover
-Align the new one, and touch gently each leg with the soldering iron, don't need to apply more solder

Good luck

Logged

My website: http://ried.cl

Pages: [1]   Go Up
Jump to: