Implications of Pebble Sale to Fitbit on OpenSeizureDetector

A couple of weeks ago Pebble announced that they have been bought by Fitbit (who make fitness tracking devices), and no longer sell or support smart watches.

A few people have asked what this means for OpenSeizureDetector.    My thoughts are:

Short Term (around 1 year)

No change – if you already have a Pebble watch or can buy one, you will be able to install the Pebble Android App from Google Play Store to connect your pebble to the phone, and install OpenSeizureDetector on it.

It is possible that Pebbles may become scarce (or looking more positively, they may get cheap – Argos and Amazon are selling them for £49, and cheaper if you like pink! currently says they only have 5 in stock (17 December).

Medium Term (1-3 years)

The Pebble Android App and Pebble firmware may no longer be available from Pebble.   There is an open source project that implements the Bluetooth communication with the watch, so I think it will be possible to bypass the Pebble Android App and build this all into OpenSeizureDetector (OpenSeizureDetector does not need any of the Pebble web services to work) –  I will look at doing this over the winter while the Pebble software is still available.

Long Term (>3 years)

Pebble watches are unlikely to be available so we will need an alternative device.  The options are:

  1. If we are very lucky FitBit may release a pebble-like device with software development kit so you can program it like you can the Pebble, as they bought all the Pebble intellectual property.   I am not too hopeful about this – I did try to work out how to program a fitbit before I discovered Pebble, and it is all closed-source protocols….
  2. Android Wear – Android Wear watches such as Moto 360 should be capable of doing what OpenSeizureDetector does on the pebble, and use the same Android App infrastructure (since Verison 2 I have the internal structure of the code set up to use different devices).   I haven’t done this yet because Pebbles were so much cheaper than Android Wear devices, so no point using anything else….but now I’ll have to look at it.
  3. Embrace – the Embrace ‘watch’ is doing something very similar to OpenSeizureDetector and includes skin electrodes to detect stress.  This should give better false alarm discrimination than just using Acceleration like I do with the Pebble.   But, up to now I am not impressed with the reliability of the device – it drops bluetooth connections without any of the fault warning beeps that we have built into OpenSeizureDetector – I am minded to try to use Embrace as a data source for the OpenSeizureDetector alarm notification system rather than use their Android App, which relies on an active internet connection to raise alarms.
  4. Another Device – I had looked at AngelSensor, and I do have a device to work on, but I am not sure if the company still exists – no point developing for a device that no-one can get hold of….
  5. Anything else?  I’m open to suggestions for alternative devices with accelerometers that we could use the OpenSeizureDetector system with.


OpenSeizureDetector will continue to work while Pebble Watches are available (I  am confident enough that I just bought Benjamin two spares for when his current ones break).

But we need to decide what to do once Pebble Watches are not available any more…

New Features in OpenSeizureDetector V2.3.0

I have just published V2.3.0 of OpenSeizureDetector to the Google Play Store as a Beta test release.

This release introduces three changes requested by users:

  1. Add the user’s location to the SMS alarm notifications – it now sends two SMS messages – the first one gives the last known location (if we have one).  It then spends a minute trying to get the best location information it can, and sends that location as a second SMS after a minute.
  2. Added an option in the General Settings screen to auto-start the app when the phone boots.
  3. Improved Start-Up screen that now checks whether the Pebble App is installed and provides a button to install it for you if not.

To install this version you need to register as a Beta tester here.

Please let me know if you have any issues with this version.

(note on version numbering – I messed up the version numbers on the last few releases – the first two figures are supposed to match the version of the Pebble App that the Android App works with, but I forgot.    Version 2.3 of the Pebble App is included as part of the Android package, so the Android Package is V2.3.0).

Detection of Short Seizures

I originally set up OpenSeizureDetector to detect long (>1 minute) seizures so it waits to see seizure-like shaking for several seconds before raising alarms.

A couple of users said they would like to detect short (few second) seizures, so I have created a new version of the app that allows the sample period to be set by the user, so you can tell it to analyse data say every second rather than the default 5 seconds.

New settings in v2.0.7 - sample period and sample frequency.
New settings in v2.0.7 – sample period and sample frequency.

I suspect that doing this will give a lot of false alarms, but I have provided this so the users can try it and see if it works for them.

This feature is available in version 2.0.7 of the OpenSeizureDetector Android app, and version 2.3 of the watch app.  The correct version of the watch app is included in the Android package so you can install it from the OpenSeizureDetector menu.

It is available on the Beta testing channel of Google Play Store – subscribe here to access it.

As usual, feedback would be appreciated – if you do not change the settings, it should behave the same as before – please let me know if this is not the case.


OpenSeizureDetector Reliability Issues?

We have been woken up during the last couple of nights with the annoying warning pip from OpenSeizureDetector.   I am not sure what the issue is because I don’t think any of the software has changed for a few weeks and it just started happening.

There have been two issues

  1. the ‘server’ phone disconnected from our home wifi for some reason and only re-connected when I turned its screen on (no idea why, but not too much of a worry – probably some sort of wifi interference from somewhere).
  2. the ‘server’ phone showed a ‘Fault’ warning with ‘Watch App Not Running’ – this means it has not received any data from the Pebble watch recently.   The watch appears to be working ok, so I don’t know if it is a problem with the watch not sending data, or the Android Pebble App on the phone not telling OpenSeizureDetector that it has received some data for it.

I have set up our spare watch and phone to see if they do the same – I might end up swapping over the watches – the spare is older though and its battery is not as good and its screen keeps corrupting, which might annoy Benjamin…..

Is anyone else seeing similar problems?  Please let me know ( or the OpenSeizureDetector Facebook page).




Beta Release of OpenSeizureDetector 2.0.6

I have been working on a new
release of OpenSeizureDetector for some time, so I thought I ought to release it to other users.

The main changes areScreenshot_2016-07-29-08-58-54Screenshot_2016-07-29-08-58-41

  • Added menu option to view log files to help with tuning it for yourself.
  • Changed main screen graph to bar chart and highlight frequency region of interest.
  • Fixed problem with log files not showing on web interface.
  • Added system log file to help with de-bugging start-up/shutdown issues
  • Improved handling of watch app settings to make sure
    they are loaded correctly without having to re-start app (but I’d still
    recommend re-starting the watch app manually to be sure 🙂 )
  • Added options to switch off spectrum display on watch to save battery.
  • Reduced amount of bluetooth comms to the watch to save battery.
  • Added support for future watch app features (such as raw mode and digital
    filter mode).
  • Added watch app to Android phone app package so watch app can be
    installed directly from phone rather than using pebble store – to make sure that watch app and Android app are always compatible.

I have just released V2.0.6 to the Beta Test part of the play store – you need to register as a tester to use it (    I’ll give it a couple of days and publish it as the main version.

Note that when you install the new android App you MUST select the ‘Install Watch App’ button or menu item to install the new watch app that is compatible with it (V2.2 of the watch app).

Issues with Pebble Time [Solved?]

Before Christmas I released an updated version of the OpenSeizureDetector watch app that will run on a Pebble Time, and at least one user got it working ok.  Another user recently reported that although the app runs on the Pebble Time, it does not send data to the phone.

I have made an updated version of the phone app addresses these issues, so if you are using OpenSeizureDetector on a Pebble Time, or a Pebble Classic using the “Pebble Time” phone app, I would recommend using  version 2.0c of OpenSeizureDetector.   Screenshots of V2.0 shown below – it now includes ‘approach to alarm’ indicator bars.

(Note that this version is a test one, so you may have to allow ‘untrusted sources’ in your android settings to get it to install – once I am happy that it is working ok, I will release it on Play Store.)



Comparison of Watch-Based Seizure Detectors

There are now a few watch based seizure detectors available.   The following table attempts to show a comparison between them:

Feature / App Open Seizure Detector Neutun Pebble Seizure Detect Smart Monitor
Open Source Yes No Yes No
Subscription Required No No (at the moment??) No Yes
Operating Systems Android Android / IOS Android / IOS ?
Takes over Pebble Watch Yes No – background process Yes No?
Fault Monitoring and Warning Alarms Yes No No Yes
SMS Text Message Alarms Yes Yes? Yes Yes
Web Based Alarms Yes No No No
Local (wifi) based Alarms Yes No No No
Seizure and Medication Tracking No Yes No Not yet

Improving Seizure Detector User Interface

I am working on a re-write of the OpenSeizureDetector alarm system. Most of the changes are not visible to the user – they are making it possible to use different detector hardware like the Embrace watch when it is available, but some will affect the user interface, so I’d appreciate any feedback before I do the update….

One change I am thinking of is to include some indicators to show how far the system is off alarming (at the moment I look at the graph on the display, but that is not easy to interpret).  The indicators are two horizontal bars which extend as either of the two seizure detection parameters increases – when both get to 100% (filling the screen), the system alarms – they change colour to show how close to the alarm level they are:

  • blue = ok,
  • yellow = close to alarm level,
  • red = exceeded alarm level)

(See the Seizure Detection Algorithm page for more details of how it works).

I wondered what users think of the idea – is it an improvement?  Would there be a better way of showing it (I am wondering about two semi circular lines that meet when the system is in an alarm state?), are the lines a bit too thin and dainty?  Does anyone look at the graph or should we scrap it and go for a much simpler user interface?

Both Power and Spectrum Ratio OK
Power OK but Spectrum Ratio very close to alarm level (ie we have movement in the right frequency range, but the movement is too small to alarm)
Both power and spectrum ratio exceeding the alarm level (we have large movement in the correct frequency range)

Thoughts?   The source code for this version is in the new project github repository under the “v2.0” branch (


Graham (email

Added Fall Detection Function

We have added a simple fall detection function to the OpenSeizureDetector app.   This means that the system will alarm if either the shaking associated with a tonic-clonic seizure is detected, or if a period of free-fall followed by large acceleration, which could indicate a person falling to the ground is detected.   See Seizure Detection Algorithm for more info.

The fall detection function is disabled by default and needs to be switched on using the Android app settings screen.

Please report any issues (or successes) with this new version (Android App and Pebble App).

Trouble with False Alarms

Benjamin has recovered well from his surgery (scoliosis correction) and is feeling quite his usual self again today after a good trip out to the football, with much bouncing around his bedroom sorting things (no sound on this video – imagine loud ‘Haaa’ sounds!).

This behaviour is really challenging to differentiate between this and a seizure using the simple algorithm we use in the pebble watch, so he keeps setting off his seizure detector alarm.   While it’s nice to know he is feeling better, the beeps get annoying and you start to ignore them if they go off too often, so I had to do something about it….

I have had a look at the alarm log and in all cases the spectral power in the 5-10Hz region of interest is well over the threshold level, but the ratio of the power in the region of interest to the whole spectrum is borderline – the ratio alarm level is set to 30 by default (=3.0 ratio) and he is generating a ratio of between 3 and 4.   This means that a relatively minor change to the ratio alarm level could solve the problem without compromising the detection capability.   I have increased the ratio threshold to 40 (=4.0 ratio).  At this level it just avoids going off with the sorting movements, but still alarms easily with a seizure-like shaking of the arm without other movement going on too.   Will test for a while and see how it goes.

I think I’ll write a page describing what the settings are and how to tune them in case other people have trouble….

[Note, I think I had done this before (but maybe not increased the ratio threshold as far as 4.0), but re-installed the app and lost my settings – should have written them down!].