Open source SDR + COTS GPS board provides I and Q data plus COTS binary data over Ethernet.
Python
Switch branches/tags
Nothing to show
Clone or download
Pull request Compare This branch is 122 commits ahead, 3 commits behind wickerbox:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
GPS-USB_Front_End_Board Re-add the mounting holes. Aug 2, 2018
board-test Create README.md May 18, 2015
build-notes Adding notes for the state of each board Jun 29, 2015
libraries We broke oshpark! So we generated gerbers. Also, glad we did, because… Apr 1, 2015
media Added block diagram pic Jan 6, 2016
poster Adding references. Jul 21, 2013
pubs Added Venus 8 AN30 Jul 8, 2015
v3-gps.cam We broke oshpark! So we generated gerbers. Also, glad we did, because… Apr 1, 2015
venus Set up a working Venus 8 configuration. Jul 13, 2015
.gitignore Fresh libraries export. Sent email to Andrew with notes. Feb 9, 2014
MAX2769-register-settings.mdwn Added link to the MAX2769 google doc, as well as renamed things to be… Mar 2, 2015
OSHPark-4layer.cam We broke oshpark! So we generated gerbers. Also, glad we did, because… Apr 1, 2015
V1 GPS Filter and LNA Test Board.brd Added Test Board Mar 4, 2015
V1 GPS Filter and LNA Test Board.sch Added Test Board Mar 4, 2015
component-values.mdwn The start of better documentation. Apr 29, 2015
mfg-and-test-log.mdwn Updated Schematic and BOM with problems, wrong values, etc. Jun 10, 2015
readme.mdwn Fix table formatting in README Jan 6, 2016
v1-bom.ods Added link to the MAX2769 google doc, as well as renamed things to be… Mar 2, 2015
v1-rf-frontend-board.brd Changed name scheme for ease of reading. Apr 7, 2013
v1-rf-frontend-board.sch Changed name scheme for ease of reading. Apr 7, 2013
v2-rf-frontend-board-bom.xls OK now it's really done. tnames cleaned up more, ERC and DRC gone ove… Mar 28, 2015
v2-rf-frontend-board.brd Moved values on top of pads for easy stuffing Aug 24, 2014
v2-rf-frontend-board.sch Moved values on top of pads for easy stuffing Aug 24, 2014
v3-gps.brd Updated Schematic and BOM with problems, wrong values, etc. Jun 10, 2015
v3-gps.pdf Widended interface between digital and RF sections, added spacing to … Apr 1, 2015
v3-gps.sch Updated Schematic and BOM with problems, wrong values, etc. Jun 10, 2015
v3-gps.xlsx Updated Schematic and BOM with problems, wrong values, etc. Jun 10, 2015

readme.mdwn

Open Source GPS RF Front-end Board

Author: Jenner Hanni and Andrew Greenberg

Institution: The Portland State Aerospace Society (http://psas.pdx.edu/) and Portland State University (http://www.pdx.edu/)

License: BSD "3 clause" license.

What

This is a bit of an odd GPS receiver board. It has a lot of weird features:

  1. It takes 4.5 - 20 V power in.
  2. It has a hopefully good RF front end which expects a passive GPS antenna. It has a SAW filter to reject noise, followed nice GPS LNA, followed by an IC splitter to split the signal into two ICs:
    1. IC 1 is a software defined radio (SDR) GPS receiver based on the Maxim MAX2769 GPS RF front-end. The MAX2769 downconverts the 1.57542 GHz carrier and then samples the GPS signals using 2 bit I and 2 bit Q sampling at4 Msps. This data flows in parallel out to a CPLD which turns it into valid SPI data, which is eventually sent to the local STM32F4xx microcontroller.
    2. IC 2 is a commercial off-the-shelf (COTS) GPS receiver IC SkyTraq called the Venus838. The Venus was supposed to have allowed us to get position updates via binary messages over UART to the STM32F4xx microcontroller. Unfortunately, the results were pretty much garbage (see data analysis below).
  3. The STM32F4xx grabs both of these data streams and writes them to the onboard uSD and/or streams them over Ethernet to the flight computer.

Here's a block diagram:

jGPS v3 Block Diagram

And here a picture of the completed (and now flown!) PCB:

Pic of jGPS v3 board

Why

Several GPS receiver boards exist on the market to receive GPS satellite signals and process it to provide location data but these GPS receivers only give the final location. Getting access to the raw data before they go into correlators means you have to purchase a “RF front end” for hundreds of dollars, at which point you can work on projects like building an FPGA receiver board or developing a software radio receiver.

Both of these projects are in-progress projects at Portland State, and are stalled on purchasing the very expensive RF front end. This project proposes to design, build, and release an open-source GPS receiver RF front-end board that would offer the GPS raw data over USB and serial outputs. Open source GPS receiver boards do exist, including in Andrew Greenberg’s GPL-GPS Master’s thesis, but all are based on very out dated and out-of-production GPS chipsets and are not easily acquired.

Cost is also a factor: commercial RF front end boards are hundreds to thousands of dollars. And while the proposed chip for this project, the MAX2769 Universal GPS Receiver, costs only $5, the development kit is $300 -- in other words, cost prohibitive for a small project and frustrating for embedded software developers who may not have the time or experience to design and build their own hardware.

Other

  • Boards are designed in EAGLE 7.x and are fabricated using OSH Park's 4 layer service.
  • Thank you to Swift-Nav for providing an open source reference design for the MAX2769. Many of the ideas and components of this board borrowed heavily on the Piksi.
  • Whoah man is the MAX2769 hard to configure. If you found this page because you're trying to understand how to configure the Max2769, there's helpful stuff here. It's a total pain. Good luck!
  • BOM available as an XLSX file.

History

Some updates on what we've been doing:

Date Note
2016/01/05 More data analysis! We actually got GPS satellites!. There are a few data drop outs, but they're relatively short. Looks like the Flight Computer was timing out due to IO Wait states.
2015/07/19 We launched it onboard LV2 and got some data!