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.







cut in half and hollowed out on a lathe. A beam sits on the centre line of the ball, mounted on a bearing in each half to allow the ball to spin around it. Steering done by shifting the centre of mass, by moving a steel pendulum that hangs below the beam side to side with heavy-duty servo. The servo is controlled with an Arduino, and an IMU to detects the balls orientation. Power is provided by and RC Lipo battery. The wireless controller is a sneaky little device that is taped to [Mark]’s back and covered with clothing, and steers the ball by detecting how far he leans with an IMU module. The brain is an Arduino Mini and an NRF24L01 provides the RF link.