Time can be calculated using the azimuth of the sun (aka solar time). Based on this idea, Tinkerman has built an unusual project called Solr. The concept is to translate the position of the sun into time presented on a vintage display. This new digital watch is freak enough to work only with a battery and the sun. The battery is needed to power the electronic parts and the sun is needed to calibrate the shadow of a screw with a reference line to calculate the time digitally using a digital compass.
The PCB has a white line and all you have to do is to align the shadow of the screw to it. The science behind this project rely on the fact that a change of 1 degree in longitude equals to 4 minutes. So, as the day is passing the orientation you need to follow to make the shadow align with the white line increases and therefore the time can be calculated. HMC5883L ( 3-axis digital magnetometer) is used to determine the orientation. This chunk of code in Solr’s repo makes the method used to calculate the time very clear.
The firmware (written in Arduino C) behind this project has three main tasks:
- Calibrating the HMC5883L, and the calibration procedure is explained in the HMC5883L datasheet.
- Calculate the time according to the bearing of the circuit.
- Display on HP QDSP-6064 display.
The PCB is assembled using the assembling service (PCBA) from Seeedstudio and designed using Eagle CAD. You can download the source files from here.