Skip to content

Commit 5a46508

Browse files
authored
Merge pull request espruino#1350 from jes/wpmoto
Add Waypointer Moto
2 parents 890d5fa + 8c4d97e commit 5a46508

18 files changed

+668
-0
lines changed

apps/wpmoto/README.md

+158
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,158 @@
1+
# Waypointer Moto
2+
3+
Waypointer Moto is a GPS navigation aid intended to be attached to
4+
the handlebars of a motorcycle.
5+
It uses the GPS to find out which direction it's
6+
travelling and shows the direction and distance to the destination
7+
"as the crow flies". It gives you an indication of where to go,
8+
but exploring and navigating the environment is left up to the user.
9+
10+
![](watch-on-bike.jpeg)
11+
12+
(Please note that it would be foolish in the extreme to rely on this
13+
as your only navigation aid! Make sure you read this entire document
14+
before using the app for navigation so that you know the drawbacks
15+
and shortcomings.)
16+
17+
## App usage
18+
19+
### Main screen
20+
21+
![](screenshot.png)
22+
23+
The main screen shows the direction arrow, the distance to the waypoint,
24+
and the name of the selected waypoint.
25+
26+
It also shows the status of the GPS fix in the colour of the arrow:
27+
28+
* Red: no GPS fix at all
29+
* Yellow: GPS location, but no GPS course (probably you're moving too slowly);
30+
in this case the direction of travel comes from the compass bearing instead
31+
of the GPS course, but note that the compass is unreliable
32+
* White: GPS fix includes both location and course, and the GPS course is used
33+
to determine the direction of travel
34+
35+
### Select a waypoint
36+
37+
![](screenshot-menu.png)
38+
39+
Press the middle button (`BTN2`) to enter the menu, choose a waypoint using
40+
the up/down arrows, and use the middle button again to select a waypoint and
41+
return to the main screen.
42+
43+
### Add a waypoint
44+
45+
Press the middle button (`BTN2`) to enter the menu, and select the "+ Here"
46+
option. This will add a waypoint named "WP*n*" marking your current location,
47+
where "*n*" is the next unused number.
48+
49+
### Delete a waypoint
50+
51+
![](screenshot-delete.png)
52+
53+
Select a waypoint using the menu. Once the waypoint is selected and you're
54+
back on the main screen, press either the top or bottom button (`BTN1` or
55+
`BTN3`). Confirm that you want to delete the waypoint with the middle
56+
button (`BTN2`).
57+
58+
## Waypoint editor
59+
60+
With the Bangle.js app loader connected to the watch, find the
61+
Waypointer Moto app and click on the floppy disk icon:
62+
63+
![](floppy-disk.png)
64+
65+
This will load up the waypoint editor:
66+
67+
![](editor.png)
68+
69+
### Add a waypoint
70+
71+
Use the map to find your destination. Clicking on the map will
72+
populate the latitude/longitude input boxes with the coordinates
73+
of the point you clicked on. Type in a name for the waypoint and
74+
click "Add Waypoint". Click "Upload" to send the updated list of
75+
waypoints to the watch.
76+
77+
### Edit a waypoint
78+
79+
Click on the pencil icon next to the waypoint you wish to edit.
80+
This will remove the waypoint from the list and populate the
81+
input boxes.
82+
Edit the coordinates by hand, or by clicking on the map. Edit
83+
the name if you want. Click "Add Waypoint" to save the waypoint
84+
back to the list. Click "Upload" to send the updated list of
85+
waypoints to the watch.
86+
87+
### Delete a waypoint
88+
89+
Click on the pencil icon next to the waypoint you wish to edit.
90+
This will remove the waypoint from the list.
91+
Click "Upload" to send the updated list of waypoints to the watch.
92+
93+
## Mounting the watch on the bike
94+
95+
There is a 3d-printable "artificial wrist" which will fit over a 7/8"
96+
handlebar and allow the watch strap to tighten up.
97+
Alternatively, in a pinch you can strap the watch around a glove or a sponge
98+
or anything else that will pad out the space so that the watch is a tight
99+
fit.
100+
101+
The 3d-printed part should be a snug fit on the handlebar so that it does
102+
not flop around. If it is too loose, line it with a layer or 2 of tape.
103+
104+
[Download the handlebar mount STL »](handlebar-mount.stl)
105+
106+
[Download the handlebar mount FreeCAD source »](handlebar-mount.FCStd)
107+
108+
![](handlebar-mount.png)
109+
110+
![](handlebar-mount.jpeg)
111+
112+
## Comparison to Way Pointer
113+
114+
Compared to the original Way Pointer app, Waypointer Moto:
115+
116+
* removes the numerical display of compass bearing
117+
* makes the distance text bigger
118+
* uses a higher-resolution arrow icon
119+
* has a visual indication of the GPS status (the arrow colour)
120+
* uses GPS course instead of compass bearing
121+
* has OpenStreetMap integration in the waypoint editor
122+
* uses Bangle.js menus to select waypoints instead of custom UI
123+
* can add new waypoints from inside the app without requiring a blank slot
124+
* can delete waypoints from inside the app without needing the PC
125+
* still uses the same `waypoints.json` file
126+
127+
## Gotchas
128+
129+
Waypointer Moto derives your current heading from the GPS course
130+
rather than the compass, whenever GPS course is available.
131+
The compass bearing is based on the angle the watch is held, but
132+
the GPS course is based on the direction it's *travelling*. If the
133+
watch is not aligned with the direction of travel of the vehicle
134+
then the arrow will not point in the correct direction.
135+
136+
When travelling too slowly, there is no GPS course information, so the
137+
app reverts to using the compass (and draws it in yellow), but
138+
the compass is not very reliable, and I
139+
have especially found it not to be reliable when placed on a motorcyle,
140+
maybe because of all the metal in the immediate vicinity. So if
141+
the arrow is not drawn in white, then you should probably not trust
142+
it. If you're not sure, just ride in a straight line until the arrow
143+
turns white again.
144+
145+
## Possible Future Enhancements
146+
147+
- "routes" with multiple waypoints; automatically step from one
148+
waypoint to the next when you get near to it
149+
- some way to manually input coordinates directly on the watch
150+
- make the text & arrow more legible in direct sunlight
151+
- integrate a charging connector into the handlebar mount
152+
- upstream the map integration to the other waypoint apps
153+
154+
## Acknowledgements
155+
156+
Waypointer Moto is a project by [James Stanley](https://incoherency.co.uk/). It is a derivative of [Adam Schmalhofer's](https://github.com/adamschmalhofer) Way Pointer app, which is in turn a derivative of
157+
[jeffmer's](https://github.com/jeffmer/JeffsBangleAppsDev) GPS
158+
Navigation and Compass Navigation apps.

0 commit comments

Comments
 (0)