Maker.io main logo

MicroMod GNSS Function Board - ZED-F9P Hookup Guide

2023-05-09 | By SparkFun Electronics

License: See Original Project GPS MicroMod Qwiic

Courtesy of SparkFun

Guide by EL DUDERINO

Introduction

As some readers may guess by the assortment of SparkFun products featuring it, we love the ZED-F9P ‎GNSS module from u-blox. The SparkFun MicroMod GNSS Function Board - ZED-F9P provides high ‎precision GNSS capabilities for MicroMod projects using Main Board/Function Board assemblies. The ‎ZED-F9P module from u-blox is capable of up to 10mm 3-dimensional accuracy though the module ‎requires a clear view of the sky as well as correction data from an RTCM source to achieve this accuracy. ‎The ZED-F9P can act as a base station as well so you can use it with a second Function Board (or ‎another SparkFun ZED-F9P product) together to achieve millimeter positional accuracy.‎

SparkFun MicroMod GNSS Function Board

SparkFun MicroMod GNSS Function Board - ZED-F9P

Having the ZED-F9P on a MicroMod Function board allows for even more versatility with projects using ‎the ZED-F9P allowing users to mix and match not only their preferred Processor but also to pair it with ‎another Function Board to add even more versatility to a GNSS project.‎

This guide will go over the hardware present on this Function Board, how to assemble it into a ‎MicroMod circuit as well as an Arduino example to start getting location data from the ZED-F9P.‎

Required Materials

You'll need the following materials along with the MicroMod GNSS Function Board - ZED-F9P to ‎complete this tutorial and use the Function Board.‎

Main Board

All Function Boards require a Main Board and Processor to connect to each other. Depending on your ‎application, you may need either a Single or Dual Main Board:‎

Processor Board

You'll need a Processor Board to act as a host controller for the Function Board:‎

Antenna

The GNSS Function Board also requires an antenna. We recommend using a GNSS multi-band antenna ‎compatible with both L1 and L2 bands for full reception like the ones below:‎

Note: If you want to try different GNSS antennas, the following antennas will work but are limited to ‎L1 frequencies so they will not enable the full L1/L2 capabilities of the ZED-F9P.‎

Antenna Accessories

The GNNS Function Board uses a u.Fl connector for the antenna connection so in order to use the ‎antennas listed above, you will need an adapter cable like the ones below. You may also want a ‎grounding plate to maximize your antenna's reception:‎

Suggested Reading

The MicroMod ecosystem is a unique way to allow users to customize their project to their needs. If ‎you aren't familiar with the MicroMod system, click on the banner below for more information.‎

micromod_1

 

Before getting started, be sure to check out our What is GPS RTK? tutorial and if you're not familiar ‎with u-center, have a look at our Getting Started with U-Center as well as these related tutorials:‎

I2C: An introduction to I2C, one of the main embedded communications protocols in use today.‎

Serial Basic Hookup Guide: Get connected quickly with this Serial to USB adapter.‎

What is GPS RTK? Learn about the latest generation of GPS and GNSS receivers to get 14mm positional ‎accuracy!‎

Getting Started with U-Center for u-blox: Learn the tips and tricks to use the u-blox software tool to ‎configure your GPS receiver.‎

This tutorial is based around the guide for the SparkFun GPS-RTK2 Board - ZED-F9P so you may want to ‎check out these tutorials for more information on GPS-RTK:‎

guide_2

GPS-RTK Hookup Guide

Find out where you are! Use this easy hook-up guide to get up and running with the SparkFun high ‎precision GPS-RTK NEO-M8P-2 breakout board.‎

guide_3

GPS-RTK2 Hookup Guide

‎Get precision down to the diameter of a dime with the new ZED-F9P from u-blox.‎

Hardware Overview

Let's take a closer look at the ZED-F9P module and other hardware on this Function Board.‎

ZED-F9P GNSS Module

The ZED-F9P is a high-precision GNSS module from u-blox capable of up to millimeter X, Y, & Z ‎positional accuracy.‎

module_4

The ZED-F9P with a full RTK lock along with RTCM data streaming to the module can achieve 10mm 3D ‎positional accuracy. Depending on the constellation the module achieves a lock in ~25 seconds from a ‎cold start and 2 seconds from both a hot start and aided start. For a complete overview of the module, ‎refer to the ZED-F9P datasheet.‎

One of the key differentiators between the ZED-F9P and almost all other low-cost RTK solutions is the ‎ZED-F9P is capable of receiving both L1 and L2 bands.‎

bands_5

The module can act as either a rover to receive GNNS location data and RTCM correction data or a base ‎station to send RTCM correction data to another device. For complete information on how to ‎configure the ZED-F9P as a base station or rover, refer to the u-blox Integration Manual or check out ‎this tutorial.‎

Communication Interfaces

This Function Board routes the ZED-F9P's USB interface to a USB-C connector on the top of the board. ‎The SPI, I2C, and primary serial interfaces are routed to the MicroMod M.2 connector through an ‎isolation circuit.‎

interface_6

The board configures the ZED-F9P to communicate via I2C and Serial by default. Adjusting the DSEL ‎solder jumper switches the communication interface to SPI.‎

The USB-C connector allows direct communication to the ZED-F9P UART interface but does not provide ‎power to the module or other parts of the MicroMod assembly by default. To use this connector for ‎power, adjust the USB PWR EN jumper. Read on to the Solder Jumpers section for more information.‎

Antenna

The board routes the ZED-F9P antenna connection to a u.Fl connector for an external antenna ‎connection. Most of the recommended antennas use a SMA-type connector so an adapter like this is ‎most likely needed.‎

route_7

The Function Board also includes a RF/antenna supervision circuit to monitor and control the active ‎antenna connection. The supervision circuit protects the ZED-F9P from a short circuit on the antenna ‎connection and monitors the antenna connection to detect a connected antenna or open circuit. By ‎default, the Function Board disables this circuit through the SUP solder jumper. Read on to the Solder ‎Jumpers section for more information on using this jumper and refer to section 4.3.4 of the ZED-F9P ‎Integration Manual for more information on this circuit and how to poll the status using UBX messages.‎

Backup Battery

The backup battery on the board has a 1.5mAh capacity to maintain settings and other low-power ‎functionality to the ZED-F9P when the module is not fully powered.‎

battery_8

PTH Connections

Along with the secondary serial bus, the Function Board routes several other ZED-F9P pins to plated ‎through-hole (PTH) connections.‎

connections_9

The list below outlines the labels and functionality of the PTH connections on the Function Board:‎

  • PPS - The board translates the Pulse-Per-Second (PPS) output to a differential output routed to a pair ‎of PTHs along with matching ground PTHs
  • RX2/TX2 - The ZED-F9P's secondary UART (RX2/TX2) along with a ground PTH
  • Reset - ZED-F9P reset pin
  • ‎EXTINT - ZED-F9P external interrupt pin
  • SB - ZED-F9P SafeBoot pin
  • GND - Several Ground PTHs if needed.‎

LEDs

The GNSS Function Board - ZED-F9P has three LEDs labeled: PWR, PPS, and RTK.‎

leds_10

  • PWR - Indicates when the ZED-F9P is powered
  • PPS - Tied to the Pulse Per Second pin and acts as a visual indicator to the ZED-F9P pulse per second ‎signal
  • ‎RTK - Indicates the status of the RTK lock.‎

Solder Jumpers

If you have never worked with solder jumpers and PCB traces before or would like a quick refresher, ‎check out our How to Work with Solder Jumpers and PCB Traces tutorial for detailed instructions and ‎tips.

This board has nine solder jumpers. The table below outlines each jumper's label, default state, ‎function, and notes regarding their use:‎

pinout_11

table_12

MicroMod Pinout

This Function Board uses the following pins on a connected Processor Board:‎

  • ‎3.3V & VCC‎
  • Power enables
  • SPI - ZED-F9P SPI
  • I2C - ZED-F9P I2C and EEPROM
  • UART RX1/TX1 (Slot 0) / UART RX2/TX2 (Slot 1) - ZED-F9P UART1
  • ‎CS0 (Slot 0) / CS1 (Slot 1) - ZED-F9P Chip Select
  • D0 (Slot 0) / D1 (Slot 1) - ZED-F9P TX Ready
  • PWM0 (Slot 0) / PWM1 (Slot 1) - ZED-F9P Pulse-Per-Second
  • G0 (Slot 0) / G5 (Slot 1) - ZED-F9P Reset
  • G1 (Slot 0) / G6 (Slot 1) - External Interrupt
  • G2 (Slot 0) / G7 (Slot 1) - RTK Status
  • G3 (Slot 0) / G8 (Slot 1) - Geofence Status

Note: As covered previously, the ZED-F9P uses the same pins for UART/I2C (Default) and SPI ‎depending on the state of the interface select (D_SEL) pin. The Function Board routes these interfaces ‎to the labeled pins on the MicroMod M.2 connector through separate quad bilateral switches that are ‎enabled/disabled depending on the state of the D_SEL pin controlled by the D_SEL solder jumper.‎

