Home About Writings Projects Music Code Photo Links nthpulse.net

< Return to Projects

gnss-zegar - GPS clock with AVR microcontroller

This page is a worklog that documents the development of gnss-zegar (Polish for GNSS clock), a clock project that extracts accurate time from a GNSS receiver chip. The time will be shown on a set of TIL308 displays, and the clock will be driven by an Atmega328 microcontroller programmed in bare-metal AVR C (instead of the Arduino framework) for challenge.

The project name references GNSS instead of the more recognisable GPS because it is a more general term. GNSS (Global Navigation Satellite System) refers to any global positioning satellite constellation, with GPS (Global Positioning System) being the USA's. Some others include the EU's Galileo and China's BeiDou.

Ingredients:

I'm using a NEO-6M GPS receiver as the timebase. These are found on the abundant GY-NEO6MV2 hobbyist module, and I have a few of these with non-counterfeit chips. I have hot-air removed the chip from one of the modules to use in my design.

The time display will be made of these 6 TIL308 displays:

I'm using an Atmega328P microcontroller (in a DIP-28 package) as I have a few waiting for a use. This chip will listen to the output of the GNSS receiver, parse the time, then communicate the digits to be displayed to the TIL308 array.

Page created: 06SEP2025
Last modified: 12OCT2025