Online Heart Rate Monitor Using NodeMCU and Cayenne

About This Project

The background of this project is to monitoring human body heart rate and send an alert to email when heart rate above normal condition (in this case I set 200, because it’s very noisy).

Will try to add something like capasitor to decrease the noise and make it wearable.

What’s Connected

  1. NodeMCU ESP-12E

  2. Pulse Sensor

  3. SSD1306 0.96 inch OLED Display

Triggers & Alerts

Send an email if heart rate value above normal


No scheduling has been used

Dashboard Screenshots

Photos of the Project


Have to throw some more hearts for this heart monitor project :heart_eyes:

Do you feel like the Cayenne dashboard syncs well with the local OLED display or are you seeing a lag in the displayed numbers?

Yes sir, lag in the graphical draw for live monitoring.
But I think, it’s because the latency.
It’s very slow in my country, building a mirror server here very recommended. :heart_eyes::grin:

I do appreciate the feedback, it’s something we’ll be looking to actively improve as we grow as a platform. We’re even considering options like standalone cayenne servers, so you could even host the dashboard on your local network if latency was a major issue.

Standalone server is ok. In my mind, Cayenne should produce IoT devices, so people that didn’t have knowledge about programming can enjoy the tech improvement in their life. Just do simple step to setup the devices and it automatically connect to the server. My opinion, there is more consumer than technician/electrician/programmer. So the maintenance cost can be handle by profit of selling products and absolutely who expert on code can build themselves version.

It’s only my opinion sir, I’m happy if it give an idea to the company.

YES! I can’t wait for that option! :slight_smile:

Hi there, Im about to do this project as well,but unfortunately the program doesn’t s seem to be correct for nodemcu since the library used for that board used MQTT cayenne library, or is there any way to merge this library? i tried a lot of examples to make this project works,but seem to found tons of error


Such a great project idea.

@hanifhawari95 can you post a screenshot of the errors in the serial monitor.

You need to create a interruptSetup() function in your code.

Can you share the entire code you are using.

Inteeeupt.ino.txt (5.4 KB)

Send it as a Text Document?

you are using old cayenne library. have a look at this Adding a New Device using MQTT and first add your device to cayenne.
Next you try to get your heart rate value on your serial monitor without the cayenne code. Once you get the value, add the code for OLED and get it working. If you get both this working you can add the cayenne code and display the value on cayenne dashboard.