IoT Heart Rate (BPM) Monitor and Tracker

With ESP8266 and Arduino, observe the heart rate (BPM) generated by MAX30102 on Tuya Cloud compatible w/ Android and iOS.

Similar projects worth following
Heart rate, or pulse, is the number of times your heart beats each minute (BPM). While the heart circulates oxygen and nutrient-rich blood throughout the body, heart rate is fundamental to this process because the function of the heart (called "cardiac output") is directly related to heart rate and stroke volume (the amount of blood pumped out with each beat). Therefore, a rapid surge or depletion in your heart rate or rhythm may indicate heart disease, pulmonary disease, or another problem. So, tracking our heart rate can give us some insight into our overall health.

Although there are abundant methods and systems to monitor and track the heart rate (BPM), in this project, I focused on developing a new device with an easy-to-understand mobile application interface compatible with Android and iOs for observing the data generated by the pulse oximeter sensors.

I decided to use the Tuya IoT Platform in this project because it allowed me to develop a mobile application interface compatible with various operating systems and save information to the Tuya Cloud to track the data generated by the pulse oximeter sensors. In the following steps, I will explain how I benefited from the Tuya IoT Platform to improve this project in detail.

While I was developing this device from scratch to monitor and track heart rate (BPM), I did not want to make the device work with merely one type of pulse oximeter sensor. Thus, the device supports two different sensor types as connected to the Arduino Nano:

  • MAX30102
  • MAX30100

I have the two mentioned sensors at my disposal, but I decided to use the MAX30102. Then, I connected an SSD1306 OLED (128x64) screen to display the heart rate (BPM) before sending data to the Tuya Cloud.

Finally, I added a 5mm common anode RGB LED to show the connection status between the device and the Tuya Cloud.

On the mobile application interface supported by the Tuya Cloud, the device lets the user display three different data points with correlating charts:

  • Finger_In - Finger Positioning
  • Respiratory_Rate - BPM
  • Blood_Oxygen - SpO2 (Optional)
  • Blood_Oxygen - Red Light Measurement (Optional)

After completing wiring on a breadboard and testing the code, I designed my respiratory system-inspired PCB as an indicator of the salience of heart rate. Thus, the device became a stylish and functional apparatus to monitor and track heart rate :)

Huge thanks to PCBWay for sponsoring this project.

Step 1: Designing and soldering the IoT Heart Rate Monitor PCB

Before prototyping my PCB design, I tested all connections and wiring with Arduino Nano and ESP8266 on the breadboard.

Then, I designed the IoT Heart Rate Monitor PCB by using KiCad - inspired by the precious respiratory system :) I attached the Gerber file of the PCB below, so if you want, you can order this PCB from PCBWay to create a fitting and effective apparatus to monitor and track the data generated by the pulse oximeter sensors with Tuya Smart.

Click here to inspect and order this PCB directly on PCBWay.

First of all, by utilizing a soldering iron, I attached headers (female), a MAX30102 pulse oximeter sensor, a button (6x6), a 5mm common anode RGB LED, 220Ω resistors, and a power jack.

Component list on the PCB:

A1 (Headers for Arduino Nano)

ESP_1 (Headers for NodeMCU V3 LoLin ESP8266)

S1 (Headers for SSD1306 OLED Screen)

M_X1 (MAX30102)

M_X2 (MAX30100)

K1 (6x6 Button)

D1 (5mm Common Anode RGB LED)

R1, R2, R3 (220Ω Resistor)

J1 (Power Jack)

J2 (Headers for External Battery)

Step 2: Creating a new product on the Tuya IoT Platform

Tuya Smart is a global IoT platform that enables smart home products to come to life for brands, OEMs, manufacturers, and retail chains. But, Tuya is not providing its services and APIs for companies only. Tuya has established an IoT cloud platform that delivers a full suite of offerings to developers, including Platform-as-a-Service (PaaS), Software-as-a-Service (SaaS), and other cloud-based services. Tuya Cloud Platform has built a thriving ecosystem providing more than 410, 000 product SKUs in over 1, 100 categories, covering over 220 countries and regions.

Tuya IoT Platform lets the user develop a smart product from scratch and provides built-in functions for different product types. Furthermore, Tuya SDKs allow controlling a registered and authorized product with a development board via serial communication. You can get more information about Tuya SDKs from the Tuya Developer Platform.

While employing the Tuya IoT Platform to create a custom product...

Read more »

  • 1 × PCBWay Custom PCB
  • 1 × Arduino Nano R3
  • 1 × NodeMCU V3 LoLin ESP8266
  • 1 × MAX30102 Pulse Oximeter and Heart Rate Sensor
  • 1 × MAX30100 Pulse Oximeter and Heart Rate Sensor (Optional)

View all 11 components

  • 1
  • 2
  • 3

View all 6 instructions

Enjoy this project?



kutluhan_aktar wrote 08/23/2021 at 16:22 point

Please feel free to leave a comment here if you have any questions or concerns regarding this project 😃

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates