Heartbeat Sensor Brick



Pictured with the KY-039 kit module plugged in.
Kit Bricks · SKU TP-K35
Finger pulse sensor (IR LED + phototransistor).
₹299
Works with TinkerPie V1 · Arduino C++ with the TinkerPieBricks library · Delivery across India: ₹100, 3–7 days · 7-day replacement for damaged or defective kits
About this kit
Finger pulse sensor (IR LED + phototransistor). The Heartbeat Sensor Brick is a carrier for the KY-039 module from common 37-in-1 sensor kits: plug the module into the socket and connect one cable to a TinkerPie SENSOR port. A small CH32V003 processor on the brick does the timing work, so your program simply reads the result over I2C.
Features
- Raw pulse waveform 10-bit
- Beat detection + BPM in the brick
- Science-class demo, not a medical device
- Plug the kit module straight into the socket – no jumper wires
- One cable to any TinkerPie SENSOR port (I2C), BUS IN + BUS OUT to chain more bricks
- On-board CH32V003 does the timing – your code just reads the result
Specifications
| Kit module | KY-039 Heartbeat Sensor (module 35 of the 37-in-1 sensor kit) |
|---|---|
| Socket | KIT SENSOR: 2.54 mm female, S + - |
| Size | 48 x 32 mm, M3 holes on the 8 mm grid |
| Connectors | 2 x JST-PH 4-pin TP-BUS (IN / OUT) |
| Interface | I2C 0x08-0x0F (8 on one bus) |
| Power | 3.3 V from the SENSOR port |
| Brain | WCH CH32V003 |
| Arduino class | tpb::KitSensor |
Safety: For science and fun: a demo of how pulse sensors work, not a medical device.
How to use it with TinkerPie
- Plug the KY-039 module into the 2.54 mm socket on the top edge. Match the pin names: the brick says S + -, the module has the same letters.
- Connect BUS IN to any TinkerPie SENSOR 1-4 port with a 4-pin JST-PH cable (the same cable as the other sensors).
- More bricks? Plug the next one into BUS OUT. Two bricks of the same type need different addresses: bridge ADDR +1, +2 or +4 on the back (0x08-0x0F; the first is 0x08).
- Install the TinkerPie and TinkerPieBricks Arduino libraries, open the quick-start sketch below, choose the board ESP32S3 Dev Module and upload.
Libraries: TinkerPie and TinkerPieBricks (Arduino IDE: Sketch → Include Library → Add .ZIP Library). Full guide: getting started with TinkerPie Bricks.
Quick start
Upload this, open the Serial Monitor at 115200 baud and watch the TinkerPie matrix.
Quick-start sketch (Arduino C++)
// Heartbeat Sensor Brick (TP-K35): quick start
// Reads the brick and shows the value on the TinkerPie matrix and in the Serial Monitor (115200 baud).
#include <TinkerPie.h>
#include <TinkerPieBricks.h>
using namespace tinkerpie;
tpb::KitSensor hb;
void setup() {
Serial.begin(115200);
tinkerpie::begin(); // also starts the SENSOR ports (I2C bus Wire1)
if (!hb.begin(tpb::KitSensor::PULSE)) Serial.println("Heartbeat Sensor Brick not found at 0x08: check the cable to SENSOR 1-4");
}
void loop() {
uint16_t bpm = hb.bpm(); // 0 = no finger yet
Serial.printf("%u BPM\n", bpm);
if (bpm) basic::showNumber(bpm, Colors::Red); else basic::showIcon(IconNames::SmallHeart, Colors::Red);
basic::pause(1000);
}
Project: Beating heart display
Rest a fingertip gently on the sensor. The heart on the matrix beats with your pulse and the BPM scrolls. A science demo, not a medical device.
Beating heart display (Arduino C++)
// Beating heart display: Heartbeat Sensor Brick (TP-K35)
// Rest a fingertip gently on the sensor. The heart on the matrix beats with your pulse and the BPM scrolls. A science demo, not a medical device.
#include <TinkerPie.h>
#include <TinkerPieBricks.h>
using namespace tinkerpie;
tpb::KitSensor hb;
uint8_t last = 0;
void setup() {
Serial.begin(115200);
tinkerpie::begin(); // also starts the SENSOR ports (I2C bus Wire1)
if (!hb.begin(tpb::KitSensor::PULSE)) Serial.println("Heartbeat Sensor Brick not found at 0x08: check the cable to SENSOR 1-4");
last = hb.beats();
}
void loop() {
uint8_t n = hb.beats();
if (n != last) { last = n; basic::showIcon(IconNames::Heart, Colors::Red); basic::showIcon(IconNames::SmallHeart, Colors::Red); }
if (input::buttonIsPressed(Button::A)) basic::showNumber(hb.bpm(), Colors::Pink);
basic::pause(10);
}
More TinkerPie Bricks
DS18B20 Temperature BrickTP-K01 · Environment · KY-001Waterproof-grade digital thermometer chip, read in C over I2C.₹299Pre-order
Shock Switch BrickTP-K02 · Motion · KY-002Detects knocks and vibration with a spring switch.₹299Pre-order
Hall Magnetic Sensor BrickTP-K03 · Magnetic · KY-003Senses a magnet near the A3144 hall switch.₹299Pre-order
Button Switch BrickTP-K04 · Input · KY-004A tactile push button on the bus.₹299Pre-order