Skip to the content
PCBKitNew board
4 layers140 × 100 mmGpsdo, the printed circuit board in 3D

David's Pretty Satisfactory Gps-disciplined Oscillator

Size
140 × 100 mm
Copper layers
4
Thickness
1.6 mm
Parts
161
Nets
124
Pads
698
Tracks, vias
1,563, 371
Pours
5
Routed
Yes
KiCad
KiCad 5 (file 20171130)
Created
8 Apr 2020
Updated
14 Aug 2020

Overview

Gpsdo is an open-source printed circuit board by dpiegdon, from the dpiegdon/dpsgo repository on GitHub. It is a 4-layer board of 140 × 100 mm with 161 parts on 124 nets, routed with 1,563 tracks and 371 vias.

It is built around the ICE40LP384-SG32, 74LVC1G17Z and AD5761RBCP, with the PRTR5V0U2X and LL4148 among its other parts. Its parts include 49 resistors, 48 capacitors, 14 diodes, 12 connectors and 7 ICs. It belongs with the FPGA and CPLD boards of this library.

Main components

5

README

README.md

DPSGO

David's Pretty Satisfactory Gps-disciplined Oscillator

GPS disciplined oscillator

Accurate frequency reference for measurement equipment.

A 10MHz OCXO is tuned to a timing signal of a GPS, e.g. the 1PPS output. A frequency syntheziser then generates different signals from this reference as needed/configured by the user.

Development status

Currently I am working on the firmware for V1 of the PCB. During that I found multiple issues with PCB-V1 (Schematic) which hopefully culminate in another revision of the PCB, and then the firmware. See PCB-V1 ERRATA.

I.e.: usable, but only as a prototype development platform for V2.

The main control loop (OCXO -> frequency comparison -> DAC) works and the OCXO can be tuned to the GPS signal within 1PPB or better.

The chosen tiny FPGA is too small to hold all the logic that was designated for it. Most LEDs are connected to it and cannot be addressed because of that. Currently also the rotary encoder and buttons are connected to it and are usable, but may be removed to have more logic for frequency adjustment. In PCB-V2 I will likely move the UI to the microcontroller, or pick a slightly larger FPGA, e.g. the HX1K.

System components PCB-V1

Schematic.

OCXO: refurbished 8663-XS with 10MHz output

DAC: AD5761R 16bit high quality low speed DAC with internal reference, generates tuning signal for OCXO

GPS: uBlox NEO 7M module with 1PPS output

VCXO: Si5351-C frequency generator for programmable output frequencies

  • CLK0: 90MHz as input for frequency comparison in the FPGA (for automatic tuning)

  • CLK1: 10MHz reference output signal

  • other programmable outputs (currently disabled)

FPGA: Lattice LP384: measures difference between the generated reference output and the GPS reference signal. That information is used to calculate the tuning voltage for the OCXO.

uC: nRF52840 as system- and display-controller

Power input: 14-16V

PMIC: TPS652510 PMIC generating three rails of:

  • 12V: OCXO

  • 3.3V: digital logic

  • 1.2V: FPGA core voltage

Additional LDO for:

  • 10V: DAC output rail (from 12V rail)

Temperature sensors: MCP9808 under OCXO and on bottom-side of PMIC (not visible in photo).

User interface:

  • SSD1306

  • Rotary encoder and buttons (via FPGA)

  • LEDs (currently not addressalbe as FPGA cannot hold more logic)

Interfaces:

  • USB to both GPS receiver and microcontroller

  • potentially Bluetooth or 802.11.5 to microcontroller

  • JTAG/SWD to microcontroller

External references

A list of some hobby GPSDO designs: https://attila.kinali.ch/blog/2016/02/07/gps-disciplined-oscillator

A GPSDO with rubidium standard: http://www.medpants.com/my-reeds/itemlist/category/28-electronics

Alternative OCXO tuning schematic: https://gerrysweeney.com/wp-content/uploads/2013/10/OCXO-Rev-1F.png

"bt7tbl" GPSDO that can be bought on the internets: https://www.eevblog.com/forum/testgear/bg7tbl-gpsdo-master-reference/

Single-chip GPSDO control loop GPSDO: https://www.analog.com/media/en/technical-documentation/application-notes/AN-1002.pdf

"OpenPPS" GPSDO project: http://www.rocketmanrc.com/openpps.html

"Themis" GPSDO from HPSDR: http://openhpsdr.org/wiki/index.php?title=GPSTCXO

GPSDO by dfannin: https://github.com/dfannin/gpsdo

