• EUR€
  • £GBP
  • $USD

Arduino Lie-Detecting Ring

DFRobot Nov 18 2019 794

Arduino Lie-Detecting Ring

I'll share the way to make a wearable lie-detecting ring, do you still remember the story Not Lie to Me? Now we can do that by this device!

Things used in this project

Hardware components

DFRobot Beetle - The Smallest Arduino ×1

DFRobot Heart Rate Monitor Sensor for Arduino ×1

DFRobot Digital RGB LED Strip 120 LED ×1

DC-DC Module (5v-4.2v) ×1

3.7v 50mah Lithium Battery ×1

Plug-in Diode ×2

Plug-in Resistor 30 Ohm ×1

Dial Switch ×1

Sewing Kit ×1


To begin with…gossip:

Tom, a student of 5th grade back from primary school. Once he backs home pressed to sit down by his father. Then the father rummages for a long time, finally get one tiny thing covered by dust.

His father turns it ON and wear it to Toms’ forefinger.

Tom is so confused. And his father begins asking questions like “How’s the weather today? How’s the weather tomorrow? “and so on. When Tom is sure that there is something wrong in with the head of his father, suddenly, the father’s face turns into seriously and ask him rapidly: “Have you told your mother that I used my private saving to buy the League of Legends' skin?”

Frozen and shocked for seconds, Tom answers: “No…I have not”. While, this tiny thing turns into RED?!

Tom’s father staring at the Red color in the ring, says slowly: “My son, the ring can test lies…”

After 20 years

This time, Tom turns into a qualified happy single indoor man, and the father is old. He calls Tom to come and put the old ring to Tom and says now it belongs to Tom. Tom don’t accept but throw it to the ground, says angrily, “This harmful thing, I will never treat my son like you did before! “Well, his father says, “When your grandpa passed it to me, I am exactly like you are doing now. But your grandpapa said the ring can help configure the real feeling, although we cannot judge the true love objectively, the heart beat will not lie. When I wear the ring to the street, I found the girl who turns the in RED, who finally proved to be my wise in destiny. “Then Tom’s father staring at her photo affectionately and says, “My son, you are not as young as a child, take it to find the one!”Bend and take the ring in the ground, cannot waiting the father finish the talking about their 1st meeting in the street, Tom runs away, well it is too attractive to find your true love!

Here back to the main part

Recently, I played one heart rate monitor sensor, from the wiki page I know the principle is based on PPG (Photoplethysmography) techniques. Our heart is like a pump, constantly making the body’s blood circulating. Once the heart stretches or shrinks, it will transport oxygen from the breath to every part of the body by blood. Put the heart rate sensor to the finger or the wrist, it will detect the under PPG value, then verifying the changes to figure out the heart rate. I have to mention its tiny size, the good choice for wearable device.

Through the former tests, there is some little bugs to detect heart rate by digital values. I found that even my finger stays still, the result shows changes in vain. What is the most annoying thing is that when put the sensor close to finger belly, it can figure out the heart rate once in a while. But if the way you wear is like the way to wear a ring, and the sensor is close to the back of the finger, well, especially the root, there is nothing can be detected. Well! Well! It still cannot stop the sensor’s strength, the second demo in wiki is to detect the PPG by the analog value. Therefore, when I upload the program to the sensor and wear the sensor like a ring, even though the sensor is close to the root back finger, the data still can be stably and precisely printed into the serial monitor in IDE.

Hereafter, I have an idea to programming to convert the analog value to the heart rate.

Design Idea

Select the small Beetle as the main control, one RGB LED as the state indicator. Then the heart rate passes the heart rate value to Beetle, and Beetle control RGB to show red when the heart rate is higher than the last one or show green if nothing special.

About power supply, I have used 2 diodes and 1 30 Ohm resistor to supply the lithium battery with DC-DC module (5v-4.2v)

Materials in Need

1. Heart Rate Monitor Sensor for Arduino x1

2. Beetle - The Smallest Arduino x1

3. Digital RGB LED Strip 120 LED x1

4. DC-DC Module (5v-4.2v) x1

5. 3.7v 50mah Lithium Battery x1

6. Plug-in Diode x2

7. Plug-in Resistor 30 Ohm x1

8. Dial Switch x1

9. Sewing Kit x1

The Beetle in the image has already be cut and its 4 sharp corners are moved away; While, there should be the other diode.

Produce Progress

1. Cut off the accessory telescopic band to 6~7cm.

2. Heat the two ends for a while with the flame to remove burrs and sewing the telescopic band to the sensor.

3. Design and 3D print the crust

4. According to the connection diagram as below to weld.

From the left to the right of the connection diagram, responding to the top-down of the spatial order during the actual installation, e.g. the RGB LED is at the top of the housing and the heart rate sensor is mounted at the bottom of the housing.

5. There is a double-sided adhesive in the back of the RGB belt itself. So you can remove the sticker to paste to the back of the Beetle.

6. Burning the program

7. Wrapping the exposed wires and pins with paper tape to avoid short-circuit. Then install all parts to the crust and fix them with hot-melt.

8. Finally, put some hot-melt to the heart rate sensor to stick it to the crust and keeps it parallel to the bottom.