LED Alarm Clock

Introduction: LED Alarm Clock

In this instructable, I will show you how to use an LED strip and the linkit one board to make a subtle alarm clock. I find that most alarm clocks are annoying and startling. This project uses light to wake you up, so you can put the LEDs on a nightstand. It also uses GPS to keep accurate time. I cannot guarantee that this will wake everyone up, though the flashing lights do light up a dark room.

Step 1: Parts and Tools

Here are the parts and tools that you will need to make this project:


Linkit ONE board with GPS antenna

12v LED strip and power supply

2n2222a NPN transistor

5v Relay

1k Ohm resistor



Computer with latest version of the Arduino IDE and linkit ONE drivers

Soldering iron and solder

Hot glue and hot glue gun

Step 2: Wiring

Follow the simple circuit diagram above to wire everything together.

You will also need to plug in the GPS antenna. To do so, flip the linkit one board over and plug the uFL connector on the antenna onto the pin that says "GPS ant".

Step 3: Add LED Strip

Now that the power adaptor can be controlled from the relay, plug in the LED strip into the connector that is attached to the power adaptor. The linkit one can't change the colour of the LED's, so use the included remote to choose what colour you want. I chose white.

Step 4: Mount Components

Start by removing the tape on the back of the LED strip, so that the adhesive is useable. Then, place the LED strip to the top of a nightstand. After the LED strip is placed, use hot glue to mount the Linkit ONE, power supply and the relay to the side of the night stand.

Step 5: Code

Download the attached Arduino sketch. Then, open it in the Arduino IDE and press upload. If you find that the time is off, look up "UTC time to:" then your timezone.

" if(hour <= 8){
hour = (GPGGAstr[tmp + 0] - '0') * 10 + (GPGGAstr[tmp + 1] - '0' + 4 );

} else{hour = (GPGGAstr[tmp + 0] - '0') * 10 + (GPGGAstr[tmp + 1] - '0' - 8); // -8 is converting UTC to Vancouver Time }"

Change the if and else lines to your time zone accordingly. I live in the Vancouver time zone, so the offset is 8 hours. The "+4" is used when the UTC time is before 8:00. This is because if you subtracted 8 from a number smaller than 8, it would show negative numbers. Simple math.

How to set Time: In the first few lines of code, you will see "int timeHour" and "int timeMinute". Change "timeHour" to the hour that you want to wake up, while the "timeMinute" to the minute that you want to wake up at.

Step 6: Done!

Congratulations! You have completed this instructable. If you liked this instructable, please comment or check out my other instructables.

Be the First to Share


    • Stone Concrete Cement Contest

      Stone Concrete Cement Contest
    • Colors of the Rainbow Contest

      Colors of the Rainbow Contest
    • Tinkercad to Fusion 360 Challenge

      Tinkercad to Fusion 360 Challenge