Introduction: Arduino Lie Detector

Hey everyone today I want to show you how to make an Arduino-controlled lie detector to see when your friends are lying to you :D or to measure the different responses that your bodies skingoes through depending onthe situation you are in or the emotions you are feeling and the coolest thing of all is that we can see all of theses things happen in real time in an Arduino graph.

Step 1: How It Works

Our skin is amazing! It provides a medium for us to experience the sense of touch, it keeps infections out and keeps innards in but I bet you didn't know that our skin changes conductivity depending on many different things one being our mood! It called Electrodermal activity (EDA) and there's a really interesting Wikipedia page you can read here. The basics are that our skin changes its conductivity depending on how we feel.

We start by connect our Arduino to the subject and then connect the Arduino to a computer with the graphing software (I'll go over this in detail later)

We have to start by asking the subject some easy questions we know they will answer truthfully like "what is your name" and "where do you live" to get a baseline and from there we can start asking questions that they may lie about, if they do they would probably feel nervous and then we can read the change in the base line that be established earlier if they lie :D

Step 2: Parts List

We are going to need a microcontroller to control the three LEDs and send the computer the data. In order for the computer receive the data from the microcontroller the microcontroller has to have a serial communication chip this means we can't use the Arduino pro mini or Adafruit trinket so when picking your microcontroller make sure it has a serial communication chip built in (USB communication chip)

Electronics components parts list

Materials Needed

  • Cardboard
  • Tinfoil
  • Velcro
  • Hot Glue

Tools Needed

  • Hot Glue Gun
  • Soldering Iron
  • Craft Knife

Step 3: Wiring

The wiring for this is pretty easy, we will start by connecting them in this order:

  • Connect A long piece of cable to Arduino analog pin 0
  • Connect the 2k resistor to ground and the the extended analog 0 pin
  • Connect A long piece of cable to Arduinos 5 volt pin
  • Connect the anode (long leg) of the green led to pin 2 and the cathode (short leg) to ground
  • Connect the anode of the orange led to pin 3 and the cathode to ground
  • Connect the anode of the red led to pin 4 and the cathode to ground

That's all the wiring for the Arduino, now we need a way to keep the sensor wires on our fingers we will cover this later.

Step 4: Software and Code

The main piece of software we are going use is the newest version on the Arduino IDE. The new update brings a new way to see the data being received from the Arduino, instead of being in text form from the serial monitor, it can now be displayed in a real time graph which will help us identify when the data changes its pattern (when someone lies)

To open the plotter open Arduino and navigate to the tools menu and you should see it there just below serial monitor.

Now the code for the micro controller download the attached file, open it and upload it to your board

Step 5: Making the Finger Clips

Now that the basic form of the project is done we can start adding features to make it easier to use we will start by adding finger clips to keep a stable connection between our fingers and the cables. Lets start by gluing a strip of tinfoil to the bottom of a strip of velcro, do this for both pieces of velcro (the hook and the loop. Now rap it around your finger until it makes a tight fit (check photos) then tape the exposed wire from analog pin 0 to the tin foil and repeat this step for the 5 volt pin (make sure it makes a good connection)

Step 6: Making the Case

The plan is to make a small compartment for the finger pads to fold away and to have three holes for the leds to stick out. Its going to be made out of cardboard and to make it we will need to cut the following shapes out:

  • Cut two 15x3 cm rectangles
  • One 15x5 cm rectangle
  • Three 5x3 cm rectangles (cut a square in the middle on one of them for the nanos usb)
  • One 9x5 cm rectangle
  • One 6x5 cm rectangle

The 15x5 rectangle is the base. The two 15x3 rectangles and two of the 5x3 rectangles get glued to the sides of the base. Now glue the third 5x3 rectangle to the base 6cm from the side (close to the middle, check photos) Now you should have a rectangle thats divided into two sides, one with a length of 6cm and the other with a length of 9cm. The side with a length of 6cm is where we are going to put the electronics and the other side is where the finger pads go. Next cut 3 holes (the size of leds) on the 6x5 rectangle and glue it down to the 6cm side (as a lid). Last we need to tape the short side of the 9x5 rectangle to the far side of the 9cm side (this acts as a lid that flips up and down to reveal the finger pads)

Step 7: Putting It All Together

The last thing we need to do is put the electronics in the case start by gluing down the arduino and all wires in the 6cm side and run the extended wires(pin analog 0 and 5 volt) to the other side of of the rectangle (9cm side). Now glue the three leds to the holes we made on the 6x5cm rectangle and give it a test if all goes well you should have a small portable Arduino lie detector but let me warn you this isnt the most accurate system in fact most real lie detectors use a host of other sensors to determine if someone is lying such as a heart rate monitor and others, what im saying is dont uses the result of this for serious questions. :D

If you have any questions please either send me a personal message or leave a comment and ill try my best to get back to you.

Comments

author
Aman_Kumar (author)2017-05-16

waht is that analog value range in this project from which we recognize the lie

author
HeATThER made it! (author)2017-03-04

This was a fun and simple project for me and my son. You can see it draped around his neck. We found out that when we hooked it up to people they were more likely to tell the truth anyways. So we had more fun using to test continuity of diffrent objects like metal and plastic.

Gauges Project sm pixle.jpg
author

Thats awesome! Well done to you and your son!

author
ctrotter456 (author)2016-08-21

Interesting instructable! New to Arduino, but my understanding of the code would say that the three LED's stay low until they hit the incremental values of 20, 45 and 60. Do these increments need tailored to the user? Or is it normal that all the values that my device receives are too low for any of the LED's? My readings are averaging around 8 - 10 at rest, but never much more than that.

author

Great question! First off your understanding is 100% correct. All the people i tested on had their values stay in between 20 and 60 depending on how they felt but it's absolutely necessary to change the values if your skin is only giving a reading of 8 to 10. Thanks for the question

author

Thanks for the instructable and your reply! I am still playing around with this!

author
SaiV58 (author)ctrotter4562017-02-28

Hey how can i modify this code if i want the skin conductance value to be displayed on an lcd

author
AVR08 (author)2017-01-16

Thanks Great Project. :)

author
AshrafB5 (author)2016-12-13

what is the unit of y-axis in the graph ?

author
langberg (author)2016-10-05

hey! it is working, but the LED not really functioning. (they are working for one sec when the Arduino is on, so they are connecting well)

Should I maybe change the code? make it lower numbers? It's not going higher them 8....:)

Thx

author
langberg (author)2016-09-30

Hey!

Where can I find the link of the code?

author
russ_hensel (author)2016-08-15

For safety this should run only from a battery, an unplugged laptop would be fine.

author
langberg (author)russ_hensel2016-09-26

Hey!

So the computer needs to be NOT connected to electricity? What can happen if the computer is connected?

thx

author
russ_hensel (author)langberg2016-09-26

Electricty from battery. Failure in ps could kill person connected.

author

Will edit this to include this safety tip, thanks!

author
SandeepS119 (author)2016-09-10

Can I use the same code and connections for arduino uno ? Any changes to do ? Great project though !

author
Andika TrisnaA (author)2016-08-28

Thanks for sharing!.

Well i tried that, with uno. Works very well with power from usb laptop or PC usb port. But couldn't make it work if i power up the arrduino using powerbank or battery charger. I want to make it portable, no need to power up from usb port pc or laptop. I'm using same schematic as well.

Is there any workaround to make it work?
Thankyou!

author
abi777 (author)2016-08-26

can u please tell me do i need some special wires or jumper wires will be good?

author
Lunatick Cultist (author)2016-08-24

I made it, but some times it doesn't work, can you help me ?

author

sure, did you wire yours up exactly like mine was and download the latest version of the arduino ide?

author
YogendraC2 (author)2016-08-20

what software do we need in the computer to see the graph

author
ctrotter456 (author)YogendraC22016-08-21

Graph is displayed by opening "Tools">"Serial Plotter" in the Arduino IDE

author
smit01 (author)2016-08-15

thnx for the previous answer, I made this project but I have problem in understanding the connections between the tin foil, 5v and a0 can u plz help me out

author

What kind of trouble? You connect A0 to one of the tinfoil strips and 5v to the other tin foil strip then wrap the A0 tinfoil strip around your middle finger and the 5-volt tinfoil strip to your index finger. Hope this helps, I'm happy to answer any other questions you have :3

author
Tymek11rt (author)2016-08-15

Why does my graph jump all the time?

author

Because we connected ground to A0 which makes it jumpy but helps keep the data consistent.

author
gogoguy (author)Tymek11rt2016-08-15

You scared it! :)

author
smit01 (author)2016-08-15

can I use an arduino uno instead of arduino nano in this project ?

author

yes you can

author
curiouskrafter (author)2016-08-14

How well does it work?

author

Pretty well, It can accurately see the change in someones skin resistance due to the persons reaction to a question and relay it back to the user but if someone can keep very calm while lying it wont work that well.

About This Instructable

15,107views

164favorites

License:

Bio: I'm a 18-year-old high school student, I love engineering, film production, design and everything in between.
More by electronics for everyone:Arduino Controlled USB TrackpadEmergency Keyring Phone ChargerSalvaging Rechargeables for Projects
Add instructable to: