Setup guide

Get your boat on the map

Three ways to send your position to Track My Boat — from a quick tap in the browser to fully hands-off background tracking. Here's how to set each one up, including the free OwnTracks app with a scan-and-go QR code.

Pick your method

Three ways to track

Any of these puts your boat live on the map. Most people use more than one.

This phone

In the app, tap Track, pick the boat, and start. No install — it uses your browser's GPS. Keep the screen on and the app open; browsers pause GPS in the background. Lose signal for a moment? Fixes are held and re-sent when you're back on — so a canal-cutting blackspot doesn't leave a gap. Great for a quick hop while you're watching the map.

Hardware / Node-RED

A dedicated GPS tracker or a Raspberry Pi / Victron Cerbo running Node-RED reports over the open OwnTracks protocol — fully unattended, no phone needed aboard.

Step by step

Set up the OwnTracks app

OwnTracks is a free, open-source location app for iPhone and Android. Track My Boat speaks its protocol, so setup is just a scan.

1

Add your boat in the app first

Open the app and go to Settings → Boats → Add boat. Reports are only accepted for a boat that already exists — the server never auto-creates one — so this comes first. Each boat has its own device ID, which is how a report is matched to the right boat when you have several.

2

Install OwnTracks on the phone that stays aboard

It's free on both stores.

3

Open the boat's “Connect device” panel

Back in the app, go to Settings → Boats → your boat → Connect device. It shows a QR code (and a downloadable .otrc file) that carries everything OwnTracks needs — server address, your username and the boat's device ID. It works for both HTTP and secure MQTT modes; MQTT also lets your friends' boats appear inside OwnTracks.

4

Scan the QR into OwnTracks

In OwnTracks, open ⚙ → Configuration Management and scan the QR (or import the .otrc file). You'll be asked for your account password the first time it connects — it is never stored in the QR or the file, so the code is safe to keep.

5

Choose a monitoring mode

Pick how often OwnTracks reports — Significant is the sweet spot for most cruising, Move for a detailed track. The four modes are explained just below. That's it — your boat appears live on the map, with a 🛰️ marker that moves as you go.

Connect device
Usernameyou@email
Device IDwren
ModeHTTP · MQTT
In Track My Boat — scan this from OwnTracks
OwnTracks · Mode
  • 🔕 Quiet
  • 👆 Manual
  • 📶 Significant
  • 🚀 Move

Tap a mode to set how often your position is sent.

In OwnTracks — pick a monitoring mode

Illustrations, not exact screenshots — the real screens vary a little by app version.

OwnTracks

What the four modes do

OwnTracks lets you trade battery for detail. Switch modes freely — set it richer while you're under way, quieter when you moor.

🔕

Quiet

Silent. OwnTracks sends nothing on its own and does no background monitoring — a position only goes out if you open the app and publish by hand. The lightest possible on battery. Use it when you're moored up and off the boat.

Lowest battery
👆

Manual

