A2F_TestThe solar compass presented here is a navigational tool, which helps in finding directions through the position of sun in the sky as reference. This solar compass is not influenced by magnetism, unlike a regular magnetic compass.

The position of sun in the sky depends on your location on Earth, the time of day and the time of year. Therefore complete modelling of the sun’s angle to a fixed position on Earth requires the latitude, longitude, day of the year and time of day. We can use this modelling to find the position of sun in the sky in terms of elevation and azimuth angles and find out true North through it. All these parameters are shown on an organic light emitting diode (OLED) module. It also shows the real date and time.

Fig. 1: Author’s prototype

Circuit and working

Fig. 2 shows the circuit of solar compass with OLED display. It comprises microcontroller ATmega8L (IC2), RTC DS1307 (IC3), adjustable voltage regulator LM317 (IC4), 128×64 OLED display, voltage regulator 7805 (IC1) and a few discrete components.

Microcontroller. The ATmega8L is a low-power, high-performance, 8-bit RISC microcontroller. It features 8 kB of in-system programmable Flash, 1 kB of SRAM, 512-byte EEPROM, 23 input/output lines, watchdog timer, three flexible timers/counters with compare modes, serial USART, and a 6-channel ADC with 10-bit accuracy.

Fig. 2: Circuit of solar compass with OLED display
Fig. 2: Circuit of solar compass with OLED display


Real time clock chip. DS1307 is a serial RTC chip with calendar function. It incorporates 56 bytes of non-volatile RAM. Data and address are transferred serially through I2C bi-directional bus, which obviates the need for a large number of interface lines. In this chip, the clock operates in either 24-hour or 12-hour format with AM/PM indication.

In calendar mode, end of the month is automatically adjusted with less-than-31-days and leap-year compensations. Clock pulse to the RTC is provided by a 32.768kHz crystal. Using SCL and SDA lines, the microcontroller can read and write data from/to the memory of the RTC chip.


Please enter your comment!
Please enter your name here