How to Easily Play Music With Buzzer on Arduino (The Imperial March - STAR WARS)




Introduction: How to Easily Play Music With Buzzer on Arduino (The Imperial March - STAR WARS)

Hi,I recently designed a sort of "library" in order to make easier to play exact notes on arduino with the buzzer.
I included the frequencies of the notes (pleasant to be heard) with #defines .
I then defined the value of the BPM ( you can modify it obviously) and according to that I defined the note values
( the most commonly used ones).
With this defines you can easyly play a note with the command "tone" like this:
tone(pin, note, duration)

the delay is important because thanks to that the note doesn't overlap possibly with the successive ones.
(the "1+" is one extra millisecond that i usually put to separate notes but you can avoid it if you prefer the notes to be continuous.

Here is the code:

Step 1: Example: the Imperial March

With a lot of effort I did it!
I wrote the code for the first part of the imperial march... so cool !

The Imperial March

and a video that I made:

Step 2: Well Done !

Now is your turn , make your arduino "whistle" all kinds of songs!
Hope you enjoyed this instructable !

6 People Made This Project!


  • Metalworking Contest

    Metalworking Contest
  • Tiny Home Contest

    Tiny Home Contest
  • Water Contest

    Water Contest

30 Discussions

hey Nurullah, how did u connect buzzer with lcd & what was the code?

Please help...

Thank You


1 year ago



1 year ago


thank you so much! now i so excited

its 2016 almost 2017 now. the current version of the arduino ide is not compatible with the code. what version of the ide are you using

Thanks! Work perfect!! Im happy now hahahaa

Thank you very much for this tutorial! It helped me to build my own tone system (which is fully compatible with millis), using yours as reference.

Excellent! Thanks for the nice job, it gave me an excellent Friday night! ;)

Thanks. I am trying this. Just a humble suggestions, if a name of buzzer pin is used instead of 8 at all places, it would be easier to change buzzer pin. (using find and replace to do so). Thanks for sharing.

Thanks man, that is awesome!!!

Thanks dude, pretty good library!!!

Yes it works on Arduino, just made this!

does it work on the arduino UNO?

Thank you man. This is so funny and simple.

This is freaking awesome!

Nice. However, if your code used a variable (or constant) for the buzzer pins, it would be a LOT easier to reuse in slightly different setups. For example the Sparkfun Protosnap comes with buzzer prewired on Pin2.

This is good coding practice - "Avoid Magic Numbers"