Hello,
I have been following the thread by the late Lars about his inspirational DIY Arduino GPSDO project. And I checked the dozen or so GPSDO projects published on the net.
Then I decided to join the party and design and build my own.
I didn't quite know what I was getting into, but after a couple of months waiting for the parts to come from China, and then another couple of months writing the firmware, I have a working, blinking, timekeeping and happily and precisely oscillating GPSDO.
The main differences with Lars' design are:
- Modular and as much as possible, follows the K.I.S.S. design rule.
- It's based on an inexpensive yet powerful 32-bit STM32F411 MCU development board, the WeAct Black Pill running at 100MHz.
- It uses a digital FLL, not a digital/analog PLL.
New! It can also use a PLL, see post #131 on page 6 in this thread.
- It can be put together on a breadboard in one afternoon (provided one has all the parts).
- It works practically "out of the box". There is nothing to adjust.
- It has an optional small OLED display.
- It has an optional BMP280 atmospheric pressure and temperature sensor.
- It has an optional AHT10 temperature and humidity sensor.
Note: for new builds, the drop-in compatible AHT20 replaces the AHT10, same cost, slightly better accuracy.
-
New! It has an optional INA219 current/voltage sensor to monitor the power consumption of the OCXO.
- It has an optional Bluetooth interface, so you can control it from your smartphone.
-
New! It has an optional "Atomic Clock" display in big bright red, green or blue LED digits using a TM1637 display module, with the classic 1Hz blinking colon!
-
New! Optional UTC-aligned 1PPS output
using a picDIV. http://www.leapsecond.com/pic/picdiv.htm- The BOM is very short and all the bits and pieces are easy to find and order.
- Total cost is around
30€ 40€ (that's around US
$35 $45) for the stripped-down version, <
50€ 60€ with all the bells and whistles. Note: as of March 2022, with the recent semiconductor shortage and rising prices of components, the total cost has increased correspondingly.
Like with Lars' design, any OCXO, DOCXO or even rubidium frequency standard can be used, but the recommended oscillator is an inexpensive used square wave 10MHz 5V OCXO, which is what I am using in the breadboard prototype. These OCXOs are available from various sources on the net, recycled from decommissioned telecom equipment and sometimes still soldered onto a piece of PCB, for around 10€ or less (< US $12). The OCXO is the most expensive part in this GPSDO.
The second most expensive part is the GPS receiver module. I strongly recommend a
u-blox Neo-M8 GPS module with an SMA antenna connector. With a u-blox Neo-M8, I am still getting 5~9 satellites even indoors in my basement
cave lab. The much cheaper Neo-M6 struggles to get a fix in the same conditions.
The
open source code in C/C++ (the firmware for the MCU when compiled) and documentation are available on GitHub, here:
https://github.com/AndrewBCN/STM32-GPSDOHere is the BOM:
https://docs.google.com/spreadsheets/d/1BZbZeLiag-d61XXe9ATuPoSe3eMOxMuYYZ0WjF3BLuA/edit?usp=sharing (updated in March 2022)New! I posted the latest KiCad
schematic revision 0.7.1 (three sheets PDF file) in
post #723, page 29 in this thread. A PCB design is in the works and will be available ASAP.