Clients that you can use with FIND

FIND supports many different types of clients. The code to use the FIND server is very simple, so it is generalizable to many devices. Click on a device below to get started on a particular device.


Android App

The current app can be downloaded from the Google Play store for free. The current version is available here.

Alternatively, there is a 3rd party app that has optional Tasker integration available here on the Google Play store.

The source-code for the current app is available on Github. The source-code for the old app is also available on Github.

Electric Imp

Android App

The Electric Imp is an amazingly easy way to integrate just about any hardware device to the internet. The impExplorer is a real ideal client for FIND as it can include a wake-on-shake with its builtin accelerometer. Its also inexpensive and easy to program.

The program I’ve used is below.

Raspberry Pi

Android App

Raspberry Pi is very easy to use as a client for FIND.

To get started, first download the findclient for ARM. Then unzip and just run!

Here are the commands you can use to get started:

sudo ./findclient -g YOURGROUP         (for tracking)
sudo ./findclient -g YOURGROUP -e      (for learning)

Particle Photon

Android App

The Particle Photon is a $20 device that can be used as a tracking device using the following code. The code allows for a “sleep” mode that can be activated by pressing “Setup” once, and turned off by pressing “Setup” twice. This mode allows more battery life.

You can access the FIND program using HTTP or MQTT. I’ve included example sketches that can be used for each.

HTTP-based messaging

Some notes:

  • You must use HTTP, not HTTPS. That’s why the server is set to
  • You can not flash from WiFi is the board is in sleep mode. Thats what the button is for. If this fails, you can reset by unplugging, holding down “Setup” and then plugging in while holding down “Setup.” Then link up the Photon like you did from the beginning.
  • The Photon ESP chip sees fewer macs than a Android does, probably because of the antenna. Thus, its best to not use platform-specific information and you should set the mixins to 0 on the server (see API).

MQTT-based messaging

This version uses significantly less bandwidth than the HTTP version. It takes a little more configuration, see the MQTT documentation for how to get started with MQTT.


Using a nextTime of +2000ms it uses 147 mA.

Using a nextTime of +5000ms, it uses 113 mA.

Using a nextTime of +10000ms, with SLEEP ACTIVATED, it uses 81 mA

Using a nextTime of +60000ms, with SLEEP ACTIVATED, it uses 57 mA


Android App

Coming soon! You can track the progress or contribute at the Github Issue.