Galvanic skin response sensor
The Grove GSR module: two finger straps on a lead and a small board that turns your skin's conductance into a voltage. Aliases: GSR, skin response, EDA sensor.
Skin conducts a little electricity, and it conducts more when it sweats, even
slightly. A startle, a deep breath or a nervous moment can raise it within seconds.
The board puts a small voltage across the two straps, an op-amp turns the current that
flows into a voltage, and that is SIG. Sweatier skin conducts more and reads
lower.
Pins
| Pin | What it does |
|---|---|
GND |
Ground. |
VCC |
Supply, 3.3 V to 5 V. |
SIG |
The reading, ratiometric to VCC: half the supply with no fingers on the straps, lower as the skin conducts more. |
While it runs
Drag the slider to set the skin's conductance, in microsiemens. 0 means no fingers in the straps. Calm, dry fingers sit around 2 µS; a startle lifts that by a few.
What the model gets right
The reading follows the module's own published formula,
R = (1024 + 2x) * 10 k / (512 - x), run backwards from the conductance you set, so
the same sketch that converts a reading to ohms on a real module gets your number back
here. Open straps read 512 on a 5 V Arduino. Below 3 V the module is not running and
SIG is not driven.
What it does not model
How slowly real skin responds (a peak rises over one to three seconds and fades over ten), temperature, the trim pot (the model assumes it is set the way the module's instructions say, with open straps at 512), and the electrodes' own drift.
It is also not a lie detector, and nothing is. Skin conductance rises with surprise, effort, laughter and a cold room as readily as with a fib. It is a lovely sensor for a science fair about the body's stress response, which is exactly how to present it.
Common mistakes
Expecting a bigger number for more sweat. Turn it around in the sketch, or convert the reading to microsiemens with the formula above and compare against a baseline taken while the person is calm.
See it in action
Lie detector, science fair style reads this sensor next to a MAX30102 heart rate sensor and shows the change from a calm baseline on an LED bar. Open it at /templates.