Originally an art project, this endeavor has evolved into an educational exploration of low-power devices. The concept is simple: using modern off-the-shelf components, create a device that functions like an ancient sundial - displaying the time only when exposed to direct sunlight, and showing nothing otherwise. GPS provides the time reference, and since most GPS modules operate at 1Hz, the project was submitted to the One Hertz Challenge.
Files
00_naive.ino
An exploratory implementation of the GPS Sundial concept, designed to assess feasibility without optimization. It uses raw GPS data transmitted via USB serial for debugging and displays the current time on an LCD shield once sufficient GPS data is acquired.
Assemble the Sundial by stacking an LCD1602 and a Neo-6M GPS shield onto an Arduino UNO. Confirm that the GPS shield’s RX and TX pins are connected to Arduino’s D2 and D3; adjust the gpsSerial object in code if needed.
2
Upload the sketch
Upload the 00_naive.ino sketch to the Arduino.
3
Verify GPS is working
While the Sundial remains connected to your computer, open the Serial Monitor in the Arduino IDE and verify that raw GPS sentences appear approximately once per second.