alelec unofficial firmware for navdy
- Navdy Firmware
- Firmware Installation
- Phone Apps
- Updating Maps
- Fixing calibration of car live data
- Navdy map colour scheme
- Language Support
In January 2018 the company behind Navdy closed its doors. The community of users were then left without any further support for the heads up displays we all use and love.
Shortly after, a number of features in the display and phone apps started to fail due to the online services they relied on shutting down, and/or accounts expiring.
A number of users on reddit started sharing on how to get around these issues, gradually growing over the coming months into complete replacements for the broken features through patched apps and eventually this rebuilt firmware.
For the last couple of years now I've been releasing hacked Display Firmware and Android app under the alelec headings. I've got no relation to the original Navdy company and can only work on this in spare time, but will endeavour to continue to help navdy users get the most out of the HUD.
As of 1st Jan 2020 all original navdy firmware finally stopped being able to show any kind of maps at all on the display. My firmware releases older than this also failed in the same way.
In most cases the display would start up and just show "Display update required"
On some version of the original navdy firmware this screen wasn't shown however, but instead simply won't show maps on the screen.
It's caused by the original navdy login keys for the Here navigation service expiring without warning, meaning the display maps engine cannot start anymore.
The only known way to fix this is to update your navdy to one of my unofficial firmware packs, there's no way to update the keys in the official firmware pack.
The current recommended stable version is 3093.
For more info see https://www.reddit.com/r/navdy/comments/f2htmu/navdy_display_firmware_3093alelec/
Latest Version links can always be found here: https://www.reddit.com/r/navdy/comments/d213aa/sticky_current_versions/
Download any/all release packs from https://gitlab.com/alelec/navdy/display-rom/tags
As yet my firmware cannot be installed via the phone app, it needs to be installed via PC over a micro-usb cable.
Video of install process on windows: https://youtu.be/pXiBVlOPvf0
Download and unzip the chosen update pack on computer.
Take your navdy (not plugged into car), hold down the power button and plug it into computer with the micro usb cable in the back.
The navdy power light should come on red.
There won't be any window or drive pop up on your computer when it's connected in this red update mode.
If you're on windows and haven't updated the navdy rom before, start by running
WIN_INSTALL_USB_DRIVER.bat. This should get the driver all set up.
If you're on mac or linux, please ensure the unzipped folder in somewhere without spaces in the path, eg not in folder called
FLASH_WIN if on windows computer,
FLASH_OSX for Mac or
FLASH_LINUX.sh to start the upgrade. Linux users will need to provide a sudo password to for the tool to get access to the usb device.
If it gets stuck at
waiting for device the first thing to try is a different USB cable. There are a lot of charger-only micro-usb cables out there and it's basically impossible to tell the difference without just trying them.
You can test the cable by unplugging the display, waiting for the light to turn off, then plug it back in without holding the power button. The light should come on green and the display should pop up on your computer like a USB flash drive, with a bunch of files on it. If the flash drive doesn't appear, the cable definitely isn't working.
If there are any other errors reported post a comment on the reddit page and I'll try to help: https://www.reddit.com/r/navdy
Once it's done, as long as no errors were reported on the terminal, your navdy should restart and come up on the computer as a flash drive like when plugging it in without holding power button.
When the display connects in flash drive mode on windows, you will often get a popup saying the drive might have a problem and should be scanned. You can safely ignore this, it's just due to the way the display shows itself to the computer. You can let windows scan the drive or just skip, it will be fine either way.
Now you can unplug it and try it in your car!
The first time it starts up after flashing normally takes a long time (2 to 5 minutes) on the navdy boot screen. After that it should be back to normal.
You will need to re-pair your dial (hold the button for 12 seconds) and your phone.
If you have any issues with your navdy after update, the first step should always be to run a factory reset on the display.
If the display starts up ok, you can simply hold the power button for 15-20 seconds until the screen goes dark and the power light flashes a couple of times. It should then restart itself and run a factory reset before rebooting back to normal mode.
If this isn't working for you a similar reset can be performed via PC.
Plug it in to usb the same as when installing the firmware (power button held) but instead of running the
FLASH_* script run
FACTORY_RESET_OSX.command as appropriate.
Plug the display back into your car again. This should now boot up and go through the first-use wizard again (pairing the dial, then your phone) after which it should be back to normal. You will have lost and gauge hide settings (if you had done any) but other than that pretty much everything comes from your phone.
Display stuck with green light
Very rarely when you have the display plugged into computer on usb, it can get stuck with the green power light on even after unplugging the display.
When it's like this, it won't boot up on the car, and won't do anything if you plug back into computer.
The fix it so simply leave in on a bench, unplugged, for a few minutes to hours. Eventually the green light will turn off, once the internal battery goes flat.
After that you can plug it back into your car and it should start like normal.
There's a rate problem with installing an update, usually the first time switching from official original firmware to my releases, where the display no longer starts up in the car. The front light comes on white like normal, but the screen doesn't start up. The front light turns off again after a few seconds.
First thing to do is run the factory reset script (above)
Usually installing the 3049 pack and running that will resolve the issue, though some times it needs to be re-installed and tested a few times before it starts working again.
After that, you should be able to install my firmware fine.
The 3049 firmware pack can be downloaded here: https://www.androidfilehost.com/?fid=890278863836283631
If this doesn't help, take a look at https://www.reddit.com/r/navdy/comments/emofxb/lets_fix_it_navdy_failing_to_boot_after/
Display reports Routing Failed
If your display shows Routing Failed after trying to select a destination, this usually means your map pack is too old. Try one of my newer packs from Updating Maps
Difficulty pairing the Dial
After a reset or firmware update the display will usually ask you to pair the dial at startup.
Normally you can just follow the guide in screen and everything will be fine: hold down the button for 10 - 20 seconds until the dial light starts flashing, then the display should connect.
If you can't do this at the time, you can click the power button on the display briefly to skip the screen.
The dial pairing screen can be brought up later any time by double-pressing the display power button.
Now, when holding down the the dial button, it sometimes never switches into the flashing / pairing mode.
If this happens, take the dial off your steering when and take the battery out for a few seconds, then put it back in and try again.
If it still never starts flashing you likely need a fresh battery in it, I think the pairing mode takes more power so doesn't work properly with an older battery.
Once it starts flashing, make sure the display is in pairing mode too ( double press part button). It can sometimes take a while, maybe if it's a minute press power button to get back out of patient mode, then double press again to kick off a fresh try.
Phone can't connect to navdy on bluetooth
A few people have had a situation where the bluetooth will no longer connect, usually after a display or app update. This can be on ios or android phones. If a factory reset doesn't work above, try going to the bluetooth settings on your phone and find the list of bonded / paired devices. If Navdy is in this list, remove / forget it, then try connecting from the app again.
If that still doesn't work and your Android phone just can't connect, try clearing the cache and if that doesn't works, the data as well, of the system Bluetooth app. See here for more info: https://help.elitehrv.com/article/135-clear-bluetooth-cache-android
Glances not working
If glances are not showing up on the display, perhaps the phone app settings are out of whack, try turning off glances all together (top switch on the glances page) then on again.
Or perhaps the navdy app is missing its notification access permission. On Android, go to your phone system settings and search for "notification access" and check navdy is enabled in the section that comes up.
Auto turn on/off not working
Caused by OBD data issue, continue reading below.
OBD data issues
If you're having problems with gauges not working or the display not turning on/off automatically with the car, the connection with the obd interface chip may be down.
The typical cause for this is the OBD cup itself locking up. This chip is actually in the plug of the navdy cable that's connected to your car, so the chip doesn't get reset when you turn off the display.
The first thing to try is simply unplug the navdy cable from your car for 10-20 seconds, then plug it back in.
When this happened to me, it still didn't work the first time the display started after re-plugging the cable, but after taking the display off and on again it all came good.
If that doesn't work, I can't explain why, but for a number of people this has been fixed by installing firmware 3049, running the display once in the car, then doing a factory reset and updating back to the latest firmware pack. The 3049 firmware pack can be downloaded here: https://www.androidfilehost.com/?fid=890278863836283631
Searching for locations on the phone apps no longer works with the original Navdy app due to their google maps keys being expired.
To fix this we've got some patched phone apps available with new google keys which resolves this issue.
You will need to uninstall the original navdy app first, then install my replacement from the play store: https://play.google.com/store/apps/details?id=com.alelec.navdyclient&hl=en
My version has updated Google API keys to fix search, has a new place picker for easier searching for locations (left hand button/tile on search screen) and has extra debug menu enabled in the side bar.
@vkedwardli (reddit: u/EdwXD) has done great job on his patched iOS app to add new Google API keys, see the instructions and details on his reddit page:
The offline maps database for the display comes from HERE SDK and is typically updated 4 times a year. These can be updated from PC via a number of methods.
The simplest method to update the maps on your navdy is to download a new snapshot map pack from my server.
Note: These map packs are v5 format which require my unofficial display firmware to work.
There is a clean copy of the maps folder for each major region now available at: https://selene.feralhosting.com/corona/navdy_maps/
If you have problems with that there are older copies at: https://mega.nz/#F!0khA0ICb!RmWBSwunlIJ-V5fBDzPm5w
I've got the top level regions as well as one level in (eg countries), see folders for each top region on the link above.
Download your pack of choice and unzip it on your computer.
Unfortunately you can't join / merge packs, if you need something different to what's provided here ask on the reddit linked above.
The entirety of Europe no longer fits in one map pack do I've had to split it into separate regions, the list of countries in each region can be found in https://gitlab.com/alelec/navdy/Navdy-MapDownloader/blob/automated/download_europe_regions.sh
For the other packs, have a look at https://gitlab.com/alelec/navdy/Navdy-MapDownloader/blob/automated/download_regions.sh to see what countries are in each pack.
If you have some other suitable suggestion for pack combinations get in touch.
Plug your navdy into your computer via usb so it comes up as a flash drive then delete the .here-maps folder from the navdy.
If you're on Mac and can't see the .here-maps folder there, try turning on show hidden/dot files: https://ianlunn.co.uk/articles/quickly-showhide-hidden-files-mac-os-x-mavericks/
Replace it with the .here-maps folder from the zip.
If downloads from that site are crazy slow (On some networks in Australia it is) try using any download manager with multiple connections, this has fixed the issue for me in the past.
I believe Here updates their maps a few times a year, I'll try to keep an eye on it and when there's a new version available I'll just re-run my tool and update the versions online. If I miss it though, the tool's is pretty easy for other's to run.
For reference, the zips have been created automatically with:
Fixing calibration of car live data
In many cars, things like speed and fuel level are calibrated in the gauge cluster, not on the OBD2 data that navdy reads. As such the values in navdy HUD often don't quite match the cars gauges.
One of the features in my firmware is the ability to add a correction factor to these values from obd.
You should find an obd_profile.yaml file in the usb drive when plugged into PC, have a look at this in a decent text editor. You can edit the Equation field for any of the values shown, eg. Vehicle speed, to add a suitable divider, by memory I think the one that worked pretty well for me is
If it goes bad don't worry, you can always delete that file and it'll be replaced with a fresh copy next time you run the navdy in your car.
"After I fill up my Fuel Tank, the gauge indicates that it is 85% full."
The divisor of 255 is what you want to change: an A value of 255 would normally indicate a full tank, but apparently your vehicle is sending a lower value. Since you’re getting 85% when full, 85 = A*100/255 therefore A~=217, so change the 255 to 217 and you should be all set.
- Name: Fuel level input ShortName: Fuel ModeAndPID: '012F' Equation: 'A*100/217' MinValue: 0 MaxValue: 100 Units: '%'
Thanks u/tehawful from https://www.reddit.com/r/navdy/comments/f1dvn5/calibrating_fuel_gauge/
Navdy map colour scheme
Full customisation of maps colour scheme is exposed for interested users.
Plug display into PC as usb drive and open the file
map_scheme.yml with a decent text editor. Hopefully the existing schemes are a decent example of where to start.
Here's a list of all the elements that can be customised: https://developer.here.com/documentation/android-premium/api_reference_java/com/here/android/mpa/mapping/customization/class-use/SchemeColorProperty.html
The navdy display and phone apps have build in support for only a limited number of languages. The original firmware had official support for English, French, German, Spanish and Italian. The maps library which drives much of the on-screen visuals however supports a significantly wider range of languages, listed here: https://developer.here.com/documentation/android-premium/dev_guide/topics/coverage-label-languages.html
The default behaviour of the display is to attempt to use the same language as your connected phone, with a fallback to english if that fails.
As of firmware 3065 there's a Language menu in the display settings where you can override the display language (or set it back to auto to switch back to phone setting). All languages the display OS is aware of are listed, regardless of the level of support provided by the navdy platform, so the on-screen results may vary.
There is also a Secondary menu under the Language menu for setting a map secondary language. This is supposed to work like https://developer.here.com/api-explorer/rest/map-tile/map-tile-multi-language where two languages can be shown on the map itself. During my testing in Australia this didn't appear to do anything, but perhaps it will work better in other countries.
I'm also running a community translation service linked to this project for anyone to contribute new and/or improved translations for both the display and the android phone app.
Weblate is designed to be fairly easy for anyone to log in (just make an account or sign in with an existing gitlab account) and just start adding some translations for missing strings, or improving existing translations.
I've also got weblate configured to support both Google and Azure (Microsoft) translation services, so these can be used by people like me to provide (likely terrible) translations, or assist others with suggestions.
This feature allows the navdy display to be used like a bluetooth elm327 obd dongle.
This is a new feature in alelec firmware, available in versions 3054 to 3061, or 3088 and above. It currently only works with Android phones.
As such you can use other OBD applications on your phone to connect to your car for diagnostic and monitoring purposes.
While you're in your car with the navdy app connected, you should be able to start pretty much any other OBD app on your Android phone, just select the Navdy as the bluetooth adaptor in the apps settings. If asked for the type of adaptor select ELM327, or STN1110 (better) if available.
Note: while RemoteOBD is connected the display HUD will no longer have access to OBD data.
This is required as OBD apps expect to have exclusive control over the OBD interface, so the display's connection to the obd interface is disabled while connected to phone apps.
NavdyOBD Android App
If you'd like to log the obd data for inspection, you can use my NavdyOBD app: https://gitlab.com/alelec/navdy/NavdyOBD/tags
This is Android only and acts as a proxy to the bluetooth obd connection, turning it into a tcp connection (for apps that support wifi obd dongles).
- Install and run NavdyOBD: https://gitlab.com/alelec/navdy/NavdyOBD/uploads/028cb96b8aab88e36ae60b3d2ccf2baa/NavdyOBD-1.0-0-g491a9e9.apk
- Select Navdy from the list of bluetooth devices and connect. You can generally ignore the logging / connected screen then.
- Switch to your OBD app of choice (Torque, Dashcommand, AlfaOBD, etc) and in adapter settings select "Wifi elm327" or IP/Port or similar (aka not bluetooth).
- When it asks for an IP or server type in
- The port should be
35000(typically the default)
- The app should be able to connect and be used as normal now, as long as NavdyOBD is running in the background
All raw data sent to/from the OBD app is logged to a file on your phone, in timestamped files under the folder NavdyOBD. This can be used to find out the number used for pids / commands for your car not currently supported by Navdy. The intention is to later be able to add custom car profiles in the
obd_profile.yaml file added to the navdy usb driver interface in a previous release. This hasn't been properly tested yet however, but feel free to play around. If you break anything you can just delete