Online Heart Rate Monitor Using NodeMCU and Cayenne

19,424

61

8

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.

Teacher Notes

Teachers! Did you use this instructable in your classroom?
Add a Teacher Note to share how you incorporated it into your lesson.

Step 1: Bill of Materials

This the tools needed to do this project.

Hardware Required :

1. NodeMCU ESP-12E

2. Pulse Sensor

3. SSD1306 0.96 inch OLED Display

4. Jumper Cable

Software Required :

1. Arduino IDE

2. Cayenne for iOS/Android/Web Browser

3. Modified Pulse Sensor for ESP very big thanks to the creatore

4. Adafruit SSD1306 Library for Arduino

Step 2: Connecting NodeMCU to Pulse Sensor and OLED

NodeMCU_______Sensor__________OLED

3.3V____________ +_______________VCC

GND____________-_______________ GND

A0 _____________S_______________ Not Connected

D2_____________Not connected____SDA

D1_____________Not connected____ SCL

Note : If you use ESP8266 not NodeMCU don't try to direct connect signal from sensor to A0. You must add 2.2 KOhm beetwen Signal and A0, and 10KOhm beetwen A0 to GND.

Step 3: Upload Code to NodeMCU

In this step we will program the NodeMCU with Arduino IDE.

You need to import library from step two to make this code work.

Download two available file in this step

And then open ESP_OLED, edit your Cayenne token, SSID, password, and then connect your NodeMCU with USB Cable to your computer and upload the code to NodeMCU. Now your OLED should display something, this is the sign if your project worked. And now your NodeMCU is connected to Cayenne, but litlle step again to setting up Cayenne Dashboard that will display your BPM and give an alert if BPM to high.

Step 4: Setting Up Cayenne

Do this step on Cayenne :

  • Login to Cayenne Dashboard
  • Add graph custom widget from Cayenne Dashboard, and select Virtual Pin 13 that contain BPM value from NodeMCU.
  • Add triggers and set if widget value above the value as you need (in my case I set 200, but refer to many source on internet 160 is enough to give us alert) then Cayenne will send alert to email.

Be the First to Share

    Recommendations

    • Made with Math Contest

      Made with Math Contest
    • Multi-Discipline Contest

      Multi-Discipline Contest
    • Robotics Contest

      Robotics Contest

    8 Discussions

    None
    falahk

    10 months ago

    I'm sorry but the steps to build the project is not clear, also some libraries to build this project not described here.

    None
    nithildass

    11 months ago

    please put clear steps to build the project

    None
    nithildass

    11 months ago

    Ticker.h: No such file or directory

    None
    panthangiajay1

    Question 1 year ago on Step 2

    I have OLED display with 7 pins. What should I do now?

    None
    Yvanle terrible

    2 years ago

    Hello - should be good, but i'm stuck with the sketch not working :

    credential toke, ssid, and pwd filled, ...but....

    Instruction cayenne.begin activating "wdt reset" on my nodemcu (several boards tested)

    I can not find why. any clues ?

    None
    JunezRiyaz

    3 years ago

    Great work . It is very interesting project.