ProtoCentral tinyADC TLA2024 12-bit Delta-Sigma ADC breakout board - Qwiic / STEMMA QT
₹695
Adafruit QT Py ESP32-C3 WiFi Dev Board with STEMMA QT
₹995
ProtoCentral tinyGSR v3 — Absolute Skin Conductance (GSR/EDA) Sensor, Qwiic / STEMMA QT
by
ProtoCentral
Research-grade electrodermal activity sensor that reports absolute skin conductance in microsiemens over I²C — no per-unit trimming, no analog tuning. A 0.5 V constant-voltage transimpedance front end and an on-board 100 kΩ calibration resistor make readings comparable between boards and between sessions.
Available on backorder
| Quantity | Unit price | You save |
|---|---|---|
| 1 – 9 | ₹1,695 | — |
| 10 – 24 | ₹1,610 | 5% |
| 25 – 99 | ₹1,559 | 8% |
| 100+ | ₹1,492 | 12% |
- Worldwide shipping
- 1-year warranty
- Secure checkout
- Cards · UPI · PayPal
New in v3: this board is a ground-up redesign of the original tinyGSR. It now reports absolute skin conductance in microsiemens from a zero-drift 0.5 V constant-voltage front end — the earlier board gave a relative, trimpot-set reading with no way to convert it to real units. It adds an on-board 100 kΩ 0.1 % calibration resistor for a one-jumper self-check, a standalone Arduino library that needs no other libraries installed, and a snap electrode lead plus Ag/AgCl electrodes in the box.
The ProtoCentral tinyGSR v3 is an electrodermal activity (EDA / galvanic skin response) sensor that reports absolute skin conductance in microsiemens over I²C — not an arbitrary index that has to be re-trimmed for every board, every subject, and every session. Skin conductance rises and falls with sweat-gland activity driven by the sympathetic nervous system, which makes EDA one of the most direct physiological measures of arousal, stress, and cognitive load available to a maker or a research lab.
How it works: one electrode sits at ground and the other is pinned at 0.5 V by a zero-drift TI OPA2333 in a transimpedance loop. The current the skin draws is converted by a precision 39.2 kΩ 0.1 % feedback resistor and digitised differentially by a TI TLA2022 12-bit ADC, so the 0.5 V pedestal is cancelled in hardware and only the conductance term is measured. Because the excitation voltage and the feedback resistor are both known precision quantities, ADC counts map deterministically to microsiemens — readings are comparable between two boards, and between today and next month.
Self-check in one jumper: an on-board 100 kΩ 0.1 % calibration resistor (exactly 10.00 µS) sits behind the SHORT FOR CAL jumper. Close it, run the calibration example, and the library folds the tolerances of the resistor, the reference and the ADC gain into a single stored scale factor. Open it again and measure a subject. No instrument, no reference sample, no guesswork.
Getting started: install the ProtoCentral tinyGSR Arduino library — search for “ProtoCentral tinyGSR” in the Arduino IDE Library Manager — and run 01-Basic-Conductance-Read. The library is standalone: it drives the on-board ADC directly, so there is nothing else to install. A relaxed tonic level typically reads 1–20 µS, and a deep breath or a sudden sound produces a phasic response (SCR) that rises within one to three seconds. Plug into any Qwiic / STEMMA QT host with no soldering, or wire the 0.1″ VCC / GND / SDA / SCL header to a breadboard.
Everything you need is in the box: the board ships with a 3.5 mm snap electrode lead and a set of disposable Ag/AgCl electrodes, so there is nothing to source before the first measurement. Non-polarizable Ag/AgCl electrodes are what make a stable DC baseline possible — dry metal contacts drift.
Open hardware: the complete KiCad design — schematic, PCB layout, and the exported schematic PDF — lives in the tinyGSR hardware repository under the CERN-OHL-P v2 licence, and the Arduino library is MIT.
Features
- Absolute skin conductance in microsiemens — no per-unit trimming, no arbitrary units
- 0.5 V constant-voltage transimpedance front-end (TI OPA2333 zero-drift op-amp)
- TI TLA2022 12-bit Δ-Σ ADC, differential AIN0–AIN1 measurement over I²C
- On-board 100 kΩ 0.1 % calibration resistor (10.00 µS) behind a solder jumper for one-point self-check
- LM4040-2.0 precision reference with 0.1 % divider setting the excitation voltage
- Two Qwiic / STEMMA QT connectors for solder-free daisy-chaining, plus a 0.1″ header
- 3.3 V – 5 V supply and I/O — level translation on board, so 5 V Arduinos work directly
- Selectable I²C address: 0x48 (default) or 0x49 via the ADDR jumper
- Contact-detect and over-range flags reported by the library
- 3.5 mm jack for the included snap electrode lead, plus E1 / E2 pads
- Four M2.5 mounting holes on a 35 × 25 mm 2-layer board
- Open-source hardware (CERN-OHL-P v2) with an MIT-licensed Arduino library
Applications
- Stress, arousal, and cognitive-load research
- Affective computing and human–computer interaction studies
- Biofeedback and relaxation training
- Psychophysiology teaching labs, where comparable readings between benches matter
- Wearable and multi-sensor physiology prototypes alongside ECG, PPG, and temperature boards
Specifications
- Measurement: absolute skin conductance (µS) and resistance (kΩ)
- Front end: TI OPA2333 zero-drift transimpedance, Vexc ≈ 0.5 V, Rf = 39.2 kΩ 0.1 %
- ADC: TI TLA2022, 12-bit, differential, I²C
- Effective resolution: ~0.006 µS per LSB (oversampled)
- Calibration: on-board Rcal = 100 kΩ 0.1 % = 10.00 µS
- I²C address: 0x48 default, 0x49 selectable
- Supply: 3.3 V – 5 V (VCC and IO)
- Front-end bandwidth: DC – ~18 Hz (EDA phasic activity is ~0.05 – 1 Hz)
- Current into skin: ≤ 50 µA at 0.5 V
- Connectors: 2 × Qwiic / STEMMA QT, 0.1″ 4-pin header, 3.5 mm electrode jack
- Board: 35 × 25 mm, 2-layer
Important notice
This device is not a medical diagnostic instrument. It is intended for evaluation, education, and research use only, and is not FDA, CE, or FCC approved for consumer or clinical use.
3 reviews for ProtoCentral tinyGSR v3 — Absolute Skin Conductance (GSR/EDA) Sensor, Qwiic / STEMMA QT
Contribute
Hardware and software are open source. Pull requests and improvements are welcome.
Contribute →
srl proereal (verified owner) –
ottimo prodotto per precisione ma manca la formula per passare da valore analogico a valore in ohm della resistenza
excellent product for precision but the formula for switching from analogue value to ohm value of the resistance is missing
protocentral –
Thank you — and the missing formula was a fair criticism.
On the original board the front-end gain is set by a hand-adjusted trimmer, so the same ADC reading meant a different resistance on every unit and no published conversion would have been truthful.
The tinyGSR v3 fixes that at the source: a 0.5 V constant-voltage front end with a 0.1 % precision 39.2 kΩ feedback resistor, so
G[µS] = V_diff / (V_exc × R_f) × 1e6holds for every board. The library returns microsiemens and ohms directly, and an on-board 100 kΩ 0.1 % resistor (10.00 µS) lets you confirm the accuracy yourself.Library: https://github.com/Protocentral/protocentral_tinygsr_arduino · Guide: Getting Started.
Roberto Santandrea –
purtroppo devo cambiare parere, manca assistenza e anche se si scrivono ticket nessuno risponde inoltre non funziona correttamente dopo 20 30 secondi di rilevazione va piano piano a 0 il valore. SPero qualcuno risponda
protocentral –
Thank you for coming back to update this, and our apologies — there are two separate failures here.
The unanswered support tickets are on us, with no excuse. If anything is still open, please write to [email protected] and it will be answered.
On the measurement: a reading that slowly decays to zero over 20–30 seconds is characteristic of DC drift at the electrode interface — most often polarizable (non Ag/AgCl) electrodes combined with a front end that has no fixed excitation reference, so the baseline walks away and the reading collapses. The tinyGSR v3 attacks exactly that. A zero-drift OPA2333 holds the excitation at a fixed 0.5 V, the ADC reads differentially so the excitation pedestal is cancelled in hardware rather than subtracted in software, and the board now ships with a snap electrode lead and Ag/AgCl electrodes, which are non-polarizable and the only type that holds a stable DC baseline over a long recording.
Details are in the getting-started guide. If you still have the original board, please get in touch — we would like to put this right.
KG –
I have experimented with the tinyGSR breakout board along with the Arduino library provided in this repository. However, a significant drawback is that the code only reads the ADC values and does not offer any formula or method to convert these ADC readings into EDA/GSR values, which is essential for evaluating the galvanic skin response.
In practical applications, users must derive their own conversion method based on the voltage divider principle and calibrate the circuit accordingly. This can lead to confusion and requires additional time to experiment and determine the correct formula.
It would be highly beneficial if the developers could add detailed information on converting ADC readings to EDA/GSR, along with complete sample code. This would enable users to implement the functionality immediately and reduce the hassle of calibrating the circuit themselves.
protocentral –
You were right, and we fixed it in the hardware rather than papering over it in software.
The board you have measures skin conductance through a front end whose gain is set by a trimmer potentiometer turned by hand, so there was no honest formula we could publish — the same ADC count meant a different conductance on every unit. That is why the library only ever handed you counts.
The tinyGSR v3 replaces that front end with a 0.5 V constant-voltage transimpedance stage built on a zero-drift OPA2333 and a 0.1 % precision 39.2 kΩ feedback resistor, read differentially by the ADC. Counts now map to conductance deterministically:
G[µS] = V_diff / (V_exc × R_f) × 1e6The library returns the result directly —
readConductance()in microsiemens andreadResistance()in ohms — and every board carries an on-board 100 kΩ 0.1 % resistor, exactly 10.00 µS, behind a jumper so you can verify the whole signal chain yourself in one step.Library: https://github.com/Protocentral/protocentral_tinygsr_arduino · Guide: Getting Started. It also drives your existing board with
begin(TINYGSR_REV_V1), which at least removes the TLA20xx and FIR dependencies, though absolute units genuinely cannot be recovered from that hardware. If you would like to try a v3, write to [email protected] and mention this review.