Arduino Due stk500_recv(): programmer is not responding

Hi,
I know this has been covered before but none of the solutions seem to be working for me.

I have an Arduino Due and an Arduino Uno, I've had the Uno for ages and it has always worked fine. I just tried to upload some sample code to me new Arduino Due and I get the following error:

avrdude: Version 5.11, compiled on Sep  2 2011 at 18:52:52
         Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
         Copyright (c) 2007-2009 Joerg Wunsch

         System wide configuration file is "/Applications/Arduino.app/Contents/Resources/Java/hardware/tools/avr/etc/avrdude.conf"
         User configuration file is "/Users/charliehouse/.avrduderc"
         User configuration file does not exist or is not a regular file, skipping

         Using Port                    : /dev/cu.usbmodem1411
         Using Programmer              : arduino
         Overriding Baud Rate          : 115200
avrdude: Send: 0 [30]   [20] 
avrdude: Send: 0 [30]   [20] 
avrdude: Send: 0 [30]   [20] 
avrdude: ser_recv(): programmer is not responding
avrdude: stk500_recv(): programmer is not responding

avrdude done.  Thank you.

I have tried changing USB cables, USB ports, even sent the Arduino back to CPC and got a replacement, and I still have the same error. The exact same code works fine on the Uno.

I have already tried pushing the RESET button at varying times during the upload process, changed the Serial Port to the correct one, and changed the Board setting to the correct one. This is running on Mac OS X, but the same thing happens on my Windows 8 VM.

What am I doing wrong?

I ran into this problem with an Arduino clone. In my case, the data transfer rate set by the board selection was not working with the clone, even though I was using the recommended selection.

My approach is described in the post "Programmer is not responding/not in sync", and shows the process I followed under Linux (Ubuntu) and Windows 7.

The board selection sets several parameters that are used by the avrdude program. Setting verbose output for uploads in Preferences lets you see the avrdude command and its parameters, copy and paste the command into a terminal windows, and delete the -b parameter that sets the upload speed.

When I removed the -b parameter and executed the command, my upload worked.