De la página del producto:
http://www.arduino.cc/en/Main/ArduinoBoardDuemilanove
Programming
The Arduino Duemilanove can be programmed with the Arduino software (download
http://arduino.cc/en/Main/Software). Select "Arduino Diecimila or Duemilanove w/ ATmega168" or "Arduino Duemilanove w/ ATmega328" from the Tools > Board menu (according to the microcontroller on your board). For details, see the reference
http://arduino.cc/en/Reference/HomePage and tutorials
http://arduino.cc/en/Tutorial/HomePage .
The ATmega168 or ATmega328 on the Arduino Duemilanove comes preburned with a bootloader
http://arduino.cc/en/Tutorial/Bootloader that allows you to upload new code to it without the use of an external hardware programmer. It communicates using the original STK500 protocol (reference
http://www.atmel.com/dyn/resources/prod_documents/doc2525.pdf , C header files
http://www.atmel.com/dyn/resources/prod_documents/avr061.zip ).
You can also bypass the bootloader and program the microcontroller through the ICSP (In-Circuit Serial Programming) header; see these instructions
http://arduino.cc/en/Hacking/Programmer for details.