BoatSpeedy
DE EN

Android · GPS speed + navigation · open source

How fast you're going.
How far you'll still get. GPS speedometer and navigation for small boats. Under motor or paddle.

Routes along the waterways, computed without a connection, with locks and weirs. A Bluetooth BMS or a coulometer on the battery adds live values and range.

Download the APK View the source v1.4.0 · Android 13+ · MIT
BoatSpeedy dashboard with a large speed readout, range and remaining time, a battery tile with power and state of charge, and the map with the track. BoatSpeedy dashboard with a large speed readout, range and remaining time, a battery tile with power and state of charge, and the map with the track.
Alperstedter See, 5.94 km/h, drawing 37 A, 16.97 km to go.
Kotlin · Jetpack Compose ~2 MB APK Routing offline No Google Play Services English and German GDPR-compliant, no accounts MIT licence

What it's for

How do I get there, and will the pack get me back?

BoatSpeedy needs nothing but the phone. Speed, distance and route work without any extra kit, under motor or paddle. Without a battery you only lose the battery tile.

Running a LiFePO4 pack, you add it over a Bluetooth BMS or a coulometer and watch consumption and remaining range live. At 5 km/h every decimal counts, which is why the readout is large, smoothed and legible from the rowing bench in full sun.

Navigation

Routes along the waterways, offline too

A long press on the map sets the destination. Straight line or a route along the waterways, each with distance and estimated consumption in amp-hours. A course arrow shows how far to turn.

  • Map data on the device. All of Europe is 1373 tiles and 170 MB, a radius of 150 km about 3.4 MB. Routing then runs offline up to 600 km.
  • Motorboat or canoe decides which bans apply. Blocked stretches cost triple in the route search and are drawn in red.
  • Locks and weirs along the route, tappable for opening hours, phone, radio channel and chamber size. Sea marks and speed signs too.
  • Map north-up or course-up. Marker and map glide by dead reckoning instead of jumping from fix to fix.
A planned route on the Saale from Merseburg to Barby, 116 km long, with nine locks marked and the distance back to the start. A planned route on the Saale from Merseburg to Barby, 116 km long, with nine locks marked and the distance back to the start. Rothenburg lock tapped open, showing opening hours, phone number, VHF channel 62 and a chamber of 103 by 12 metres. Rothenburg lock tapped open, showing opening hours, phone number, VHF channel 62 and a chamber of 103 by 12 metres.
The Saale from Merseburg to Barby: 116 km, nine locks.

Speed & trip

A GPS speedometer that takes slow speeds seriously

A large readout, km/h or knots, zero to two decimals, plus smoothing that takes the jitter out of the raw GPS value.

  • Start and stop a trip. A foreground service keeps measuring with the screen off.
  • Distance, average and max, moving and paused time, consumption in Ah, energy in Wh and Wh/km.
  • Satellite and GPS status: how many satellites are in use and how accurate the fix is.
  • Auto-pause only on low current and standstill. Drifting still counts.
Trip detail: 3.55 km distance, 2:51:40 total, 39:41 moving, 5.36 km/h average, 23.1 Ah consumed, 303 Wh, 85 Wh/km, with the track map below. Trip detail: 3.55 km distance, 2:51:40 total, 39:41 moving, 5.36 km/h average, 23.1 Ah consumed, 303 Wh, 85 Wh/km, with the track map below.
Every trip is kept as an entry.

Battery & range

Reading the battery over Bluetooth: JBD, Redodo, Daly and JK

BoatSpeedy talks to the BMS directly: voltage, current, power, state of charge, remaining Ah, temperature, individual cell voltages, plus charge cycles and amp-hours drawn where the BMS reports them.

  • Range and remaining time at your current speed, averaged over 15, 30 or 60 seconds so it doesn't jump with motor load.
  • Several packs connected at once, wired single, parallel or series, with an A·B·Σ selector on the dashboard.
  • BMS protocols: JBD / Jiabaida and Redodo / LiTime / Power Queen are verified on real hardware, Daly and JK / Jikong are built in but experimental. The types can be mixed, each pack carries its own.
  • Coulometer with a Hall sensor for packs without Bluetooth of their own: voltage, current, state of charge, remaining Ah and counted energy. Verified on hardware.
  • Charging mode: when charging starts, the range tile becomes a charge tile: time to full, done at, and an alert at a charge level you pick.
