NTP Alarm Clock (wifi)

Who has done an LCD alarm clock before?

why i ask is that i got an idea for an NTP (Network Time Protocol) alarm clock,

gps is a no go in my flat, have tried it many times and even just next to the window glass gps reception is very poor to be modest, but my wifi inside the flat is near 100% everywhere.

i have figured that hardware part roughly:

Arduino board Wifi Shield Lipo OR NiMh battery pack Pizo speaker LCD Display (could go auto off during the night to save power - ie when solar cell are not giving enough charge) 3 Push Buttons (to set the alarm time - hold one down and use the other 2 to go up or down, fast tap the first one to turn alarm on or off, maybe 2 fast taps to go from alarm1 to alarm 2 and then hold to set alarm 2) 1 Transistor (to control charging) Solar Cell Small Transparent Case

Anyone have an idea on how a sketch would look like?

Anyone have an idea on how a sketch would look like?

It would have a setup() function, a loop() function, and some other functions. It would include the WiFi library appropriate for you shield. It would include the LCD library appropriate for your shield.

One of the functions would get called when the set switch transitioned to pressed. The function would poll all three switches. It would set the alarm time when the set switch transitioned to released, and would determine what that alarm time would be as the other switches transitioned, or didn't.

It would include some code to get the time from the NTP server. That can not be the only source of time keeping, though. If you poll the NTP server too often, it will start rejecting your requests. Something like every 15 minutes would be often enough.

once every hour would also make do for me...

My problem is that my programming skills are limited to hack together code from other peoples projects and i have yet to find one that gets time from a NTP server... might be that i did not do a long enough search

might be that i did not do a long enough search

Given that there is an example in the Learning section, I think you're right.

cant even find that....

found