The problem
Polygraph-style questioning fascinates students, but a real polygraph is a trained examiner's instrument, not a gadget that reads truth from skin. The Arduino-Based Lie Detector using Galvanic Skin Response (GSR) Sensor is an educational prototype that shows what such a device can and cannot do: two finger electrodes measure skin conductance while a subject answers questions, an Arduino Uno converts that signal, and an LCD displays whether conductance has risen, stayed level, or fallen against a resting baseline. It indicates stress or arousal responses associated with questioning, never proof of a lie, because excitement, heat, movement, or a surprising question can raise conductance just as readily as stress. Built around one clear biosignal, the prototype gives students a hands-on way to study sensing, signal smoothing, threshold logic, and honest interpretation of physiological data.
Two finger electrodes measure skin conductance during questioning.
Follow the working sequence
How it works
The Arduino-Based Lie Detector using Galvanic Skin Response (GSR) Sensor works by turning a physiological fact into a readable number: when the sympathetic nervous system is aroused, sweat glands become more active, the sweat filling their ducts lowers the electrical resistance of the skin, and skin conductance therefore rises. Two finger electrodes pass a tiny, current-limited voltage across the skin and the GSR module converts the resulting current into an analogue voltage. The Arduino Uno samples that voltage, smooths it, compares it with the subject's resting baseline, and shows the result on an LCD as a conductance value and a low, normal, or high band, lighting an LED and sounding a buzzer when the rise crosses the set threshold. Nothing in that chain judges truth: it only reports that arousal changed, and the examiner must interpret why.
- The subject sits still and places two fingers on the GSR electrodes, held snugly with straps so the contact does not shift during questioning.
- The examiner starts a 30-second resting baseline measurement while the subject relaxes and no questions are asked.
- The Arduino Uno samples the GSR module output at 10 samples per second (design target) and averages the samples into a stable baseline value.
- Questioning begins, and each answer is noted against the live LCD reading so responses can be matched to conductance changes afterwards.
- The firmware continuously compares each smoothed reading with the baseline and labels it low, normal, or high on the LCD.
- If conductance jumps sharply above the baseline, the LED lights and the buzzer sounds, marking a stress or arousal response associated with that question.
- After the session, the serial log is plotted to show the resting baseline, the questioning period, and any peaks, and the report explains why a peak indicates arousal, not a lie.
Tech stack:
- Arduino Uno
- GSR sensor module
- Arduino IDE · C++
- 16 × 2 LCD display
- Breadboard prototyping
- LED · buzzer alert
- Serial Plotter logging
- Jumper-wire circuit
| Parameter | Value |
|---|---|
| Controller | Arduino Uno with ATmega328P microcontroller (datasheet value) |
| Sensor | GSR module with two finger electrodes (datasheet value) |
| ADC resolution | 10-bit analogue-to-digital conversion (datasheet value) |
| Sampling rate | 10 samples per second (design target) |
| Sensor supply | 5 V via USB (datasheet value) |
| Electrode voltage | Current-limited excitation below 5 V (design target) |
| Display | 16 characters × 2 lines LCD (datasheet value) |
| Baseline period | 30 seconds resting measurement (buyer-run procedure) |
| Alert output | LED plus buzzer on a sharp conductance rise (design target) |
| Logging | Serial monitor output for plotting (implemented feature) |
| Power | 5 V USB supply from a laptop or adapter (design target) |
| Build form | Breadboard prototype, no soldering required (design target) |
Project features
The Arduino-Based Lie Detector using Galvanic Skin Response (GSR) Sensor is built around four capabilities a student can demonstrate live: continuous skin-conductance sensing through finger electrodes, a resting-baseline calibration that makes every later reading relative rather than absolute, a live LCD readout that labels each result as low, normal, or high against that baseline, and a simple LED and buzzer alert when conductance jumps sharply during questioning. Around those core capabilities, the firmware smooths noisy samples, logs readings to the serial monitor for later plotting, and lets the examiner re-calibrate between subjects, so a viva demonstration can move from a calm baseline to a visible response in under a minute without any special software. Every feature below is part of the base prototype unless it is marked configurable, and nothing in the list claims to judge truth: the strongest demonstration a student can give is a clean baseline, a visible arousal peak, and an honest explanation of the difference.
- [Live skin-conductance readout] Two finger electrodes feed the GSR module continuously, and the LCD shows the live conductance value in microsiemens alongside a low, normal, or high band label. Implemented in the base prototype.
- [Resting-baseline calibration] A 30-second resting measurement at the start of each session sets the subject's own baseline, and all later readings are judged against it rather than against a fixed universal threshold. Implemented in the base prototype.
- [Sharp-rise alert] An LED lights and a buzzer sounds when conductance jumps sharply above the calibrated baseline during questioning, giving the examiner an obvious moment to note. Implemented in the base prototype.
- [Signal smoothing] The firmware averages successive samples before display, so small hand tremors and contact noise do not make the LCD flicker between bands. Implemented in the base prototype.
- [Serial logging for analysis] Every smoothed reading is sent to the serial monitor, where it can be captured and plotted to show the baseline, the questioning period, and any response peaks. Implemented in the base prototype.
- [Re-calibration between subjects] The baseline can be re-recorded for each new subject with a single button press, so different people can be tested in one demonstration session. Implemented in the base prototype.
- [Adjustable sensitivity] The rise threshold that triggers the alert is a named constant in the firmware and can be tuned for a nervous or calm subject. Configurable in the base prototype; it is not automatic lie classification.
What is included
- Working breadboard prototype: Arduino Uno, GSR module, finger electrodes, LCD, LED, and buzzer, wired and tested
- Complete Arduino firmware with baseline calibration, smoothing, band display, and alert logic
- Circuit and wiring documentation with labelled connections for every wire
- Component list with the exact parts used in the build
- Baseline-calibration and demonstration procedure, including the electrode-contact fix described below
- Project report PDF (background, GSR theory, methodology, results format, limitations)
- PPT presentation for final review
- Viva Q&A preparation document (GSR physiology, ADC conversion, threshold logic, why the device cannot prove a lie)
- Builder note: if the LCD reading drifts or jumps while the subject sits still, re-seat the electrodes and tighten the finger straps before re-recording the baseline — loose electrode contact, not the sensor, is the most common cause of a wandering reading in this build
Limitations & prerequisites
- GSR measures stress and arousal, not lies: a rise in conductance cannot prove truth or falsehood, and results are not forensic evidence.
- Readings vary with room temperature, sweating, hand movement, and electrode contact, so the same person can give different baselines on different days.
- The prototype is an educational demonstration only: it must not be used to accuse anyone, judge honesty, or make decisions about a person.
- A calm liar may show no response and an anxious truth-teller may show a large one, so false positives and false negatives are expected in any demonstration.
- Skin conductance differs between people, so no universal threshold separates truth from lies; every session needs its own 30-second resting baseline.
- The device records one biosignal only: unlike a full polygraph it has no respiration, blood-pressure, or pulse channel to cross-check a response.
- Hand movement during questioning creates artefacts that look like responses, so subjects must sit still and the examiner must note any movement.
Frequently Asked Questions
Does this project really detect lies?
No, this device does not detect lies: it only detects changes in skin conductance, which indicate stress or arousal responses associated with questioning, not whether a statement is true or false, because excitement, heat, surprise, or nervousness can raise conductance just as readily as stress. A calm liar may show no response at all. The report and viva material state this plainly, and the prototype must be presented as an educational demonstration of biosignal sensing, never as a truth-testing instrument.
Is this project suitable for a final-year project?
Yes, for Electronics and Telecommunication students, because it demonstrates biosignal sensing, analogue-to-digital conversion, signal smoothing, threshold logic, and honest interpretation of physiological data in a live hardware demonstration with a strong discussion section and a complete story from sensor physics to firmware logic. Explaining what the device cannot do is as important as showing what it can.
What does a GSR sensor actually measure?
A GSR sensor measures skin conductance, the ease with which a tiny current passes across the skin between two electrodes, reported in microsiemens, and that value rises when sweat-gland activity under arousal lowers skin resistance, so the reading tracks arousal rather than any mental state directly. When sweat glands become more active, sweat fills their ducts and conductance rises. The Arduino reads that change through the sensor module and displays it against a resting baseline.
Does the project need internet or a computer during the demonstration?
No internet is needed at any point, and the core demonstration runs standalone on the LCD once the prototype is powered, with a laptop used only for uploading the firmware and optionally capturing the serial log for plotting, and power coming from a 5 V USB supply. The demonstration can therefore run in any classroom with a laptop or USB adapter.
Can the project be customized?
Yes, within realistic limits: an additional heart-rate or temperature sensor can be added for comparison, the alert threshold and display bands can be retuned, and the serial log can feed a simple PC graph for analysis, while lie classification itself can never be added honestly, since no sensor turns conductance into proof of truth or falsehood. The report keeps that boundary explicit.
Components & software requirements
- Arduino Uno
- GSR sensor module
- Arduino IDE · C++
- 16 × 2 LCD display
- Breadboard prototyping
- LED · buzzer alert
- Serial Plotter logging
- Jumper-wire circuit
Delivery information
Built-to-order project. Delivery timeline is shared after order confirmation based on current queue.
Support terms
Complete documentation, setup guide, and viva preparation included. Support for setup and explanation provided.
Download free synopsis (PDF)
Enter your name and WhatsApp number — the synopsis PDF downloads immediately. We may send occasional project updates on WhatsApp; no spam.