Well... the Duemilanove is awesome, but sometimes you just need an FTDI cable for another Arduino that doesn't have built-in USB. I added a switch to my Duemilanove that turns it into an FTDI adapter. With $22 Duemilanoves, it's hard to justify $15 for an FTDI cable.
I added a switch that ties the reset pin on the host arduino to ground via its 10K resistor and switches the DTR from the FTDI from the host arduino to the slave arduino.
I mounted a triple pole dual throw switch next the the USB port and broke the reset-enable solder bridge. After those two modifications it's just a matter of soldering wires. Oh, you will need some wire and a connector for the client Arduino.
| Host Pin0 | RX Out |
|---|---|
| Host Pin1 | TX Out |
| Host 5V | 5V Out |
| Host Gnd | Gnd Out |
| FTDI DTR(from Reset-Enable) | throw1 center |
| Host Reset(from Reset-Enable) | throw1 bottom |
| DTR Out(Reset on Client) | throw 1 top |
| Host Gnd | throw2 center |
| Host Reset(from Reset Button) | throw2 top |
When the switch is in the top position and nothing is hooked to the cable the Arduino works normally. When the switch is in the top position the Arduino works as a FTDI adapter(with full DTR/auto reset capability).
If someone wants to add a really stand out feature to their next Arduino clone, this would be a really handy feature. You could just substitute a switch for the reset button. Flipping the switch to the bottom and back to the top will reset the host arduino.