For the complete MicroMod Pinout and pins used by this function board, take a look at the tables ‎below:‎

GNSS FUNCTION BOARD - ZED-F9P PINOUT TABLE

table_13

MICROMOD GENERAL PROCESSOR PINOUT TABLE

table_14

MICROMOD GENERAL PIN DESCRIPTIONS

table_15

Board Dimensions

The board matches the MicroMod Function Board design specifications and measures 2.56" x 1.48" ‎‎(65.02mm x 37.69mm) and the USB-C connector protrudes roughly 0.067" (1.70mm) from the edge of ‎the board.‎

dimensions_15

Hardware Assembly

If you're not familiar with assembling boards using the MicroMod connection system, head over to the ‎MicroMod Main Board Hookup Guide for information on inserting and securing your MicroMod ‎Processor and Function Boards to the Main Board:‎

guide_16

MicroMod Main Board Hookup Guide

The MicroMod Main Board - Single and Double are specialized carrier boards that allow you to ‎interface a Processor Board with a Function Board(s). The modular system allows you to add an ‎additional feature(s) to a Processor Board with the help of a Function Board(s). In this tutorial, we will ‎focus on the basic functionality of the Main Board - Single and Main Board - Double.‎

Antenna Connection

The antenna connection on this Function Board uses a u.Fl connector so an adapter like this is most ‎likely needed. For tips on how to properly use a u.Fl connector, this tutorial can help.‎

Completed Assembly

With the Function and Processor Boards installed on a Main Board and the antenna and USB-C cables ‎plugged in, your completed MicroMod assembly should look similar to the photo below:‎

assembly_17

With the MicroMod assembly completed, we can move on to setting up the software and start getting ‎location data from the ZED-F9P.‎

Software Installation

Note: This example assumes you are using the latest version of the Arduino IDE on your desktop. If ‎this is your first-time using Arduino, please review the following tutorials.‎

SparkFun u-blox Arduino Library

Note: This example assumes you are using the latest version of the Arduino IDE on your desktop. If ‎this is your first-time using Arduino, please review our tutorial on installing the Arduino IDE. If you have ‎not previously installed an Arduino library, please check out our installation guide.‎

The SparkFun u-blox Arduino library enables the reading of all positional datums as well as sending ‎binary UBX configuration commands over I2C. This is helpful for configuring advanced modules like the ‎ZED-F9P but also the NEO-M8P-2, SAM-M8Q and any other u-blox module that use the u-blox binary ‎protocol.‎

Note: We support two versions of the SparkFun u-blox GNSS library. Version 2 and Version 3. Version ‎‎3 uses the u-blox Configuration Interface (VALSET and VALGET) to configure the module, instead of ‎the deprecated UBX-CFG messages. For modules like the F9 and M10, we recommend upgrading to ‎Version 3. However, older modules like the M8 do not support the Configuration Interface. For those ‎you will need to keep using Version 2 of the library. We will continue to support both.

The SparkFun u-blox Arduino library can be downloaded with the Arduino library manager by searching ‎‎'SparkFun u-blox GNSS v3' or you can grab the zip here from the GitHub repository to manually install.‎

SPARKFUN U-BLOX ARDUINO LIBRARY V3 (ZIP)‎

This SparkFun u-blox library really focuses on I2C because it's faster than serial and supports daisy-‎chaining. The library also uses the UBX protocol because it requires far less overhead than NMEA ‎parsing and does not have the precision limitations that NMEA has.‎

In the next section we'll look at the first example included with the library to verify everything is ‎working properly with the GNNS Function Board - ZED-F9P.‎

u-center Installation

For those who prefer to communicate directly with the ZED-F9P through the USB-C connector on the ‎Function Board, head over to this tutorial to get started with u-center from u-blox:‎

getting_19

Getting Started with U-Center for u-blox

‎Learn the tips and tricks to use the u-blox software tool to configure your GPS receiver.‎

Pin Connection Table

The table below helps show which pins the Function Board connects to depending on the slot it is ‎connected to on a Main Board (Note: The Single Main Board connection is Slot 0):‎

table_20

Arduino Example

Example 1: Positional Accuracy

The first example in the SparkFun u-blox GNSS Arduino Library provides a quick test for position and ‎accuracy. Navigate to the example by going to File > Examples > SparkFun u-blox GNSS v3 > ZED-F9P > ‎Example1_GetPositionAccuracy.‎

