It was the middle of December. As my one-year exchange student program was ending, I wished to surprise my advisor, Dr. Amar Basu, and my lab colleagues. So, with a lot of struggling during the 8 month lab period, I designed a trick with a CC2540 keyfob.

I knew there was an alarm function in it, a buzzing sound and a LED light. These were my materials for the special Christmas recipe. My plan was that when my advisor and colleagues clicked the button that was meant to be used on the chip connection, CC2540 would sing instead of just connecting.

That is how I started.

Role: Developer, Desginer, Listener
Date: Dec, 2012


< CC2540 keyfob >

A bluetooth mini chip from Texas Instrument.

< A Score of 'We wish you a merry Christmas' >

For a musical soul, Melody and Rhythm should be correct.


1. Write down each melody and rhythm.
2.Define melody by setting frequency. For instance, 'Re' has a 588 frequency.

3.Define rhythm by setting time and 'For' function from C language. An 8-note (quaver) is 0.5 sec here.

4.Set LED to blink with each melody. This picture is for the first bar with 5 notes.

5.Make it sing if someone clicks the button.

6.Keep calm and enjoy the reaction.


- Their reaction was better than I expected. They did not know that the CC2540 keyfob functions were capable of doing that.
  I said, "Yeah, there are no such functions here. It is a Christmas miracle."

  • - After I saw their happy smiles, I could successfully complete my exchange student program and return to South Korea.


If you want to see the whole code, click here.