Skip to content

MarineAppliedResearch/DeepLynk_Topside_GPS

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 

Repository files navigation

DeepLynx Topside GPS

A compact ZED F9P GNSS status display and USB diagnostic console for topside ROV operations.

Platform GNSS Display Status


Overview

DeepLynx Topside GPS is an Arduino based GNSS display for a u blox ZED F9P receiver. It reads navigation data over I2C, shows live GPS status on a 240 x 320 ST7789 screen, and exposes a USB serial command console for diagnostics.

The current sketch is aimed at field testing and early topside integration. It provides a clear visual status display while also letting a connected computer query detailed GNSS data such as position, time, motion, fix quality, RTK state, DOP values, and high precision position fields.


What It Shows

Navigation Latitude, longitude, altitude, course over ground, UTC time
Fix Status Fix type, GPS health, satellites used, RTK or differential correction state
Accuracy Horizontal accuracy, vertical accuracy, data age, DOP values through serial commands
USB Output COM OFF, COM READY, and COM TX status shown directly on screen

Hardware

Part Purpose
u blox ZED F9P GNSS module High accuracy GNSS receiver
Arduino compatible microcontroller with SerialUSB Host controller and USB diagnostic output
ST7789 240 x 320 TFT display Local topside status display
I2C wiring GNSS communication from the F9P to the controller
SPI wiring Display communication
GNSS antenna Required for satellite reception

Display Styles

The firmware includes several selectable screen layouts:

Style Name Description
0 Tactical Dense operational status layout
1 Minimal High contrast simplified display
2 Marine Marine instrument inspired display
3 DeepLynx Sci Fi Angular DeepLynx themed display
4 LCARS Colorful operations panel style

The default style is currently LCARS.


Serial Console

The USB serial console runs at:

115200 baud

The device does not block while waiting for USB. It will boot and continue displaying GPS status even when no computer is attached.

Commands

Command Description
help Show the command list
all Print every diagnostic group
pvt Print compact position, velocity, and time summary
pos Print position fields
time Print GNSS UTC time fields
motion Print velocity, ground speed, and course over ground
quality Print fix type, validity, satellite count, and accuracy
rtk Print RTK and differential correction state
dop Print dilution of precision values
hp Print high precision geodetic and ECEF position fields
stream on Continuously print all diagnostic groups
stream off Stop continuous printing
rate 1 Set GNSS navigation rate to 1 Hz
rate 5 Set GNSS navigation rate to 5 Hz
style list Show available display styles
style next Cycle to the next display style
style 0 through style 4 Select a specific display style

Arduino Libraries

Install these libraries before compiling:

#include <Wire.h>
#include <SPI.h>
#include <SparkFun_u-blox_GNSS_Arduino_Library.h>
#include <Adafruit_GFX.h>
#include <Adafruit_ST7789.h>

Display Pin Configuration

The current sketch uses these TFT pins:

#define TFT_CS   9
#define TFT_DC   8
#define TFT_RST  3

Update these values if your display wiring changes.


GNSS Connection

The ZED F9P is accessed over I2C:

Wire.begin();
Wire.setClock(100000);
zedF9p.begin(Wire);

The sketch configures the receiver for UBX output over I2C and starts with a 1 Hz navigation rate.


Current Status

This is an early field test sketch. It is intended to validate the display layout, USB command interface, GNSS health logic, and ZED F9P data mapping before expanding into the full topside GPS system.

Planned future work may include Ethernet output, NMEA 0183 output, UDP broadcast support, and web based configuration.


Project Context

This firmware is part of the broader DeepLynx ROV Pilot Software effort. The topside GPS unit is intended to support real world ROV positioning workflows by providing reliable local GNSS status and machine readable navigation output for topside systems.

About

DeepLynx Topside GPS** is an Arduino based GNSS display for a u blox ZED F9P receiver.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages