FIND3. This app will allow you to use
your phone to perform constant scans of Bluetooth and WiFi signals and levels
that can be associated with certain locations in your home to allow internal
positioning. To receive the data, the FIND3
public server can be used or a personal server can be deployed.
The Framework for Internal Navigation and Discovery (FIND) is like GPS, but for
your every room in your house/business, with using only a simple smartphone or
Your device (laptop or a smartphone) tracks itself by actively scanning for
nearby Bluetooth/WiFi devices and records their signal strengths and
classifying them based on known signal strengths for a given location.
This repository is a complete re-write of the [github.com/schollz/find previous
version of FIND]. The API for sending fingerprints (/track and /learn) is
backward compatible. There are several notable improvements on the previous
* Support for any data source, Bluetooth / WiFi / magnetic fields / etc. (previously just WiFi)
* Passive scanning built-in (previously required a separate server)
* Support for Bluetooth scanning in scanning utility (previously just WiFi)
* Meta-learning with 10 different machine learning classifiers (previously just three)
* Client uses Websockets+React which reduces bandwidth (and coding complexity)
* Rolling compression of mac addresses for much smaller on-disk databases (see mapslimmer)
* Data storage in SQLITE-database (previously it was BoltDB)
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
This version requires Android 6.0 or newer.
It is built and signed by F-Droid, and guaranteed to correspond to this source tarball.
pair with Bluetooth devicesAllows the app to view the configuration of the Bluetooth on the phone, and to make and accept connections with paired devices.
access Bluetooth settingsAllows the app to configure the local Bluetooth phone, and to discover and pair with remote devices.
access approximate location only in the foregroundThis 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 foregroundThis 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.
connect and disconnect from Wi-FiAllows the app to connect to and disconnect from Wi-Fi access points and to make changes to device configuration for Wi-Fi networks.
view Wi-Fi connectionsAllows the app to view information about Wi-Fi networking, such as whether Wi-Fi is enabled and name of connected Wi-Fi devices.
have full network accessAllows 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.
prevent phone from sleepingAllows the app to prevent the phone from going to sleep.