The system uses an Arduino microcontroller, connected to a Freescale MMA7361 three axis accelerometer.
The accelerometer is a tiny (5mm x 3mm) surface mount device, so soldering it is a challenge - you can see how I did it here.
To enable data logging so I can tune it to get the frequency response, threshold etc. the arduino is also connected to a real time clock module and a SD card module.
The code is in the accelerometer_version folder of the github repository. It uses fourier transforms to obtain the frequency spectrum of the accelerometer data. It issues a warning beep if the amplitude over a given frequency range exceeds a threshold for a given period, or a full alarm buzz if the movement is sustained for a longer period..
The analysis of the data from me shaking my arm to simulate a seizure with the device warn on the wrist or on the biscep is shown below: It shows that the sensitivity is comfortably above the background noise level when worn on the wrist, but if it is worn on the biscep the signal is close to the noise level. This means that this is a viable seizure detector, provided the patient will wear the accelerometer on the wrist (or maybe ankle).
To make this a viable system we would need to
- Make a lightweight wrist mounting (probably a wrist watch case).
- Link to a processor and battery pack via wires.
- Or get hold of a device that includes accelerometer, processor and battery in one device - maybe an android device mounted in a wrist watch such as this.
- Then persuade the patient to wear it - not easy in Benjamin's case!.