Parts

161
QtyValueFootprintReferences
15100nCapacitor_SMD:C_0402_1005MetricC1, C11, C12, C22, C26, C27, C29, C31, C35, C41, C42, C45, C46, C47, C48
8MountingHoleMountingHole:MountingHole_4.3mm_M4_ISO14580_PadH1, H2, H3, H4, H5, H6, H7, H8
5100KResistor_SMD:R_0402_1005MetricR2, R7, R8, R28, R29
510nCapacitor_SMD:C_0402_1005MetricC28, C30, C32, C34, C43
510uCapacitor_SMD:C_1210_3225MetricC21, C23, C37, C38, C40
547nCapacitor_SMD:C_0402_1005MetricC2, C3, C16, C17, C18
410uCapacitor_SMD:C_0603_1608MetricC19, C20, C33, C39
443KResistor_SMD:R_0402_1005MetricR19, R21, R22, R26
4680Resistor_SMD:R_0402_1005MetricR39, R41, R42, R43
310KResistor_SMD:R_0402_1005MetricR10, R23, R45
31KResistor_SMD:R_0402_1005MetricR9, R13, R14
33KResistor_SMD:R_0603_1608MetricR18, R47, R49
34n7Capacitor_SMD:C_0402_1005MetricC6, C8, C10
350Resistor_SMD:R_0402_1005MetricR11, R12, R44
3DNPCapacitor_SMD:C_0402_1005MetricC13, C14, C36
3FiducialFiducial:Fiducial_1mm_Mask3mmFID1, FID2, FID3
212KResistor_SMD:R_0402_1005MetricR1, R20
21uCapacitor_SMD:C_0603_1608MetricC15, C25
227Resistor_SMD:R_0402_1005MetricR37, R38
2300KResistor_SMD:R_0402_1005MetricR4, R6
2470Resistor_SMD:R_0603_1608MetricR34, R35
24K7Resistor_SMD:R_0402_1005MetricR5, R27
24u7Inductor_SMD:L_7.3x7.3_H4.5L1, L2
274LVC1G17Package_TO_SOT_SMD:SOT-23-5U5, U7
27K5Resistor_SMD:R_0603_1608MetricR46, R48
2MCP9808_MSOPPackage_SO:MSOP-8_3x3mm_P0.65mmU1, U2
2PRTR5V0U2XPackage_TO_SOT_SMD:SOT-143D1, D3
2USB_B_Microdpiegdon:USB_Micro-B_Aliexpress_7.2mm_PitchJ5, J12
10Resistor_SMD:R_0603_1608MetricR30
110KResistor_SMD:R_0603_1608MetricR16
110pCapacitor_SMD:C_0402_1005MetricC44
110uCapacitor_SMD:C_0402_1005MetricC4
112KResistor_SMD:R_0603_1608MetricR33
112pCapacitor_SMD:C_0402_1005MetricC5
113Resistor_SMD:R_0603_1608MetricR36
11K8Resistor_SMD:R_0603_1608MetricR32
11K8Resistor_SMD:R_0402_1005MetricR25
1220uInductor_SMD:L_Vishay_IHLP-1616L3
122pCapacitor_SMD:C_0402_1005MetricC9
132768Crystal:Crystal_SMD_3215-2Pin_3.2x1.5mmY1
143KResistor_SMD:R_0603_1608MetricR17
1470Resistor_SMD:R_0402_1005MetricR31
14K7Resistor_SMD:R_0603_1608MetricR15
14u7Capacitor_SMD:C_0603_1608MetricC24
17K5Resistor_SMD:R_0402_1005MetricR3
182Resistor_SMD:R_0603_1608MetricR24
182pCapacitor_SMD:C_0402_1005MetricC7
18663-XSdpiegdon:OCXO-8662-8663Y2
1AD5761RPackage_SO:TSSOP-16_4.4x5mm_P0.65mmU9
1ANT_PWRJumper:SolderJumper-3_P1.3mm_Open_RoundedPad1.0x1.5mmJP1
1Antenna_Shielddpiegdon:Antenna-GPS-1575RAE1
1CLK0Connector_Coaxial:SMA_Molex_73251-1153_EdgeMount_HorizontalJ10
1CLK1Connector_Coaxial:SMA_Molex_73251-1153_EdgeMount_HorizontalJ9
1CLK2Connector_Coaxial:SMA_Molex_73251-1153_EdgeMount_HorizontalJ8
1CLK3Connector_Coaxial:SMA_Molex_73251-1153_EdgeMount_HorizontalJ6
1CLK4Connector_Coaxial:SMA_Molex_73251-1153_EdgeMount_HorizontalJ15
1CLK5Connector_Coaxial:SMA_Molex_73251-1153_EdgeMount_HorizontalJ14
1CLK6Connector_Coaxial:SMA_Molex_73251-1153_EdgeMount_HorizontalJ13
1CLK7Connector_Coaxial:SMA_Molex_73251-1153_EdgeMount_HorizontalJ11
1DNPResistor_SMD:R_0402_1005MetricR40
1DNPInductor_SMD:L_0805_2012MetricL4
1E73-2G4M08S1C-52840dpiegdon:E73-2G4M80S1CM1
1EC11Rotary_Encoder:RotaryEncoder_Alps_EC11E-Switch_Vertical_H20mmSW1
1EXT_CLOCKConnector_Coaxial:U.FL_Molex_MCRF_73412-0110_VerticalJ3
1GREENDiode_SMD:D_0603_1608MetricD15
1ICE40LP384-SG32Package_DFN_QFN:QFN-32-1EP_5x5mm_P0.5mm_EP3.6x3.6mmIC1
1JTAGConnector_PinHeader_1.27mm:PinHeader_2x05_P1.27mm_Vertical_SMDJ1
1LL4148Diode_SMD:D_MiniMELFD16
1LT1763xS8Package_SO:SO-8_3.9x4.9mm_P1.27mmU4
1MCML4-112Bdpiegdon:MCML4-LSW2
1OUT0Diode_SMD:D_0603_1608MetricD4
1OUT1Diode_SMD:D_0603_1608MetricD5
1OUT2Diode_SMD:D_0603_1608MetricD6
1OUT3Diode_SMD:D_0603_1608MetricD7
1OUT4Diode_SMD:D_0603_1608MetricD8
1OUT5Diode_SMD:D_0603_1608MetricD9
1OUT6Diode_SMD:D_0603_1608MetricD10
1OUT7Diode_SMD:D_0603_1608MetricD11
1REDDiode_SMD:D_0603_1608MetricD14
1REDDiode_SMD:D_1206_3216MetricD2