Sends only when you tap the publish button (and when you cross a waypoint region you've set up). No continuous tracking — handy for the occasional “here I am” check-in without leaving location running.

Low battery
📶

Significant

RECOMMENDED

Low-power background tracking. OwnTracks sends a new position once you've moved a meaningful distance — roughly a few hundred metres — or the phone changes cell/Wi-Fi. It sips battery, so it's the best all-day “where's the boat” setting.

Low–medium battery
🚀

Move

Frequent, high-accuracy updates as you travel — the richest, most detailed track of your cruise. It uses the most battery, so it's best while you're actually under way; switch back to Significant or Quiet when you tie up for the night.

Highest battery

Bring your own tracker

Set up the Node-RED node

Running Node-RED on a Raspberry Pi, a Victron Cerbo GX or any always-on box aboard? node-red-contrib-boattracker gives you two nodes: one forwards each GPS fix to your boat over MQTT or HTTP — fully unattended, no phone needed — and one reads your trip stats back out again.

1

Add your boat

In the app, go to Settings → Boats → Add boat. Every report is matched to a boat, so it has to exist before Node-RED can send anything — but you don't need to copy any IDs: the node fetches your boats and lets you pick one by name.

2

Download the node package

It's a small packaged Node-RED module — a .tgz file you install straight into your own Node-RED. No npm registry, no app store.

⬇  Download the Node-RED node

node-red-contrib-boattracker-0.4.0.tgz · ~20 KB · MIT licence

3

Import it into the palette

In the Node-RED editor, open the menu (top-right) → Manage palette, choose the Install tab, then click the upload button — the small ⬆ tgz icon next to the search box. Pick the file you just downloaded and press Upload.

Prefer the command line? Copy the file onto the machine and install it into your Node-RED user directory instead:

cd ~/.node-red
npm install /path/to/node-red-contrib-boattracker-0.4.0.tgz
# then restart Node-RED (e.g. node-red-restart, or restart the service)
💡

No upload button? Some installs disable palette uploads — use the command-line method above. Either way, restart Node-RED once it's installed.

4

Drop it in a flow & configure

After the restart, find Track My Boat in the palette (left sidebar, under the network category) and drag it onto your flow. Double-click it and set:

  • Mode — MQTT (one persistent connection) or HTTP POST (per fix).
  • Host / Port (MQTT) — trackmyboat.co.uk, port 8883, Use TLS on. Local dev: 1883, TLS off.
  • URL (HTTP) — https://trackmyboat.co.uk/api/owntracks.
  • Username / Password — your Track My Boat account email and password.
  • Boat — pick it by name from the dropdown. It fills in from your account once the server details and password are in; press ⟳ to reload it.

Wire your GPS source into the node's input. It expects a msg.payload with at least lat and lon; speed, course, altitude and battery are used if present. Deploy — and the boat goes live on the map.

Lost the internet? If a fix can't be delivered — no signal, broker unreachable — the node buffers it and retries when the connection returns, holding fixes for up to 30 minutes. Because each fix keeps its real timestamp, the track fills back in at the right time rather than jumping. The node shows buffered N while a backlog waits.

// adapt a typical GPS reading in a function node
msg.payload = {
  lat: msg.payload.latitude,
  lon: msg.payload.longitude,
  speedKnots: msg.payload.sog,  // speed over ground, knots
  heading: msg.payload.cog,
};
return msg;
5

Read your stats back out (optional)

The same download includes a second node — Track My Boat query — that reads data back off the server: miles travelled, moving time, locks passed, raw GPS fixes, your boats and your saved waypoints. Handy for a gauge on a dashboard, a weekly summary email, or a display at the helm.

Drag it onto a flow (it's under network, next to the other one), double-click it and set:

  • Serverhttps://trackmyboat.co.uk.
  • Username / Password — the same account email and password as step 4.
  • DataTrip summary for the headline numbers, Daily breakdown for one row per day, or Raw GPS fixes for the track itself.
  • Boat — picked from a list the node fetches from the server once your details are in, so there's no ID to go and look up.
  • Period — Today, Yesterday, This week, Last month, All time … or your own dates.

It runs whenever a message arrives, so wire an inject into it — or tick Also query on a timer and let it poll on its own. Both work together if you want a scheduled refresh and a manual one. The answer arrives as msg.payload:

// Data: Trip summary · Period: This month
msg.payload = msg.payload.totals.distanceMiles.toFixed(1) + " miles this month";
return msg;
💡

Periods follow the clock on your Node-RED machine, so Today means local midnight, not UTC. Free accounts only keep a few days of history — ask for All time on one and you'll still only get those few days back.

Which to use

OwnTracks vs tracking from the browser

The web tracker is the quickest to start; OwnTracks is the one to leave running. The key difference is the background.

  This phone
browser
OwnTracks app Hardware /
Node-RED
Anything to install Nothing Free app A device
Runs in the background
(screen off / locked)
No Yes Yes
Screen must stay on Yes No No phone needed
Works phone-in-pocket
Best for A quick hop while you watch the map A whole day's cruising Always-on, unattended
💡

Why the difference? Phone browsers deliberately suspend GPS when a page isn't in the foreground, to save battery — so the web tracker needs the screen on and the app open. OwnTracks is a native app with permission to update your location in the background, so it keeps reporting with the phone locked in a drawer. A brief loss of data signal is different — all three methods buffer fixes through a short blackspot and re-send them (with their real timestamps) once you're back online.

Nice touch

Add it to your home screen

Save Track My Boat to your home screen and it gets its own icon and opens full-screen, with no browser bars — just like a native app.

  • 📱 iPhone & iPad (Safari)

    Open the app, tap the Share button (the square with an up-arrow), scroll down to Add to Home Screen, then tap Add. Launch it from the new ⚓ icon for the full-screen app experience.

  • 🤖 Android (Chrome)

    Open the app, tap the menu, then Add to Home screen (or Install app).

  • 🔋

    Handy to know: added to the home screen it looks like an app, but the browser still pauses GPS when the screen is off. For hands-off background tracking, use the OwnTracks app.

🔗 Copy Link
Add to Home Screen
Add to Favourites
Safari → Share → Add to Home Screen
Open the app & connect your boat