Battery screen: BMS selection, single/parallel/series wiring, and the connected pack with voltage, state of charge and its individual cell voltages. Battery screen: BMS selection, single/parallel/series wiring, and the connected pack with voltage, state of charge and its individual cell voltages.
Pick the BMS, set the wiring, watch every cell.

Trips & track

Trip recording, track map and GPX export

Every trip is stored with its waypoints and drawn on the map as a track, with direction arrows and start and finish markers.

  • Tap the track to see speed, consumption and state of charge at that point.
  • Export GPX and share it, or import GPX files from elsewhere and view them.
  • Select several and delete. No account, no cloud.
The recorded track on the OpenStreetMap map with direction arrows, start and finish markers and a bubble showing the values at that point. The recorded track on the OpenStreetMap map with direction arrows, start and finish markers and a bubble showing the values at that point.
Map © OpenStreetMap contributors.

Weather & anchor

Rain radar and weather warnings on board

The live map follows your position and overlays the German Weather Service rain radar, animated to 100 minutes ahead.

  • Rain radar (RADOLAN-RV) in the official DWD colour scale, animated to 100 minutes ahead, the slider showing clock time. Lightning optional.
  • Readings from the nearest DWD station and wind direction as an arrow, in a weather view of its own.
  • Thunderstorm and gale warnings from the DWD, checked on GPS fix and during a trip, with notification, sound and banner.
  • Anchor watch: drop an anchor at your position, and the app alarms if the boat drags.
  • Bundled alarm tones: beep, bell or siren, selectable per alarm.
Live map with the animated rain radar of the German Weather Service and the time slider along the bottom edge. Dashboard with a weather warning from the German Weather Service shown above the speed readout. Dashboard with a weather warning from the German Weather Service shown above the speed readout.
Rain radar and warnings: Deutscher Wetterdienst, CC BY 4.0.

And also

The small things you only notice out there

Nearly all of it can be adjusted, sorted into sections, so you don't have to go hunting while you're on the water.

Settings with the sections dashboard, notifications, general, appearance, trips and GPS. Settings with the sections dashboard, notifications, general, appearance, trips and GPS.
Settings, sorted into sections.
Warning

Before it gets tight

Below a level you set, the tile turns red — with a sound if you want one.

Legibility

Light, dark, awake

Light and dark themes or follow the system, plus “keep screen on” for the whole trip.

Language

German and English

Switchable inside the app, independent of the phone's system language.

Updates

Tells you itself

The About screen checks for new releases and offers the download right there.

Privacy

No account, no cloud

Trips stay on the device. The app only goes online for maps, weather and the update check — GDPR-compliant, with no analytics and no advertising IDs.

Open source

All of it readable

MIT licence, built without Google Play Services, every release APK signed by CI.

Being straight

What is verified and what is not

Developed and field-tested against an EcoWorthy LiFePO4 100 Ah with a JBD BMS. Other paths are implemented but not yet confirmed on real hardware. Reports are welcome.

Area Status
GPS speed, trip, stats working
JBD link, live values verified on hardware
Range and time maths confirmed in the field
Redodo / LiTime / Power Queen verified on hardware
Coulometer with Hall sensor verified on hardware
Routing, tiles, locks field-tested (Saale, Rhine, Main)
Daly BMS experimental, untested
JK / Jikong BMS experimental, untested
Series / parallel with several packs untested on a real setup

Install

Three steps, no Play Store

The app ships as a signed APK in the GitHub release. Anyone can do this:

Download the APK

In the latest release, under Assets, grab BoatSpeedy-…-release.apk.

Allow the install

Open the file and allow installs from this source. If Play Protect speaks up: More detailsInstall anyway. That's normal for apps outside the Play Store.

Grant permissions

Location for GPS speed, Bluetooth on the first battery scan, notifications for trip and anchor alerts. Android 13 or newer.

Later updates install straight over the old version. Same signing key, your settings survive.

Support

Free stays free

No ads, no subscriptions, nothing behind a paywall, and it stays that way. If you'd still like to chip in: batteries, test hardware and the coffee behind long evenings do cost something. A contribution is welcome, never expected.

Free and just as useful: report a bug, write down an idea, or tell me how a Daly or JK BMS actually behaves in the wild.

Cast off with one less number in your head

BoatSpeedy is free, open source, and developed from a boat.