Design & Build a GPS locked Frequency Reference Standard – Part 1

In this project we will design and build a 10MHz GPS locked frequency standard with additional outputs of 1MHz, 100KHz, 10KHz, 1KHz and 100Hz. The output frequency will also be present even when no satellite lock is available but will be free running. We will use a Arduino Nano and LCD display to indicate if the frequency output is locked or unlocked. A ublox Neo-7M GPS module will be used and you will need to download a free software program from ublox to carry out the configuration of the GPS unit.

Ublox software can be downloaded from the link below:…

Additional Arduino library required for this project if you don’t have it installed:
TinyGPS.h (

Arduino Software Code for this project can be downloaded from the link below:…

  • Parts required for Part 1 of this project below:
  • 1 x GPS NEO-7M Module (if a NEO-7N is purchased you do not need a back-up battery)
  • 1 x Arduino Nano module
  • 1 x 78L05 – 5 volt regulator
  • 1 x 16×2 LCD display
  • 1 x 74AC14 (or 74HC14)
  • 3 x 74HC390
  • 1 x 14 pin DIL IC socket
  • 3 x 16 pin DIL IC sockets
  • 1 x 5mm Green LED (low current if possible)
  • 1 x IN4148 diode
  • 1 x 470uF capacitor
  • 1 x 100uF capacitor
  • 7 x 100nF capacitors
  • 1 x 10nF capacitor
  • 2 x 100 ohm resistors
  • 1 x 220 ohm resistor
  • 1 x 120 ohm resistor
  • 1 x Battery Holder/Snap On Connector for 6 AA 1.5 volt batteries
  • 6 x 1.5 volt batteries
  • 1 x CR2032 (3 volt lithium battery)

3 thoughts to “Design & Build a GPS locked Frequency Reference Standard – Part 1”

  1. Hello Louis.
    I now know that I have bought the wrong Module (6M)!
    Even so I enjoyed your presentation. For what little it may be worth, I think that it was superbly done.

  2. Hello again Louis,
    So I bought a couple of 7M modules, and a couple of Nanos, but unfortunately I have had to abandon the project. The electronics are simple enough, (thanks to integration!) but the software is impossible!
    No matter how many copies of TinyGPS.h I sprinkle in likely places the Arduino IDE refuses to find any of them. All my programming has been in assembly language (X86 or PIC). I don’t like slow, bulky “high level” languages,and it is far to late in life to start learning what I think is C. The Arduino error messages are simply beyond my understanding.

Leave a Reply

Your email address will not be published. Required fields are marked *