

Gpsdo
Work for my fourth year project
- Size
- 80 × 50 mm
- Copper layers
- 2
- Thickness
- 1.6 mm
- Parts
- 64
- Nets
- 84
- Pads
- 258
- Tracks, vias
- 454, 260
- Pours
- 2
- Routed
- Yes
- KiCad
- KiCad 5 (file 20171130)
- Created
- 3 Oct 2018
- Updated
- 28 Sep 2018
Overview
Gpsdo is an open-source printed circuit board by 9a4db, from the 9a4db/iib-project repository on GitHub. It is a 2-layer board of 80 × 50 mm with 64 parts on 84 nets, routed with 454 tracks and 260 vias.
It is built around the MAX-M8Q-0, CS2100-CP-CZZ and NC7SZ04M5. Its parts include 27 capacitors, 9 resistors, 7 ICs, 7 connectors and 6 diodes. It belongs with the STM32 boards of this library.
Main components
3MAX-M8Q-0
SMD-18P-167dBm -40℃~+85℃ 2.7V~3.6V GPS、BeiDou、Galileo、GLONASS UART、I2C SMD-18P GNSS Modules ROHSu-bloxGNSS ModulesCS2100-CP-CZZ
MSOP-10-10℃~+70℃ 1 3.1V~3.5V 70ps 75MHz External I2C MSOP-10 Clock Generators, PLLs, Frequency Synthesizers ROHSCirrus LogicClock Generators, PLLs, Frequency SynthesizersNC7SZ04M5
SOT-23-5-40℃~+85℃ 1 1.65V~5.5V 2uA 32mA 32mA 4.3ns@5V,50pF Power shutdown protection SOT-23-5 Inverters ROHSonsemiInverters
README
README.mdMatt's 4th Year Project
GPSDO
This contains the design files and firmware for a GPS disciplined oscillator. It combines the frequency reference from a Ublox MAX-M8Q GPS module with a low jitter timing reference to create a very stable and accurate user defined frequency reference. There are two identical buffered clock outputs as well as a 1Hz PPS. The PPS output is used as a timing reference for synchronizing the output streams of multiple independent SDRs. There is also a command line application to view the status of the GPS and PLL live.
Lime-SDR
This folder contains various resources such as the modified gateware running on the Lime Mini's MAX10 FPGA, the design files for a small PCB to break the 0.1" header on the Lime Mini out to an SMA connector, and a setup guide.
Software
This folder contains some prototype applications written in C++ that make use of the LimeSuite LMS API.
pps_rx_sync
This program produces an output file each second that contains a header followed by a buffer of interleaved IQ samples in int16_t format. The header specifies the index of the first sample in the buffer and the index of the sample corresponding to the PPS trigger event as well as a unix timestamp for the file.
pps_tx_sync
This program transmitts a buffer of samples once per second, with the transmission occuring a predefined number of samples after the PPS event. Assuming there is some external loopback path the program also records the TX event and writes this out to file, along with the relevant metadata.
tx_testing
This program demonstrates how to succesfully specify at what sample the transmission of a buffer should occur, and how to the record the transmission in order to verify when it occured, which initially proved problematic!
Parts
64| Qty | Value | Footprint | References |
|---|---|---|---|
| 9 | 100n | agg:0603-L | C4, C6, C9, C11, C13, C14, C15, C20, C21 |
| 5 | 1u | agg:0603-L | C1, C12, C17, C23, C25 |
| 5 | TESTPAD | agg:TESTPAD | TP1, TP2, TP3, TP4, TP5 |
| 4 | ESD_DIODE | agg:0402-L | D1, D2, D3, D4 |
| 4 | SMA | agg:SMA-EDGE | P2, P3, P4, P5 |
| 2 | 100n | agg:0402 | C2, C27 |
| 2 | 10K | agg:0603-L | R2, R4 |
| 2 | 10n | agg:0603-L | C10, C24 |
| 2 | 10p | agg:0402 | C3, C5 |
| 2 | 120 | agg:0603-L | R7, R8 |
| 2 | 1n | agg:0603-L | C18, C19 |
| 2 | 1u | agg:0402 | C22, C26 |
| 2 | 2u2 | agg:0603-L | C7, C8 |
| 2 | ADP3335 | agg:MSOP-8 | IC1, IC6 |
| 2 | LED | agg:0603-LED | D5, D6 |
| 1 | 10 | agg:0402 | R6 |
| 1 | 100 | agg:0402 | R1 |
| 1 | 110k | agg:0402 | R5 |
| 1 | 1K | agg:0603-L | R9 |
| 1 | 1M | agg:0603-L | R3 |
| 1 | 26M | agg:XTAL-20x16 | Y1 |
| 1 | 26M TCXO | agg:XTAL-25x20 | Y2 |
| 1 | 27nH | agg:0402 | L1 |
| 1 | 4u7 | agg:0603 | C16 |
| 1 | CS2100-CP | agg:MSOP-10 | IC4 |
| 1 | LED | agg:SIL-254P-02 | J1 |
| 1 | MAX-M8Q | agg:MAX-M8Q | IC5 |
| 1 | NC7SZ04 | agg:SOT-23-5 | IC3 |
| 1 | NCP380 | agg:DFN-6-EP-ONSEMI | IC7 |
| 1 | STM32F405RxTx | agg:LQFP-64 | IC2 |
| 1 | SWD_TC | agg:TC2030-NL | P1 |
| 1 | USB-B | agg:USB-B-SKT | P6 |
More from 9a4db/iib-project
1- 2 layers14 × 9.5 mm

Similar boards
- 2 layers100 × 100 mm

- 2 layers240 × 194 mm

Infinitas
freeDSP/freeDSP-INFINITAS
USB Audio Class 2 compliant audio interface with up to 32 input and up to 32 output channels and optional ADAU1452 DSP.
1,020 parts35 - 4 layers48.8 × 20 mm

- 4 layers51.6 × 56 mm

LoRa STM32 Board
collins-emasi/KiCAD-PROJECTS-PCB
In this repository, I will be sharing some of the project I'm working on with KiCAD software.
85 parts1 - 2 layers50 × 66 mm

- 4 layers142.1 × 143 mm

Flipper black ki cad
Broccoliux/Black-Flipper
A device that out smart Flipper Zero in every aspect.
216 parts7 - 4 layers57 × 74.3 mm

CM4
ybabs/H745FCS
Quadcopter Flight Controller based on the dual core STM32H745 Microcontroller
101 parts6 - 2 layers44.8 × 47.8 mm

Questions
How big is the Gpsdo PCB?
It measures 80 × 50 mm and has 2 copper layers, 1.6 mm thick.
What parts does the Gpsdo use?
64 parts, built around the MAX-M8Q-0, CS2100-CP-CZZ and NC7SZ04M5. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.
Where can I download the Gpsdo KiCad files?
From the 9a4db/iib-project repository on GitHub, at the commit this page was made from: the board is gpsdo/pcb/gpsdo.kicad_pcb. PCBKit opens the board in the browser, with nothing to install.
Can I use the Gpsdo design in my own project?
Its repository states no licence, so its author keeps all rights: ask 9a4db before reusing the design.