Sensor Analog

Finger Heartbeat Sensor Module

A KY-039 heartbeat module uses an infrared emitter and light sensor to detect changes as blood flow changes in a fingertip.

Part images

KY-039 Module Photo. Module Photo for the KY-039 Finger Heartbeat Sensor Module. Image source: Joy-IT SensorKit KY-039 module documentation
KY-039 Pinout / Module Diagram. Pinout / Module Diagram for the KY-039 Finger Heartbeat Sensor Module. Image source: Joy-IT SensorKit KY-039 module documentation
KY-039 Arduino Wiring Diagram. Arduino Wiring Diagram for the KY-039 Finger Heartbeat Sensor Module. Image source: Joy-IT SensorKit KY-039 module documentation
KY-039 Raspberry Pi Wiring Diagram. Raspberry Pi Wiring Diagram for the KY-039 Finger Heartbeat Sensor Module. Image source: Joy-IT SensorKit KY-039 module documentation

What it is

A KY-039 heartbeat module uses an infrared emitter and light sensor to detect changes as blood flow changes in a fingertip.

How students use it

Students use it for signal-smoothing practice, pulse-wave demos, and data visualization experiments.

Pins and power

Signal output, VCC, and GND on typical KY-039 modules.

Use module power that keeps the signal output inside Pico ADC limits.

Read the signal as an analog value and look for repeating peaks after filtering and steady finger placement.

Voltage and safety

Keep the analog output at or below 3.3V for Pico ADC.

Educational demo only. It is not a medical device and must not be used for health decisions.

Module internals

Main component: Optical pulse-sensing emitter and phototransistor pair.

IR emitter, phototransistor, resistors, header, and PCB.

Datasheet notes

Finger pressure, movement, ambient light, and skin contact strongly affect the signal.

Common libraries

Use machine.ADC and simple filtering/peak-detection code.

Common mistakes

Pressing too hard, moving the finger, expecting instant medical accuracy, and reading raw ADC noise without filtering.