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.