top of page

Biofeedback Project

The Color of Stress

Medical Technology
Arduino Uno Board

How can we combine the following components?

light on_edited.jpg

Non-invasive Biosignal Input

Real-Time Controls

Engaging Output

This is biofeedback, a process whereby electronic monitoring of a normally automatic bodily function is used to train someone to acquire voluntary control of that function.

For the hardware component of the biofeedback project, we used the Grove GSR + Shield. GSR sensors detect stress via two electrodes on the pointer and middle finger and measure skin conductance changes due to sweat production, which is controlled by the sympathetic nervous system's activity. We also used an Arduino UNO and breadboard jumper wires.

Screenshot 2026-01-21 at 10.25_edited.pn
Screenshot 2026-01-21 at 10_edited_edite
11026-Jumper_Wires_Standard_7in_edited.p

The code to represent stress levels with geometric shapes and color gradients was written in Python. Skin conductance values were read in using the “serial” package in Python, and the entire visualization was generated using the “pygame” package in Python. Additional packages used to enhance the code were: numpy, time, and random. An outline of my logic was created to guide the thought process of the output and is shown below.

biofeedback process (3).png

In addition to the visualization logic, my code also includes a sensor calibration function and a FIR low-pass filter function (rolling average).

The final project was demonstrated in a Biofeedback Showcase with live demos! A scary video was played for the participant wearing noise cancelling headphones and the continuously changing stress response was displayed on the computer screen.

Testing the biofeedback response with a very stressed participant taking a test.

Final poster on display during the Biofeedback Showcase.

Special thanks to Matt D'Ottavi and Hari Kohli for their teamwork on this project, and to Dr. Grace Ray for being a wonderful instructor and mentor during the project.

© 2025 by Casey Munk

bottom of page