app | ||
gradle/wrapper | ||
python | ||
.gitattributes | ||
.gitignore | ||
build.gradle | ||
gradle.properties | ||
gradlew | ||
gradlew.bat | ||
readme.md | ||
settings.gradle |
Garmin HUD support
Purpose of this project
Garmin created fantastic Head-up Display, but they had it discontinued in 20151. Fortunately, whole protocol had been reverse engineered2. This allowed community to create their own works.
Works
Project started in Aug'23 as simple solution to connect GMaps with Garmin. PoC was created with python (can be viewed here) as it is the quickest known way to test protocol and create objects. With the help of Garminuino and GMapsParser first version of application was created, which wasn't working at all.
Two weeks later I switched to Mapbox as completely standalone solution. Despite some bugs and huge battery drainage some may say that it works.
Stack
- Kotlin 1.9
- Mapbox SDK 11.5.1
- Navigation SDK 3.2.0
- Search SDK 2.4.0
Future works
All the plans cannot be simply specified as they depend on many factors. Main conception is not firmly grunted so it can depend on final decisions:
-
Standalone application
- optimisation
- bug fixes
- camera behaviour
- search prompt graphics
- reconnect button style
- garmin connection fixes - socket behaviour on reconnect
- maneuver processing (on long distances it refreshes every 10+ km)
- Android Auto integration
- POIs
- speed cameras database
- traffic data
-
Proxy (one to choose from)
- Google Maps (probably)
- Yanosik
- Waze
-
Source: https://support.garmin.com/pl-PL/?faq=gJy4U1QaPL2gBs3AqQ7Lm5 ↩︎
-
As widely described on sites like Hackday. Most repeated repo link is https://github.com/gabonator/Work-in-progress/tree/master/GarminHud ↩︎