Lie Detector and Biofeedback Arduino Based





Introduction: Lie Detector and Biofeedback Arduino Based

This tutorial will explain how to build a machine for biofeedback. But first a bit of theory.

What is biofeedback?

[Font: Wikipedia |]

Biofeedback is the process of gaining greater awareness of many physiological functions primarily using instruments that provide information on the activity of those same systems, with a goal of being able to manipulate them at will. Some of the processes that can be controlled include brainwaves, muscle tone, skin conductance, heart rate and painperception.
Biofeedback may be used to improve health, performance, and the physiological changes that often occur in conjunction with changes to thoughts, emotions, and behavior.

Step 1: List of Materials

Step 2: Mount the LCD Screen

First we begin to build the electronic circuit on breaboard. We put all the components starting from the LCD.

We pay attention to where we insert the display on the breadboard.

This kind of LCD work on 5V with 16 columns and 2 rows. You can also use this module with keypad.

Follow the image to link the 10 pin to VCC, GROUND, POTENTIOMETER and 6 Arduino pin.

When you have connected the LCD to the Arduino board try to this LCD Example sketch and see the result. Go to and download the sketch.

Step 3: Mount Sensors

Ok now you can mount the sensors. The TMP36 have 3 pin. Two for alimentation VCC and GND, and une for measurement. You can put the VCC pin and GND pin on the breadboard's VCC-GND pin. After put the measurement pin on the Arduino's A1 pin.

Step 4: GSR Sensor

After this mounting you can create a GSR sensor. You can use two copper pieces. If you live in Europe, you can use the 1 or 2 euro money like in figure.

Put the pin of the copper pieces like in figure. Use a 220k Ohm resistor between GND and A0 Arduino pin.

Step 5: Upload the Sketch

Double check that everything is ok in the electronic circuit. Check especially the pins VCC and GND. Check that they are not reversed. Take your time for this control. The risk is to burn Arduino and electronic components used. When you finish this stage you just have to upload the sketch on the Arduino board. Click the link: Go Upload!

Step 6: Operating Instructions

When away from the Arduino biofeedback appear on the screen you'll see the welcome screen. Keep your fingers between the temperature sensor TMP36 and supports the index finger and ring finger on the copper pieces. And then you can see how the device will begin to measure your vital signs like temperature and heart skin conductance.

On the screen you can read the current GSR temperature value, the maximum value GSR skin conductance and the time elapsed since the machine.

You can open the serial port of your computer and read the value on the screen. After 1 second the value are updated. You can create the report of entire measurement session. Like in photo.

Also on Arduino Biofeedback Github repository you can find a Processing sketch for use a Processing graphical interface. View the GSR view value on the X Y diagram.

2 People Made This Project!


  • Epilog Challenge 9

    Epilog Challenge 9
  • Paper Contest 2018

    Paper Contest 2018
  • Pocket-Sized Contest

    Pocket-Sized Contest

We have a be nice policy.
Please be positive and constructive.




sir can i ask what is the value of potentiometer? Thanks in advance

The LCD contrast potentiometer is 10K

there is an error in processing sketch in the line

myPort = new Serial(this, Serial.list()[3], 9600);

the error says:


please help...

i m waiting...

This is the number of your serial port. Try 0 or 1 or 2

i already tried that but in vain..:(

I'm using atnega 16 A for this project.. can you guide meabout the corresponding code for that..

I tink it's the same code...

I did not check the baud rate but I am starting over from scratch this time double checking the baud...I believe the project was working fine except for the graph plotting...I was getting output values on the 16 x 2 lcd with all three sensors responding appropriately to both temperature and skin conductivity .

This Arduino sketch print the data on serial. But you can't use this with serial plotter, but you can use serial monitor.


thank you alot for everything

I wonder what the usefulness of a MAX GSR value ?