Improving Karoo through the use of Android Apps

Third-party apps, customisation, mods, development, custom kernels & ROMs

WARNING - Here be dragons!
If you don't entirely understand what you're doing, even following someone else's guide could end up with you bricking your Karoo, or leaving it in an unsupported state with no way to go back. By all means enter, read and learn, but undertake actions on your Karoo at your own risk!
Forum rules
Undertake any procedures at your own risk and make sure you know how to reverse any changes. You could brick your Karoo or at the very least put it into an unsupported configuration.
JohnJ80
Posts: 272
Joined: Tue Apr 03, 2018 4:55 pm

Improving Karoo through the use of Android Apps

Post by JohnJ80 »

I’m an engineer, but I’m not an Android expert or even an Android novice. So I worked through this all with a friend on facebook to get mine working. I documented how that all works below and it may be useful to others. There are no guarantees of accuracy, security or that it even works. By following what I did, it's your risk and there are no guarantees.. I'll keep at this and update it as I learn more.

All my mobile devices come from the Apple ecosystem so I have limited to no experience with Android from a user perspective. I wanted navigation that works well on the Karoo for an upcoming tour we’re doing that will require good mapping and the ability to manage it entirely from mobile devices. I wanted to use the Karoo since it’s just a better display. To do that, here is what I did:
  • Download the Android debug bridge (adb hereafter) for the mac here: https://developer.android.com/studio/re ... form-tools and install it on your system.
  • On your Mac, open the Terminal application which is found in your utilities folder.
  • Go to the folder in which the adb was installed. For simplicity, just do everything here from folder. You can get more creative and set up shell environment variables for your particular system. But here, I’ll just refer to the app in this folder and any downloaded apps you have from your download folder.
  • Connect the Karoo to your computer with a USB cable that has full connections. Many USB cables are only useful for charging. If you cannot connect in later steps, make sure to try other cables. If that doesn’t work, then install the Google USB drivers from the link above in step #2.
  • Boot up the Karoo.
  • Go to the Settings app and scroll down to “About”. Scroll all the way to the bottom until you find “Build Number”. Tap on this 7 times with your finger. This will take you to “Developer Mode” and Karoo will tell you that this is where you are headed after about the first three taps.
  • Once in Developer Mode, in Settings, scroll down to the "Developer Options" choice and tap it. Once in that choice, make sure that the "Developer Options" switch at the very top is "on.".
  • Scroll down to "USB Debugging" option and turn that switch on. This enables your mac (or your PC for that matter) to talk to the Karoo over the USB cable.
  • Once you are in developer mode and have completed these steps, go back to your Mac.
  • On your Mac, invoke the adb in the terminal by typing “./adb devices” (yellow arrow). This will ask for the android devices attached to your computer. See: https://www.dropbox.com/s/a3ozdi78in5w4 ... 1.jpg?dl=0
  • The red arrow shows that the Karoo is attached to your Mac where the string in front of the word “device” is the identifier for your Karoo.
  • Download APKpure which is a source for Android app store software from https://apkpure.com.
  • Install APKpure onto your Karoo by locating the apkpure package which you just downloaded onto your Karoo. To do this you type “./adb install <filename of apkpure package>. It should look something like this (https://www.dropbox.com/s/df4pkh46oz0d1 ... 2.jpg?dl=0):
The first line is the line that you just typed in. Hint: In order to get the file name into the Terminal command, locate the file in the finder and just drag the file onto the command line. The MACOS will automatically put in the filename for you and the file will remain on your system where it was before. That makes it a lot easier to avoid having to navigate all the unix file naming conventions especially if you have spaces or characters in the filename path.
  • the second line is the adb transferring the file to your Karoo.
  • the third line is the name of the file and where it is located on your Karoo in the Android file system.
  • The third line with the word “Success” means that you successfully transferred it to the Karoo.
Repeat the process for the Novalauncher. You can download the Novalauncher here: http://novalauncher.com. There is a link that says “Direct Download APK”. Use that. See image attached below at the red arrow (https://www.dropbox.com/s/cq3hpow3583l3 ... 3.jpg?dl=0).
  • Once you have apkpure NovaLauncher loaded on your Karoo, go ahead and reboot. As the Karoo reboots, it should give you the option to select the launcher. You should have the option to run the launcher always or just once. Until you get it all set up the way you want, probably just select “Just once” but select “Nova Launcher”. Just plain “Launcher” is the Hammerhead launcher that gives you the familiar Karoo startup screen.
  • Use the Nova Launcher to create a widget for the Hammerhead Launcher. To do this, go to the Nova Launcher screen, find a blank spot and press. Select “Widgets” at the bottom. Like this (https://www.dropbox.com/s/48zazc13b3rks ... 4.jpg?dl=0) and (https://www.dropbox.com/s/bmdzq93fwq5mh ... 5.jpg?dl=0):
  • This will give you a menu. Select the Novalauncher icon with “Activities” underneath. This will bring up a list of possible widgets. Scroll down until you find the Hammerhead logo with “Launcher” next to it (https://www.dropbox.com/s/3coj0a3e20evq ... 6.jpg?dl=0).
  • Your screen will now look like this (https://www.dropbox.com/s/oluka6eph4pxt ... 7.jpg?dl=0):
  • To run the Karoo software, select the Hammerhead logo from your home screen that will look like this (https://www.dropbox.com/s/vpvqv9y9ike19 ... 8.jpg?dl=0):
  • From NovaLauncher, run APKpure app. In there, search for “Switchr” - an app switcher. You can read about this separately, but it gives you a great way to quickly switch between apps you may want to use on your Karoo.
I also loaded the Amazon app store on my Karoo to get access to some paid apps. From this, I paid for Osmand+ which is the unlimited map and overlay download of Osmand as well as RadarScope (see below). Google for Amazon app store and install it the same way you did APKpure.

Apps I have on my Karoo that make it a great cycling experience
  • Switchr - an app that allows you to quickly switch between any app you’ve loaded and the Karoo software while riding.
  • SoundWave or PodCast Player: listen to podcasts while you ride.
  • Dropbox: Allows me to download files into various apps using my dropbox account.
  • Osmand: Open source and free navigation program including audio turn by turn directions. You can download waypoints and gpx files into this for routes through dropbox. Works very well. (http://osmand.net)
  • Radarscope: Color weather radar up to date within 1-2 minutes. I can see precipitation and how it impacts my ride. To do this, you will either need an installed SIM card (haven't tested) or set up your cell phone as a wifi hotspot and make sure Karoo is connected to it while you ride. This is a paid app but excellent.
  • MyRadar: Another weather radar app but free.
  • Bluetooth Audio Widget Free - as of the 1.15.216.3 update on 30 August 2018, the Karoo video app was removed and with it the ability to pair and manage bluetooth headsets or speakers. Adding this app (or one similar) replaces that functionality and is an actual substantial improvement over the video app. This is available on the Amazon app store.
Note on Osmand mapping. As of about 5 July 2018, it looks like there is now a free version and a paid version. The free version is named "Osmand" and the paid version is named "Osmand+". The free version limits you to about 7 regions you can download to the unit. In the USA, a "region" is roughly a state. Some countries are regions, in some countries the larger regions are the regions. You are also not able to download contours and "hillshades" that give your map some 3D-ish quality and let you know a bit more about the terrain. To get the paid version (which I did), I downloaded the Amazon store and purchased it there with my Amazon account. Cost for the paid version is about $9 USD or so and the contour plugin was about another $4 USD. You can also download the free version and when you hit the 7 regions downloaded, you can delete it and reinstall it and get 7 more regions. Just seemed easier to me to pay the $13 and help them finance continued development.

What I do now is I create folders of my GPX files on Dropbox and just open them as I see fit for the given set of routes I'd like to use. Clicking on them drives them into Osmand/Osmand+ and everything is ready to go.

Audio:
You can pair headphones and bluetooth speakers to the Karoo by going to the Karoo “Video” app and pairing the headphones there. Once you do this, you will be able to listen to podcasts, get spoken turn by turn directions etc… on the Karoo. I have also paired this very nice and inexpensive BT speaker to my Karoo. This speaker is tiny and has an excellent clip so it will clip to my jersey. It's about $15 on sale and gives excellent sound and is perfect for turn by turn audio navigation cues. I would love to see Hammerhead set up with audio cues for their device in general through bluetooth. This sort of product would be awesome. https://www.polkaudio.com/products/boombit

Bluetooth Audio - From system update 1.5.216.3 which was made available on 30 August 2018, Hammerhead has removed the Video app. This is where you paired your bluetooth devices in the past. In order to manage, pair and use your bluetooth audio devices you will need to side load one of the many Bluetooth Audio apps available for free on many of the Android app stores. I use the “Bluetooth Audio Widget free” that is available for free on the Amazon app store. When you start this app, you can pair devices, select the bluetooth audio profile to use for them, adjust the volume boost etc... It’s a big improvement over the video app for managing bluetooth and an overall improvement.
Last edited by JohnJ80 on Sat Sep 01, 2018 3:14 pm, edited 6 times in total.
Orrocle
Posts: 8
Joined: Thu Apr 26, 2018 5:15 pm

Re: Improving Karoo through the use of Android Apps

Post by Orrocle »

Thanks for all that detail and effort.
I am tempted to give it a go now.
One question though. If I have started a ride using the Hammerhead apps so that I am following a route with HR sensor and speed sensor. But I want to use Osmand as it has better quality maps. Can I load the same route into osmand and follow that instead?
At the end of the ride will the hammerhead apps have saved the fit file to load into strava?
Cheers Jon
harpmaster
Posts: 6
Joined: Sat Apr 14, 2018 9:09 am

Re: Improving Karoo through the use of Android Apps

Post by harpmaster »

Hi Jon. You can run both at the same time. Start the Karoo app for a ride, switch to Osmand and start from there as well. I don't use Strava but I expect it is possible to load the fitfiles.
TerryK
Posts: 2
Joined: Mon Jul 02, 2018 2:02 pm

Re: Improving Karoo through the use of Android Apps

Post by TerryK »

Thanks JohnJ80! Great article. Is it possible to use this method to install Trailforks and MTBProject apps on the Karoo? Would they need to be reinstalled after every Karoo update?
Thanks.
Terry
RossA
Posts: 56
Joined: Sat Mar 10, 2018 9:21 am

Re: Improving Karoo through the use of Android Apps

Post by RossA »

Would Komoot work as well?
JohnJ80
Posts: 272
Joined: Tue Apr 03, 2018 4:55 pm

Re: Improving Karoo through the use of Android Apps

Post by JohnJ80 »

I'm not an android expert but I believe any android app you can get into the unit should run fine provided it works under that version of the Android OS. I understand komoot and others do work.

After a system update it should all be Ok since HH is only installing their apps which are largely just android apps and their own launcher. While I was fooling with this at one point I decided to start over so I did a factory reset which looked like it pretty much restored the unit to out of the box status and I just started over. But caveats apply here - I don't know for sure and don't claim that I do. I'm sure it's possible to get yourself in a corner but I think it's a fairly safe thing to do. Anyhow be careful and no guarantees from me.

Osmand in my case was running completely separately from the Karoo software and they don't effect each other. Switchr is how you easily move between apps on Android and the Karoo apps.

In order to be able to follow the same route in each then install Dropbox (presuming you have an account) export a gpx file from the HH dashboard and save it in Dropbox. Install the Dropbox app on your Karoo and navigate to the gpx file you saved then do an "Open in...." From Dropbox in Osmand and it will save the route in its local store. You can then run them concurrently in both apps.

Fwiw the map detail in Osmand blows away the detail in the Karoo map PLUS you can get audio TbT. Another advantage is the Osmand navigation is not couples to a ride as it is in Karoo. You can switch routes, stop and start Nav without affecting your ride.
User avatar
Steve
Site Admin
Posts: 698
Joined: Tue Mar 06, 2018 2:56 pm
Location: Surrey, UK

Re: Improving Karoo through the use of Android Apps

Post by Steve »

Thanks for the guide. We do have a whole sub-forum intended for this sort of thing, the one called Karoo Development/Mods. There's an existing guide in that forum, though the one here does things a slightly different way and is more Mac-specific (though most bits would translate easily enough to Windows). And it's always good to have more information. I'm inclined to move this thread over there.
nordog
Posts: 186
Joined: Thu Mar 08, 2018 7:32 pm

Re: Improving Karoo through the use of Android Apps

Post by nordog »

That OSmand looks good.
bigfloor
Posts: 11
Joined: Fri Apr 13, 2018 4:16 pm

Re: Improving Karoo through the use of Android Apps

Post by bigfloor »

RossA wrote: Mon Jul 02, 2018 10:26 pm Would Komoot work as well?
Komoot works as well, tried it myself !
JohnJ80
Posts: 272
Joined: Tue Apr 03, 2018 4:55 pm

Re: Improving Karoo through the use of Android Apps

Post by JohnJ80 »

I’ve done several rides with Osmand so far and when I swipe back to the Karoo map and nav screens, they look pitiful in comparison. All I use Karoo for anymore is the data recording.

The apps I’ve added other than the launcher and switchr software are a podcast app, Osmand, and a weather radar app. Weather radar is very useful to me during the summer when we have thunderstorms in the area. Often I can ride around a cell or know when to beat feet for home by looking at the radar. Now it’s on the Karoo.
User avatar
Psyclist
Posts: 72
Joined: Fri Jul 06, 2018 1:26 am
Location: Colombo, Sri Lanka

Re: Improving Karoo through the use of Android Apps

Post by Psyclist »

JohnJ80 wrote: Thu Jul 05, 2018 10:13 pm I’ve done several rides with Osmand so far and when I swipe back to the Karoo map and nav screens, they look pitiful in comparison. All I use Karoo for anymore is the data recording.
I had kinda hoped for that when I bought my Karoo as I've been using OSMand on my phone almost every day for the last couple of years, but feared it was underpowered for such a demanding app -- good to hear that's not the case! How has battery life been for you? My Samsung phones drain fairly quickly when navigating.
I went on a non-cycling holiday just a week after getting the Karoo so actually trying it out will have to wait until August now ;)
Ket
Posts: 8
Joined: Thu May 24, 2018 7:46 am

Re: Improving Karoo through the use of Android Apps

Post by Ket »

Psyclist wrote: Fri Jul 06, 2018 1:40 am
JohnJ80 wrote: Thu Jul 05, 2018 10:13 pm I’ve done several rides with Osmand so far and when I swipe back to the Karoo map and nav screens, they look pitiful in comparison. All I use Karoo for anymore is the data recording.
I had kinda hoped for that when I bought my Karoo as I've been using OSMand on my phone almost every day for the last couple of years, but feared it was underpowered for such a demanding app -- good to hear that's not the case! How has battery life been for you? My Samsung phones drain fairly quickly when navigating.
I went on a non-cycling holiday just a week after getting the Karoo so actually trying it out will have to wait until August now ;)
The battery life when running OSMAnd is great, it draws a little more battery than the stock Navigation app but not much more, due to it's extra features like tbt audio etc, i would say no more than 10% per hour with airplane mode on, wifi off, bluetooth off (all my sensors are ANT+ capable and ANT is known for its low power consumption), adaptive screen brightness off, screen brightness at the lowest (still plenty bright), it is best to turn off or remove the Karoo's stock map screen, this will give you similar battery drain as running original nav app.
JohnJ80
Posts: 272
Joined: Tue Apr 03, 2018 4:55 pm

Re: Improving Karoo through the use of Android Apps

Post by JohnJ80 »

Psyclist wrote: Fri Jul 06, 2018 1:40 am
JohnJ80 wrote: Thu Jul 05, 2018 10:13 pm I’ve done several rides with Osmand so far and when I swipe back to the Karoo map and nav screens, they look pitiful in comparison. All I use Karoo for anymore is the data recording.
I had kinda hoped for that when I bought my Karoo as I've been using OSMand on my phone almost every day for the last couple of years, but feared it was underpowered for such a demanding app -- good to hear that's not the case! How has battery life been for you? My Samsung phones drain fairly quickly when navigating.
I went on a non-cycling holiday just a week after getting the Karoo so actually trying it out will have to wait until August now ;)
Sorry for the late reply - out of town away from the computer.

I don't see any real impact on battery life. Osmand doesn't seem to effect it at all. No app is running the GPS, that's on the OS to do and it provides position data to apps that ask for it. So once you have the GPS on, I think that's what you get in terms of battery consumption. All that said, Osmand is just way superior to HH's mapping and navigation - they are in completely different leagues. I wish HH would just drop what they have and integrate Osmand as the nav software in the actual system. It's so far ahead, I don't know how they could catch up unless they did that.

Another benefit is that you get audio cues with Osmand that you don't with Karoo. Pair the headset in the video app and you're good to go. The audio cues work just fine even if you turn off the screen. Today I even ran Karoo's routing in parallel with Osmand without an issue.

We're off on a credit card tour in Norway shortly and I wanted better navigation that what Karoo provides. Osmand does that and now the Karoo running Osmand will be our primary navigation support. Karoo is now stable enough on data collection, but the Nav UI is so bad if you are using TbT as to be unusable so you need to turn off navigation cues and follow the breadcrumb trail. Osmand solves that in spades.

Hope that helps. I would have no fear side loading apps into the Karoo. All Hammerhead did was essentially to design a phone in a different form factor and write a new launcher and a set of android apps that run in the application layer of Android. Adding in an app store and other side apps appears to have no impact. I've added a podcast player, a weather radar app and Osmand.
User avatar
Psyclist
Posts: 72
Joined: Fri Jul 06, 2018 1:26 am
Location: Colombo, Sri Lanka

Re: Improving Karoo through the use of Android Apps

Post by Psyclist »

JohnJ80 wrote: Sun Jul 08, 2018 8:13 pm Sorry for the late reply - out of town away from the computer.

I don't see any real impact on battery life. Osmand doesn't seem to effect it at all. No app is running the GPS, that's on the OS to do and it provides position data to apps that ask for it. So once you have the GPS on, I think that's what you get in terms of battery consumption. All that said, Osmand is just way superior to HH's mapping and navigation - they are in completely different leagues. I wish HH would just drop what they have and integrate Osmand as the nav software in the actual system. It's so far ahead, I don't know how they could catch up unless they did that.
Never mind, I'm travelling myself these weeks and am only occasionally online. That's really brilliant news -- can't wait to start screwing around with mine ;)
Another benefit is that you get audio cues with Osmand that you don't with Karoo. Pair the headset in the video app and you're good to go. The audio cues work just fine even if you turn off the screen. Today I even ran Karoo's routing in parallel with Osmand without an issue.
Whow, even better, another workaround for a big shortcoming of HH's software. I've posted on their user forums regarding audio but it seems that's not even planned.
Hope that helps. I would have no fear side loading apps into the Karoo. All Hammerhead did was essentially to design a phone in a different form factor and write a new launcher and a set of android apps that run in the application layer of Android. Adding in an app store and other side apps appears to have no impact. I've added a podcast player, a weather radar app and Osmand.
What would be the cherry on top would be a way to expand the Karoo's memory. I've done that before with a WRT54 router where someone wrote a drive to abuse some GPIO pins as an SD card interface. I suppose HH used at least parts of an off-the-shelf SoC design so there may be a chance to find an SD interface they just chose not to use because they figured most people wouldn't need it anyway. But my sqlite database for OSMand with DigitalGlobe tiles (for exploring trails where no openstreetmapper has gone before) has grown to 43 GB now :geek:
JohnJ80
Posts: 272
Joined: Tue Apr 03, 2018 4:55 pm

Re: Improving Karoo through the use of Android Apps

Post by JohnJ80 »

For the audio, I use my Aftershokz BT headset (bone conduction - nothing in your ear) and it works perfectly. I also use the Polk Audio Boom Bit, a portable BT speaker about as long as your thumb that clips very securely to your jersey. That works great when paired with the Karoo for audio and is perfect for TbT audio cues. You can get that here for $15 now on sale: https://www.polkaudio.com/products/boombit

WIth the 5July update, I am seeing a small bit of battery degradation but I suspect that is from the day theme in Osmand which renders maps with a light background and requires more power into the backlight. I suspect that if I used the Osmand night theme that issue would go away. HH says that their dark theme uses less battery than the light one and I’m conjecturing that the same is true for Osmand.

I’m with you on the memory. More would be wonderful but 9GB is pretty amazing for a bike computer anyhow. Would have been great if it had a microSD slot or something, wouldn’t it? The SoC almost certainly supports it but I’m betting that for cost reasons in a consumer product they have allowed neither the square inches on the PCB and for sure did not provide an internal connector if one were to take it apart. Probably Karoo-2.

I do wish that HH would quit trying to reinvent the wheel on navigation. There is no way they are ever going to catch up with the millenia of man-years of development work others have done. It would be easy to modify OSMand source code to make it work to their backend dashboard. When I see how seamlessly the gpx files and favorite files are transferrable from Dropbox, it would seem to be pretty straightforward to manage the syncing and pretty it up with a nice UI. Once you get a look at the Osmand apps with the hill shading, POIs, and the topo lines, you just don’t want to look at the crap Hammerhead maps (ick) with the polygonal shaped lakes and other geographic features without detail.
Alx
Posts: 8
Joined: Sat Aug 04, 2018 9:47 am

Re: Improving Karoo through the use of Android Apps

Post by Alx »

Have someone tried to install Locus Map? They provide excellent maps (1:30000 scale) and also the possibility to download maps from other maps vendor such as Kompass.
Alx
Posts: 8
Joined: Sat Aug 04, 2018 9:47 am

Re: Improving Karoo through the use of Android Apps

Post by Alx »

Alx wrote: Sat Aug 04, 2018 1:49 pm Have someone tried to install Locus Map? They provide excellent maps (1:30000 scale) and also the possibility to download maps from other maps vendor such as Kompass.
I did it by myself and it works.
Crewone
Posts: 3
Joined: Sat Apr 14, 2018 3:55 pm

Re: Improving Karoo through the use of Android Apps

Post by Crewone »

Alx wrote: Sat Aug 04, 2018 1:49 pm Have someone tried to install Locus Map? They provide excellent maps (1:30000 scale) and also the possibility to download maps from other maps vendor such as Kompass.
I've been a Locus Map advocate for some time now. It is the best when you pair it with vector maps like http://freizeitkarte-osm.de/android/en/nordeuropa.html (Just open a browser on the karoo, click the Locus Icon and they will be installed! Easy-peasy!)
JohnJ80
Posts: 272
Joined: Tue Apr 03, 2018 4:55 pm

Re: Improving Karoo through the use of Android Apps

Post by JohnJ80 »

It looks like the latest revision has removed the video app from the Karoo’s software. The video app was where you paired a bluetooth headset or speaker if you wanted to use audio from your Karoo (podcast streaming or audio turn by turn cues). Turns out this is actually a good thing because the BT management in Karoo was pretty poor. There are a number of Bluetooth management apps that are available on Android that you can load that do a better job. For example, I am using the “Bluetooth Audio Widget (free)” from “magdelphi” on the Amazon app store and think it’s a pretty good app for handling this - far better than the Karoo video app.
JohnJ80
Posts: 272
Joined: Tue Apr 03, 2018 4:55 pm

Re: Improving Karoo through the use of Android Apps

Post by JohnJ80 »

I wrote some shell scripts that run under Unix on the mac that will backup and restore side loaded apps. It's a bit crude right now, but it does it as a batch operation. I've also added the write up I did up above and adding the pictures. The whole thing is available on Github.

https://github.com/JohnJ80/Karoo-App-Sideloading/wiki

It's totally brute force approach, and like all things Karoo - you need to be careful and follow the "Simon says..." types of instructions. That said, installing apps after a hard or factory reset is far, far faster and can be done in a few minutes. Especially helpful for restoring Osmand and Karoo maps which can be sizable and take a very very long time to download over the internet to the Karoo. You can still do that, but once you do, you can back them up to your PC and restore it quickly.

I have specifically enumerated the files in the scripts that I needed backed up (Osmand and Komoot). You want to do it that way because the target directory on the Karoo has a hammerhead directory in it and overwriting that is probably done at your peril.

So as they are set up now, these scripts will back up all the apps as apk files, Osmand and Komoot data directories. You could take these down and edit the to match your specific configuration. I think I almost advise doing that so that you know what you have, where it's going and you take a direct cognitive action to do that.

Anyhow, hope that helps.

J.
Post Reply