Select your Board (in this case the SparkFun ESP32 MicroMod) and associated COM port. Upload the ‎code and open the Arduino Serial Monitor with the baud set to 115200. Make sure the antenna has a ‎clear view of the sky and give the ZED-F9P some time to get a satellite lock. Once the module gets a ‎satellite lock the coordinates and accuracy should start to print out in the serial monitor window.‎

More Examples!‎

Now that you got it up and running, check out the other examples located in the ZED-F9P folder!‎

SparkFun U-BLOX GNSS ARDUNIO LIBRARY: ZED-F9P

In order to get the most out of the ZED-F9P, you will need an RTCM correction source. Depending on ‎your choice of Processor or other items in your setup, you may need a second ZED-F9P for a correction ‎source. The following project tutorials guide you through setting up the ZED-F9P as a reference station ‎or rover.‎

build_21

How to Build a DIY GNSS Reference Station

‎Learn how to affix a GNSS antenna, use PPP to get its ECEF coordinates and then broadcast your own ‎RTCM data over the internet and cellular using NTRIP to increase rover reception to 10km!‎

build_22

Setting up a Rover Base RTK System

Getting GNSS RTCM correction data from a base to a rover is easy with a serial telemetry radio! We'll ‎show you how to get your high precision RTK GNSS system setup and running.‎

Troubleshooting

u.Fl Tips

Unplugging the u.Fl adapter from the connector on the Function Board is tricky and improper removal ‎can damage the connector or the board. For tips on using the u.Fl connector, check out this tutorial:‎

tips_23

Three Quick Tips About Using U.FL

‎Quick tips regarding how to connect, protect, and disconnect U.FL connectors.‎

Position Lock Tips

Depending on your antenna choice and setup, you may experience issues getting your ZED-F9P to ‎achieve a 3D lock. If you run into issues getting a lock, make sure the antenna has a clear view of the ‎sky away from large objects such as buildings that may block the antenna view.‎

General Troubleshooting

Not working as expected and need help?‎

If you need technical assistance and more information on a product that is not working as you ‎expected, we recommend heading on over to the SparkFun Technical Assistance page for some initial ‎troubleshooting.‎

SPARKFUN TECHNICAL ASSISTANCE PAGE

If you don't find what you need there, the SparkFun Forums: MicroMod are a great place to find and ‎ask for help. If this is your first visit, you'll need to create a Forum Account to search product forums ‎and post questions.

SPARKFUN FORUMS: MICROMOD

Resources and Going Further

That's all for this tutorial. By now you should be able to start recording positional data with your ‎completed MicroMod Main Board assembly using the GNSS Function Board - ZED-F9P. For more ‎information, check out the following resources:‎

MicroMod GNSS Function Board Documentation:‎

ZED-F9P Documentation:‎

MicroMod Documentation:‎

Ready to get hands-on with GPS?‎

We've got a page just for you! We'll walk you through the basics of how GPS works, the hardware ‎needed, and project tutorials to get you started.‎

Take Me There!‎

ready_24

制造商零件编号 GPS-19663
SPARKFUN MICROMOD GNSS FUNCTION
SparkFun Electronics
¥2,370.86
Details
制造商零件编号 DEV-18576
MICROMOD MAIN BOARD - DOUBLE
SparkFun Electronics
¥146.11
Details
制造商零件编号 DEV-18575
MICROMOD MAIN BOARD - SINGLE
SparkFun Electronics
¥121.69
Details
制造商零件编号 DEV-16402
MICROMOD TEENSY PROCESSOR
SparkFun Electronics
¥200.73
Details
制造商零件编号 DEV-16791
MICROMOD SAMD51 PROCESSOR
SparkFun Electronics
¥154.25
Details
制造商零件编号 WRL-16781
MICROMOD ESP32 PROCESSOR
SparkFun Electronics
¥142.45
Details
制造商零件编号 GPS-15192
GNSS MULTI-BAND MAGNETIC MOUNT A
SparkFun Electronics
¥610.48
Details
制造商零件编号 WRL-18569
COAX CBL U.FL TO RP-SMA
SparkFun Electronics
¥17.29
Details
制造商零件编号 WRL-18154
COAX CBL U.FL TO SMA
SparkFun Electronics
¥83.15
Details
Add all DigiKey Parts to Cart
TechForum

Have questions or comments? Continue the conversation on TechForum, DigiKey's online community and technical resource.

Visit TechForum