Каждый спутник GPS имеет на борту прецизионные атомные часы.
Если в пакете информации, полученной со спутника, выделить сигнал даты и точного времени, а затем вывести данные на экран - получим часы, неспособные ошибиться.
Сигнал с модуля GPS принимается микроконтроллером Arduino, который из общего пакета данных выделяет только интересующую нас информацию и выводит ее на дисплей.
Нетрудно добавить к программе несколько программируемых "будильников", при срабатывании которых в определенное время будут включаться внешние устройства.
Можно установить срабатывание будильника не только в определенное время, но задать любую дату - даже на несколько лет вперед.
Такие часы эффективно использовать в качестве базовых для синхронизации вторичных часов-индикаторов в общественных зданиях, с их помощью можно управлять радиомаяками и различными схемами автоматики.
http://circuitdigest.com/microcontroller-projects/arduino-gps-clock