Play a Melody using the tone() function with Arduino

This example shows how to use the tone() command to generate notes. It plays a little melody you may have heard before.


Arduino Play a Melody

image developed using Fritzing. For more circuit examples, see the Fritzing project page

Connect one terminal of your speaker to digital pin 8 through a 100 ohm resistor. Connect the other terminal to ground.


Arduino Play a Melody Schematic


The code below uses an extra file, pitches.h. This file contains all the pitch values for typical notes. For example, NOTE_C4 is middle C. NOTE_FS4 is F sharp, and so forth. This note table was originally written by Brett Hagman, on whose work the tone() command was based. You may find it useful for whenever you want to make musical notes.

The main sketch is as follows:


Plays a melody

* 8-ohm speaker on digital pin 8

created 21 Jan 2010
modified 30 Aug 2011
by Tom Igoe

This example code is in the public domain.

#include “pitches.h”

// notes in the melody:
int melody[] = {

[box color=”#985D00″ bg=”#FFF8CB” font=”verdana” fontsize=”14 ” radius=”20 ” border=”#985D12″ float=”right” head=”Major Components in Project” headbg=”#FFEB70″ headcolor=”#985D00″]

Hardware Required

  • Arduino board
  • 8 ohm small speaker
  • 100 ohm resistor
  • hook-up wire


For more detail: Play a Melody using the tone() function with Arduino

Scroll to Top
Scroll to Top