Using the watch as a skin conductance sensor

Posted on
  • Hi all,
    I bought the Bangle.js watch to experiment with its sensors and create a program for behavior awareness and intervention (I am an individual struggling with anxiety and anger issues).
    The program that I have in mind will function as a stress indicator; this program will use the correlation of a certain sensor readout to stress and will display an alert if the sensor's value goes beyond a predefined threshold.
    Because I find the heart rate sensor to be too flimsy for accurate HR measurements, I want to use a skin conductance sensor instead. However, I have no idea where to start, regarding watch modifications and sensor placement. One issue is finding the connections on the Bangle.js' board that I can use, and another would be creating and connecting the circuitry. I also know well that passing a current through skin can cause electrical burns with prolonged usage--I want to prevent this while still being to wear the watch on a daily basis and without any inconvenient maintenance/precautionary procedures.
    Given these issues, does anyone have any ideas how I should approach them?

  • Hi!

    Well, I guess the easy option is to try and find some existing Bluetooth LE skin conductance sensor, and then interface to that via Bluetooth.

    However, if you're willing to do some hacking around then I think it wouldn't be too hard to make something yourself with Bangle.js. Luckily on the heart rate sensor board inside there's already an analog input - some notes about where are here: https://www.espruino.com/Bangle.js+Techn­ical#heart-rate-monitor-pcb

    So I'd suggest something like:

    • Take the back off the Bangle.js (https://www.espruino.com/Bangle.js+Disas­sembly) and remove the little heart rate window from the back
    • Unsolder all components from the heart rate monitor PCB
    • Attach a 200kOhm resistor between the HRM analog input and GND
    • Attach one wire to the HRM analog input, and one wire to the HRM power pins, and then bring them out through the hole in the back and attach them to two elecrodes.

    You should then be able to get an idea of conductance between the two pads with something like:

    Bangle.ioWr(0x80,1); // HRM power on
    var value = analogRead(D29); // read HRM value
    Bangle.ioWr(0x80,0); // HRM power off
    
  • Hello,

    For skin impedance measurement low frequency signal is used around 200Hz so there is no tissue damage. I would say you need to hack in two electrodes to get a valid data. One touching wrist and the other on top to close the circuit with your other hand finger.
    skin impedance measurement
    and
    skin impedance for wearable
    and
    bio measurements watch

  • Hi,
    I wasn't able to give an immediate response to the new posts; I'm preoccupied with my college classes, and this project is more or less in the backburner.

    Thanks for the detailed instructions, @Gordon. I currently do not have soldering tools to remove and attach electronics, but I could get them a few weeks from now. This is going to be my first time modifying PCB boards, although I have some experience in soldering and the proper equipment to perform it.

    @kri100s, the links you have provided seem to detail a manufacturer's component. I could sample it and design a PCB to mount it to the analog pins, but I'm not sure what other components it would need (it has 56 pins which is a little intimidating). I don't have too much experience with electronics and I'm pretty terrible at reading PCB schematics and block diagrams; in my spare time, I'll try to improve reading these diagrams.

    Eventually, I want to create custom straps with embedded electrodes for the sensor. If I go the extra mile, I could also add a new HRM. For now, I'm seeing if I can modify the watch to accommodate just the skin-conductance sensor.

  • Post a reply
    • Bold
    • Italics
    • Link
    • Image
    • List
    • Quote
    • code
    • Preview
About

Using the watch as a skin conductance sensor

Posted by Avatar for kp115069 @kp115069

Actions