ProtoCentral tinyGSR is a Galvanic Skin Response (GSR) / Electrodermal Activity (EDA) measurement breakout board that allows you to measure and track your physiological responses in real time. GSR measures the changes in electrical conductivity / Electrodermal activity of the skin, providing valuable insights into a person’s emotional state and stress levels. When a person is emotionally aroused or stressed, their sweat gland activity increases, which can be measured as changes in the electrical conductivity of the skin.
What is Electrodermal activity (EDA) or GSR?Electrodermal activity (EDA) is the property of the human body that causes continuous variation in the electrical characteristics of the skin. Historically, EDA has also been known as skin conductance, galvanic skin response (GSR), electrodermal response (EDR), psychogalvanic reflex (PGR), skin conductance response (SCR), sympathetic skin response (SSR) and skin conductance level (SCL). The long history of research into the active and passive electrical properties of the skin by a variety of disciplines has resulted in an excess of names, now standardized to electrodermal activity (EDA).
Human emotion recognition is the process of identifying and interpreting an individual's emotions through various modalities such as expression, speech, body language, and physiological signals. With GSR, human emotions can be identified using physiological signals. Changes in skin conductance and other physiological signals, as well as movement and posture, can reveal a lot about a person's emotional state.
With the tinyGSR board's Qwiic interface, is it easy to combine this effectively with other physiological sensors such as Heart rate monitors to create a more comprehensive physiological emotion detection system making it perform for research in applications such as Neuroscience.
Hardware OverviewThe tinyGSR contains onboard analog op-amps to measure this change in resistance and helps you to easily interface this with your microcontroller system using just a digital interface.\ The tinyGSR has Qwiic compatible connectors, in addition to standard breakout headers to just plug it into any compatible board with no soldering required.
Interface Connectors
Qwiic connectors: Both of these connectors are internally connected together and you can connect your Qwiic board to either of these
Breakout Header: If you do not want to use Qwiic and would like to directly connect this to a breadboard, you can solder standard 2.54 mm (100 ml) pins to this header.
Address Select
The default 7-bit I2C address for this board is 0x49 (which is what is provided in the sample code).
By desoldering this solder jumper and connecting it to the left side, you can select 0x49 as the address.
This is usually required if you want to chain two of these boards together to use on the same I2C bus.
Baseline adjust potBefore using the board to get GSR, you will have to adjust this pot to bring your signal into the measurement range.
Wiring the board to your Arduino Nano EveryIf you have a Qwiic Connect System or STEMMA QT compatible shield, you can just plug it in directly to the Qwiic/StemmaQT port. No soldering required !
If you want to wire the breakout board directly to an “Arduino Nano Every” without using a Qwiic connector, please follow the following table.
tinyGSR pin label Arduino Nano Every Pin Function
VCC +5V Supply voltage
SCL A5 Serial clock
SDA A4 Serial data
GND GND System Ground
What we did?We developed the tinyGSR and used it in this project to detect emotional responses based on eyeblink and respiration. The board was integrated with a "Arduino Nano Every" using a Qwiic shield for easy interface without soldering. The two leads (RA, RL) attached along with disposable electrodes are placed to the palm of one hand to measure SCR, and the data can be viewed in openview to show variations in SCR that correspond to specific events, such as an eyeblink or a change in breathing.
Using the ProtoCentral tinyGSR firmware, that starts the TLA2022 ADC in continuous mode, sets the data rate to 128 samples per second (SPS) and the full scale voltage range to 512 mV (which is recommended for the analog circuit) is uploaded to the Arduino Nano Every with tinyGSR board.
PrerequisitesDownload and install the Arduino IDE according to your platform. Checkout Sparkfun's great guide about how to install the IDE.
- Download and install the Arduino IDE according to your platform. Checkout Sparkfun's great guide about how to install the IDE.
Using the Arduino IDE, download our ProtoCentral TLA20xx Arduino library from the Arduino Library Manager. For more information about how to install an Arduino library, checkout this great guide, again from Sparkfun.
- Using the Arduino IDE, download our ProtoCentral TLA20xx Arduino library from the Arduino Library Manager. For more information about how to install an Arduino library, checkout this great guide, again from Sparkfun.
ProtoCentral tinyGSR uses the following Arduino libraries:
TLA 2022 ADC for Analog to digital conversion of the GSR signal. We provide the Arduino library for TLA2022 to make it easier to use the
- TLA 2022 ADC for Analog to digital conversion of the GSR signal. We provide the Arduino library for TLA2022 to make it easier.
- FIR Filter library
It can be found in the 'Sketch' menu under 'Include Library', 'Manage Libraries', and then enter the keywords 'ProtoCentral TLA202x' & 'FIR Filter' to see the library. When you click on the library, the 'Install' button will appear. When you click that button, the library should be installed automatically. When the installation is complete, close the Library Manager.
The GUI for visualizing the skin response is written in Processing, based on Java and is cross-compilable across platforms. Visit the Openview GitHub releases page to download the most recent version for your platform.
Once you have opened the OpenView GUI, make sure to select “tinyGSR” under the “Board” dropdown. If everything goes well, you will be able to see the output.
We had a great time designing and developing the tinyGSR, which will allow users to explore human emotions with real-time output and the option to collect data for research purposes. Here are a few potential applications that could be integrated or built using this board:
Wearable technology: The compact size and ability to interface with a microcontroller make the tinyGSR well-suited for use in wearable technology. The device could be integrated into a smartwatch, fitness tracker, or other wearable device to monitor emotional states and provide feedback to the user.
Human-computer interaction: The tinyGSR could be used in human-computer interaction to create more natural and intuitive interfaces. For example, a computer program could use the tinyGSR to detect the user's emotional state and adjust its behaviour or responses accordingly.
Gaming: The tinyGSR could be used in gaming to create more immersive and interactive experiences. The device could be used to detect the player's emotional state and adjust the gameplay or story accordingly.
Mental health diagnosis and treatment: The tinyGSR could be used to help diagnose and treat mental health conditions by measuring changes in emotional states. The device could be used in conjunction with other physiological measures and therapy sessions to track progress and improve treatment outcomes.
Education: The tinyGSR could be used in educational settings to measure student engagement, interest, and emotions. It could also be used to help educators create more effective and engaging lessons.
Research: The device could also be used in psychological and neuroscience studies related to emotions, emotions in the workplace, group dynamics and communication in teams, emotions in communication and relationships
These are just a few ideas, and there are many other potential applications using the tinyGSR. We'd like to see what other applications can be integrated with this board. Please leave your thoughts in the comments below.
Comments