Posts | Comments

Planet Arduino

Archive for the ‘polygraph’ Category

Want to know if someone is telling you the truth? Well, unfortunately Juan Gg’s “USB Polygraph” isn’t a professional product and won’t actually give you an answer. However, it is a neat exploration into biometrics that incorporates Arduino, some sensors, and data visualization.

The DIY lie detector does measure one’s galvanic skin response, pulse, and breathing, so it’s an interesting way to observe “suspects” when questioned. Perhaps one could even use it to monitor a person’s vitals when performing various physical activities.

The device collects sensor readings via an Arduino Uno. These are then passed along to a nearby computer over serial, which graphs everything using a custom Python program. 

If you’d like to make your own, code and mechanical files are available on GitHub!

This is a USB Polygraph, which I designed and built as a classroom project on June 2018. The hardware side is pretty simple, an Arduino UNO collects data from some sensors and sends it via serial. On the computer, a Python program takes that data and not only graphs it, but it also allows the user to save it, manages questions and adds question and answer markers to the graphs so results can later be inspected. All results are saved in .txt files.

Sometimes, a project comes along that makes a good reference design for anyone doing similar work. In this particular case, it’s a DIY USB polygraph-like machine by [Juangg] using an Arduino and sensors on the hardware side, and a Python front end for data visualization. It’s even complete with 3D printed enclosure and sensor elements.

[Juangg] designed it to use three sensors: a pulse sensor, a breath sensor, and one to measure Galvanic Skin Response (GSR). The pulse sensor uses a piezo element pressed against a fingertip to detect changes in pressure resulting from blood flow. It can be picky about placement, but finding sweet spot can yield remarkably good readings. The breath sensor works on a similar principle but uses a 3D printed fixture to hold the sensor between a strap and the subject’s chest, so that breathing in and out can be detected. The GSR sensor is a voltage divider used to measure small changes in skin conductivity. How well does it all work? That depends on what one is looking to get out of it, but the documentation and design files are available from the project page and the GitHub repository if anyone wants a reference for similar work.

The polygraph may have a mixed reputation, but it makes a good project that demonstrates just how messy biometrics can be from an engineering perspective. And in case you missed it, here’s a reminder that Wonder Woman and the polygraph have much more in common than you might realize.

Hard as it is to imagine, lie detectors have been sold as children’s toys for a number of years. A simple battery-operated device clipped to your fingers and would show the conductivity of your skin. The concept — which is probably not very reliable — observers that lying causes you to imperceptibly sweat which causes a sudden increase in your skin’s conductivity. These cheap toys would have a meter and you’d note the meter deflection to determine if the subject was lying.

You can debate the amusement value of interrogating your friends, perhaps, but they were pretty common and still exist (including some that shock you if they detect you are lying). Seventeen-year-old [BuildIt] has his own modern take on this classic device using — what else? — an Arduino. You can see a video of the device below.

fvb06bzirsuey29-largeOf interest is how he used the latest version of the Arduino IDE to visualize the data graphically (see right). This is easier than interpreting a bunch of numbers scrolling by on the serial terminal or having to import the data into a spreadsheet. You can find the graph under the Tools menu listed as Serial Plotter.

You don’t need a lot of external parts for this project, although the finger clips and the cardboard box will take a little mechanical skill to complete.

We’ve looked at galvanic skin response and other biosignal processing before. You can do a lot more if you build a little more hardware.


Filed under: Arduino Hacks, Medical hacks


  • Newsletter

    Sign up for the PlanetArduino Newsletter, which delivers the most popular articles via e-mail to your inbox every week. Just fill in the information below and submit.

  • Like Us on Facebook