Android Wear Version of OpenSeizureDetector?

With Pebble watches no longer being produced we will need a different hardware platform if we keep the OpenSeizureDetector project going.

We could just leave it and use the Embrace watch, but I am not that happy with Embrace for two reasons:

  • I am not convinced about its detection reliability – I can not make it go off doing what I think of as seizure-like movements (but other people report it working well for them, so it could just be me).
  • The alarm annunciation infrastructure is very complex – the watch talks to the paired phone, which uses a wifi or mobile internet connection to connect to the Empathica servers.  The servers then use the mobile phone infrastructure to make a phone call.   But I mostly want a device in the next room to go ‘beep’, so I would rather have a more direct connection (OpenSeizureDetector uses WiFi so avoids a lot of the infrastructure)

So, given that I am looking for an alternative platform for OpenSeizureDetector.   It is very tempting to try to make one – it would be fun to do the electronic design and firmware, but that would be a big undertaking, and not something I could do in my spare time, so I need a commercially available platform.

I have been looking at Android Wear, which has been suggested by a few people – I did not use this before because Android Wear devices are so much more expensive than Pebble Watches.  For Android Wear to be feasible, we need to confirm a couple of things:

  • We can obtain accelerometer readings at a high enough frequency (~50 Hz), and do Fourier analysis on it to do the seizure detection.
  • The battery consumption has to be reasonable.

I have made a proof-of-concept Android Wear app to test it out.   The App does the following:

  • Starts a background service that collects accelerometer data for about 5 seconds, then calculates a Fourier Transform of the data….then repeats indefinitely.
  • The activity connects to the service and shows the number of samples collected, so you can see it is doing something.

It does not look very exciting – see picture of it running on my Sony Smartwatch 3 above.
...but most importantly, it is surprisingly (suspiciously so if I am honest) frugal with the battery.   The second half of this trace has the new app running, and it is still only draining of the order 1% per hour.

So based on this, I think porting OpenSeizureDetector to Android Wear is feasible.   There is quite a lot to do to get it working though:

  • Communication to the phone (both settings and alarm status updates)
  • On-watch user interface (mute, manual alarm etc.)
  • Port Seizure Detection algorithm – the acceleration units are different in AndroidWear compared to Pebble, so we need to do some scaling so that the seizure detector settings can be the same.
  • Package the Android Wear App – it will probably be a different Google Play Store app, so we will need to integrate that into the OpenSeizureDetector Android App.

Fortunately there are a couple of other people interested in helping, so there is a fair chance of getting this finished this year.