The 152 most common of 161 parts.

Questions

How big is the Gpsdo PCB?

It measures 140 × 100 mm and has 4 copper layers, 1.6 mm thick.

What parts does the Gpsdo use?

161 parts, built around the ICE40LP384-SG32, 74LVC1G17Z, AD5761RBCP and PRTR5V0U2X. 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 dpiegdon/dpsgo repository on GitHub, at the commit this page was made from: the board is 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 dpiegdon before reusing the design.

Similar boards

  • 2 layers54.1 × 23.5 mmUart384, the printed circuit board in 3D

    Uart384

    dpiegdon/uart384

    USB-based mini-devboard for the Lattice iCE40LP384 FPGA

    52 parts
  • 2 layersVCO, the printed circuit board in 3D

    VCO

    ppff/LGGHP-Analog-Synth-PCB

    LGGHP Corp.

    21 parts
  • 4 layers30 × 15 mmICEBATS384, the printed circuit board in 3D

    ICEBATS384

    Shillelagh1/ICEBATS384

    Experimental small ICE40LP384 FPGA Board

    36 partsGPL-3.0
  • 2 layers50 × 50 mmSDP, the printed circuit board in 3D

    SDP

    TheAnnoyingProgrammer/Low-Cost-FPGA-and-Logic-Design-Tool

    29 parts
  • 2 layers50.8 × 20.3 mmPmod logic lp384, the printed circuit board in 3D

    Pmod logic lp384

    Agilack/pmod

    This repository holds multiple PMOD modules projects

    22 parts10
  • 2 layers173.5 × 85 mmWhitterm hat, the printed circuit board in 3D

    Whitterm hat

    tuna-f1sh/whitterm-wt220

    Design files, firmware and linux scripts for my /clever/ serial terminal, the Whitterm-220 - WT-220.

    208 parts4GPL-3.0
  • 4 layers40 × 50 mmPcb m, the printed circuit board in 3D

    Pcb m

    perigoso/wmo-remastered

    Replacement PCB for the classic WMO (Wheel mouse Optical) by Mcrosoft

    42 parts1
  • 2 layers75 × 50 mmOpeneew openeew sensor pcb, the printed circuit board in 3D

    Openeew openeew sensor pcb

    punkfab/pcb-corpus

    235 real KiCad boards from open-source hardware repositories, prepared as a placement and routing benchmark

    104 parts1