Go Down

Topic: Tone function does not work with Arduino Due in arduino-1.5.1r2 (Read 4391 times) previous topic - next topic


I have a similar thread to this one in the Programming Questions section of the Forum.  I hope it's OK I started one here (I don't know how to move that one over).

I'm fairly certain that the Tone function does not work with the Arduino Due.   I get the errors similar to the following each time it's called out when I tried to compile the code:

"toneMelody.ino: In function 'void setup()':
toneMelody:36: error: 'tone' was not declared in this scope
toneMelody:43: error: 'noTone' was not declared in this scope"

If I change the board to the the Arduino Uno the program compiles fine.

I looked at the Tone.cpp using a text editor.  It has if statements for (__AVR_ATmega8__) or for (__AVR_ATmega1280__)

not for the Atmel SAM3X8E ARM Cortex-M3 CPU.

I'm thinking code needs to be added to Tone.cpp so that it will work with the Arduino Due.

Does anyone have a fix for this or am I just doing something wrong (I'm very new to this)?



Don't bother including Tone.h for the Due (take a look inside it!).

The nearest I've seen so far to getting something going is:



If you want to build your own, a proof-of-concept sketch for Tone can be found at


The code works great.  Shave and a hair cut.  How fun is that.

Thanks again.

Go Up