It's a musical desktop alarm clock with a theme of well-known MARIO game. Actually I like to wake up with the Mario theme instead of my cellphone. Also the LEDs (color tubes) blinking make it more beautiful.


- Display of Time, Date, Temperature

- Mario image and music on startup theme and alarm time

- Adjustable time, date, alarm

Used parts:

- 1x Arduino ProMini 5v

- 1x Nokia 5110 LCD

- 1x DS1307 module (real-time clock)

- 1x Speaker/Buzzer

- 1x DS18b20 Temp sensor

- 1x Electronic board

- 4x LED (different colors)

- 4x Push button

- 4x Resistor 220 (for LEDs)

- 5x Resistor 1K (4x for buttons, 1x for Temp sensor)

- 1x Hot glue stick (tube) which cut into 4 pieces 2x 6cm and 2x 8cm

- 8x metal rings and cylinders (I used Ferrite beads salvaged from my old printers)

- 1x Plastic box

- 5x mini battery, or 4x AA battery

- Tools: Hot-glue gun, soldering iron, pliers, some wires, ...

Step 1: Make a Desktop Clock Box

If you want to use it as a real desktop clock, so find a pretty box. I've used the soldering iron to melt the box and making holes for pushh buttons and the lcd.

Step 2: Make the Circuit

Attach the push buttons and resistors on the board. Fit the board in the box via hot-glue. Connect the LEDs under the glue tubes. Use the solderig iron to make a propper hole inside the tubes. Fit the parts like as temp sensor, rtc, batteries and others inside the box via hot-glue.

Step 3: Arduino Code

I've made a few images (Mario splash screen, Mario jump, Temperature icon, Alarm icon) with MSPaint which can be converted to binary data via LCDAssistant. All the coed is attached.

I think the code is enough plain and simple but, the following code hints can be helpful.


- NokiaFa5110: Nokia LCD driver class.

- Util: Bitmap images.

- DS1307RTC, Time: Used for date time module.

- Wire, OneWire, DallasTemperature: Used for temperature sensor.

- EEPROM, avr/pgmspace: To use the EEPROM memory.

- Narcoleptic: A handy class to lower the battery usage via stand by delays.


- A main switch-case and state variable used to handle the different menus and program states.

- The EEPROM memory has used to save the adjusted date and time variables.

- I've tried to partially refresh the LCD when the time, date or temp will change. The LCD is most battery consuming part.

- Narcoleptic class make it easy to lower the Arduino board battery usage, when there is no job to do (delay).

Is there any working video
<p>what pin does the 5110 led go to is it just grounded or does it have a pin to flash or turn off etc</p>
<p>Thanks,its all done now,it works a treat,now all you need to do is try a nice oled display.</p>
The pin outs are in the sketch file.<br>Pins 8, 12, 13 have used for menu buttons. The fourth button is a direct reset signal which not depend on sketch code.<br>For the sensors it's better to use their manual. I'm sorry that I couldn't draw circuit when the project was done.
<p>do i tie buttons to ground or 3v sink or source? the speaker doesnt matter that works eather way round,i love how arduino auto does that.</p>
I used the IDE 1.5.2 to compile the project.<br>Copy any lib to libraries folder of Arduino installation path.<br>Libs with &quot;&quot; (double quote) are located in sketch folder.<br>Narcoleptic is not necessary, if you have any problem with it. It's just to save battery.<br>Have fun
<p>the only way i get it to compile is to delete this line -</p><p> Narcoleptic.delay(300);</p>
<p>Hi now i get narcoleptic was not declaired in this scope,also where does the util.h file go?do i put it in the mario sketch folder?we will get there,its best to try sort it so other people dont get the same problem,thanks</p>
<p>Also witch ide version was this compiled on?</p>
<p>Great project,although half the librarys are missing,I cant get it to compile,theres endless errors,</p><p>Narcoleptic gives error,ive added a library for it but its probly the wrong one,would be great if you could attach all files so we can comile the code,Ive built the clock, its a shame to wast it due to code,thanks for any help.</p>
<p>Ok, All the libs, added!</p>
ohhhh great stuff,thanks,cant wait to see it running, happy man now,the clock is for my little lad.
<p>Nice project, thanks for sharing!</p>

About This Instructable




Bio: Programmer, Arduino Fan
More by m-shams:Arduino Mario Clock Arduino, Mini Sonar Robot Arduino CDROM BLDC Motor Driver, Enhanced Performance 
Add instructable to: