Update on Custom Hardware Seizure Detector

I have been working on the custom hardware seizure detector for a couple of weeks.    The code and schematics are on Github. 

Progress to date:

  • We can write firmware for the ESP32 microcontroller using the FreeRTOS framework 🙂
  • Access the I2C bus to talk to external sensors (such as the ADXL345 accelerometer).
  • Wire multiple devices to the I2C bus (I have a heart rate and blood oxygen saturation sensor, and a small display on it too).
  • Proved that we can communicate with both the accelerometer and display modules.

In Progress at the moment:

  • Modifying the I2C bus access code to make sure that only one process accesses the bus at a time, otherwise things will go horribly wrong when we try to use multiple devices, all managed by their own software process (task in FreeRTOS speak).
  • Ordered the main parts for the prototype (I am feeling lucky that I will get the ESP32 based system power consumption down far enough to complete the Proof-of-Concept.

The current proof-of-concept hardware is a rats nest of interconnected bought-in modules – not pretty!

Proof-of-Concept OSDWatch Hardware (ESP32 based)

Work to Do to Complete Proof-of-Concept

  • Complete the I2C bus access framework and routines to access:
    • ADXL345 Accelerimater
    • MAX300102 Heart Rate and Saturation module
    • OLED Display
  • Write code to send data to parent device over bluetooth periodically.
  • Check Power Consumption
    • Switch off the un-used ESP32 peripherals (e.g. WIFI) to reduce power consumption to give us at least 12 hours from a small LiPo battery.

Work to do for Prototype

  • Design a custom PCB to hold the main components (rather than using bought in modules that are wired together) – necessary to get it down to wrist watch size.
  • Get a small number of PCBs manufactured (there seem to be a few companies that do this cheaply in China).
  • Design a watch case, and manufacture a few using 3D printing.
  • Populate PCBs with components and solder them.
  • Test using proof-of-concept code.
  • Extend the OpenSeizureDetector android app to have a new Data Source which will be the custom OSD watch
  • Update the firmware to communicate with the Android App.


Leave a Reply