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.