Waypointer Moto: motorcyle navigation for Bangle.jsThu 27 January 2022
Tagged: software, banglejs
I have made a Bangle.js app for motorcycle navigation. It's called "Waypointer Moto" which is a bit of a mouthful but it doesn't matter. Instead of telling you exactly which roads to use to reach your destination, it just points an arrow directly at your destination and tells you the straight-line distance. It tells you where you're trying to end up, but leaves the route-finding and exploring of the environment up to the user. The idea is that you end up riding new roads and discovering places you would never normally come across. It's a middle ground between riding around at random, and following a route dictated by a satnav.
Here's what it looks like mounted on my handlebars with a 3d-printed "artificial wrist":
It was inspired by the Beeline device which works exactly the same way, except is more expensive than a Bangle.js and you need to use their proprietary smartphone app to set up the waypoints.
On Tuesday I tried to use Waypointer Moto to navigate to Cheddar Gorge. To cut a long story short I didn't get to Cheddar Gorge, because I came across a road closure about 2 miles into a windy country road and had to turn back. But I did discover Ebbor Gorge just off said windy road, which I never would have come across if I were following a normal route and is quite a nice walk, so in that respect it was a great success.
But if you're really keen to get to where you want to go, maybe this isn't the best way to do it.
Waypointer Moto is based on the "Way Pointer" app for Bangle.js, but with a few important changes:
- Use the GPS course instead of the compass to work out the direction of travel, because the compass is unreliable. Way Pointer uses the compass because Way Pointer is designed for walkers, and the GPS course is rarely available if you're travelling at walking pace.
- Show the status of the GPS fix in the colour of the arrow (red for no fix, yellow for location but no course, white for all good).
- Add an OpenStreetMap integration to the PC-based waypoint editor so that you can click the destination on the map instead of having to manually type in latitude/longitude coordinates.
(and a number of less important changes).
As always, developing for Bangle.js was really easy. The only annoying part is adding the integration with the BangleApps loader, because you need to wait for GitHub actions to rebuild your GitHub Pages every time you want to see if your change has worked.
To make Waypointer Moto more useful for situations where you actually really do want to get to where you're going, I plan to add a "route" mode where you click several waypoints along the route to your destination and it will automatically step from one waypoint to the next as you approach them.
I also want to add a charge connector to the "artificial wrist" so that the watch can get charged up while it's in use. I think leaving the screen and GPS on 100% of the time will drain the battery quite quickly. On Tuesday it drained about 50% in 2h30, so I expect it would only last about 5 hours without charging.
If you like my blog, please consider subscribing to the RSS feed or the mailing list: