New in version 1.1.17
- Added support for offline Mapsforge maps
- Simplified the compass direction heading indicator (True North or Magnetic North)
- Added pause duration to track statistics
- Fixed GPS location requests and waypoint timing issues
- Fix the initial cold white background splash screen on Android 12 and newer
- Improved performance by replacing mapview xml implementation to full compose
MBCompass is a free and open-source compass and navigation app
without ads, in-app purchases, or tracking. Lightweight, focused,
and built for real use.
Compass
- Accurate compass with true north and magnetic north
- Sensor fusion (accelerometer, gyroscope, magnetometer) for stable readings
- Real-time magnetic field strength (µT)
- Auto-alert when accuracy drops low enough to matter
GPS & Maps
- Live location on OpenStreetMap
- Offline maps via Mapsforge point MBCompass to a folder
containing any .map file and toggle between online and offline
- Toggle between OSM tiles and offline maps in Settings
Track Recording
- Record routes with start, pause, resume, and background support
- Smooth polyline rendering on the map
- Track stats: distance, duration, average speed, elevation gain/loss,
min/max altitude, elevation profile
- Star and sort saved tracks
- Export as GPX : compatible with OsmAnd, Garmin, and any
standard mapping tool
App
- Light, Dark, and AMOLED themes
- Custom bottom navigation bar
- Landscape orientation supported
- Screen stays on during navigation
- Runs on Android 6.0+
- Under 2 MB including offline map support
Privacy
- No analytics, no crash reporter, no ad network
- No Google Play Services dependency
- Location processed on-device only
- Source: https://github.com/CompassMB/MBCompass
Not just a compass. Not a full navigation app.
MBCompass sits in between, direction, live map, track recording,
and offline maps without unnecessary complexity.
Donate
Versions
Although APK downloads are available below to give you the choice, you should be aware that by installing that way you will not receive update notifications and it's a less secure way to download. We recommend that you install the F-Droid client and use that.
Download F-Droid
-
arm64-v8a
armeabi-v7a
x86
x86_64
This version requires Android 6.0 or newer.
It is built and signed by the original developer, and guaranteed to correspond to this source tarball.
Permissions
-
access approximate location only in the foreground
This app can get your approximate location from location services while the app is in use. Location services for your device must be turned on for the app to get location.
-
access precise location only in the foreground
This app can get your precise location from location services while the app is in use. Location services for your device must be turned on for the app to get location. This may increase battery usage.
-
run foreground service
Allows the app to make use of foreground services.
-
run foreground service with the type "location"
Allows the app to make use of foreground services with the type "location"
-
have full network access
Allows the app to create network sockets and use custom network protocols. The browser and other applications provide means to send data to the internet, so this permission is not required to send data to the internet.
-
show notifications
Allows the app to show notifications
-
com.mubarak.mbcompass.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION
Download APK
2.1 MiB
PGP Signature
|
Build Log
New in version 1.1.15
- Added offline map support: load any Mapsforge .map file directly from a folder on your device
- Added a toggle in Settings to switch between online osm tiles
and offline maps
- Added per-app language support for Android 13+ users can now change MBCompass's language independently of system settings
- Migrated map screens from legacy XML layouts to full Jetpack Compose, significant performance and rendering improvements
- Fixed GPS waypoint density: added minimum time and distance
filters to
-
arm64-v8a
armeabi-v7a
x86
x86_64
This version requires Android 6.0 or newer.
It is built and signed by the original developer, and guaranteed to correspond to this source tarball.
Permissions
-
access approximate location only in the foreground
This app can get your approximate location from location services while the app is in use. Location services for your device must be turned on for the app to get location.
-
access precise location only in the foreground
This app can get your precise location from location services while the app is in use. Location services for your device must be turned on for the app to get location. This may increase battery usage.
-
view network connections
Allows the app to view information about network connections such as which networks exist and are connected.
-
view Wi-Fi connections
Allows the app to view information about Wi-Fi networking, such as whether Wi-Fi is enabled and name of connected Wi-Fi devices.
-
recognize physical activity
This app can recognize your physical activity.
-
run foreground service
Allows the app to make use of foreground services.
-
run foreground service with the type "location"
Allows the app to make use of foreground services with the type "location"
-
have full network access
Allows the app to create network sockets and use custom network protocols. The browser and other applications provide means to send data to the internet, so this permission is not required to send data to the internet.
-
show notifications
Allows the app to show notifications
-
com.mubarak.mbcompass.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION
Download APK
2 MiB
PGP Signature
|
Build Log
New in version 1.1.13
- Fix distance not updating after pause/resume from notification
- Fix UI issues with top app bar and notifications
- Improve tracking reliability and stability
- Redesign track details with elevation chart and M3 cards
-
arm64-v8a
armeabi-v7a
x86
x86_64
This version requires Android 6.0 or newer.
It is built and signed by the original developer, and guaranteed to correspond to this source tarball.
Permissions
-
access approximate location only in the foreground
This app can get your approximate location from location services while the app is in use. Location services for your device must be turned on for the app to get location.
-
access precise location only in the foreground
This app can get your precise location from location services while the app is in use. Location services for your device must be turned on for the app to get location. This may increase battery usage.
-
view network connections
Allows the app to view information about network connections such as which networks exist and are connected.
-
view Wi-Fi connections
Allows the app to view information about Wi-Fi networking, such as whether Wi-Fi is enabled and name of connected Wi-Fi devices.
-
recognize physical activity
This app can recognize your physical activity.
-
run foreground service
Allows the app to make use of foreground services.
-
run foreground service with the type "location"
Allows the app to make use of foreground services with the type "location"
-
have full network access
Allows the app to create network sockets and use custom network protocols. The browser and other applications provide means to send data to the internet, so this permission is not required to send data to the internet.
-
show notifications
Allows the app to show notifications
-
control vibration
Allows the app to control the vibrator.
-
com.mubarak.mbcompass.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION
Download APK
2 MiB
PGP Signature
|
Build Log