← All projects

02 · Project

Garmin Tracker

A Garmin Connect IQ application that receives coordinates from the watch and sends them to a custom REST API for storage and further processing.

Monkey C Garmin Connect IQ Fenix 7X REST API Laravel
01

Goal

The goal was to build a small Garmin Watch tracker that can read GPS coordinates from the watch and send them to a custom server.

Instead of a third-party service, the project uses a custom Garmin Connect IQ → REST API → Laravel → Joomla stack. This provided hands-on experience with the Garmin Connect IQ API and Laravel backend development.

02

Watch Application

The client application is written in Monkey C using the Garmin Connect IQ SDK. It works with device positioning and communications.

Monkey CConnect IQ SDK
03

Sending Coordinates

To obtain GPS coordinates, the compiled application must be launched on the watch and synchronized with the phone.

The application connects to the VPS through the Connect IQ API and sends the data.

Laravel processes the received data and writes it to the Joomla database tables.

One practical challenge was debugging behavior that differed between the simulator and the actual Fenix 7X.

04

REST API

The Laravel server provides an endpoint for receiving coordinates and writing them to a Joomla database table. The request contains the device identifier and coordinates.

{
    "device_id": "...",
    "latitude": 0.0,
    "longitude": 0.0
}

Laravel validates the incoming data and then writes it to the database.

05

Debugging

The most difficult part of the project was debugging the real device. The process involved Monkey C errors and incorrect application behavior on the watch.

06

Challenges

  • Learning Connect IQ and Monkey C from scratch.
  • Implementing data delivery to a custom Laravel API.
  • Debugging the code both in the Simulator and on the Fenix 7X.
07

Result

The result is a wearable device connected to a custom backend API. The project provided practical experience with a non-standard platform, network requests, GPS, and server-side data validation.