Main Content

USB Polygraph

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.

Three different sensors are used:
-A “galvanic skin response” (GSR) sensor, which is just a voltage divider in which your hand is one of the resistors. When you get nervous, your skin resistance changes and that can be measured as proposed. Photos below show the simple probes, just two pieces of aluminum and some “hook and loop tape”.

-A pulse sensor, which is just a piezo element that generates a voltage proportional to changes of pressure resulting from blood flowing in your finger. I am relying on the ESD diodes on the Arduino inputs to handle overvoltage, although a series resistor would not be a bad idea. One side of the piezo is biased with a potentiometer, so the trace can be moved up and down for best results. It can be seen on the leftmost picture above.

-A breath sensor, based around the same principle of the pulse sensor. This time, the piezo element is mounted inside a 3d printed box. A strap goes around the “suspect” and a rubber strip presses the element in time while breathing.”

Link to article