Categories
TUTORIALS

Use MAX3010 Heart rate sensor and alphanumeric LCD (16×2) to display real-time heartrate reading

Introduction

This tutorial will help you display real time sensor reading from your MAX3010X Heart rate monitor onto an alphanumeric display (16 x 2) using Arduino UNO. Potential applications include a public health installation, DIY smart health tracker and many more.

Parts List

  1. Blood Oxygen Sensor Heart Rate (GY-MAX30102)
  2. Soldering iron and metal
  3. Female to Male DuPont wires
  4. jumper wires
  5. Alphanumeric LCD Display (16×2)
  6. Breadboard
  7. Arduino UNO

Steps covered below:

  1. Connect LCD Display to Arduino (see below)
  2. Connect heart rate monitor to Arduino (here)
  3. Produce code to change display output based on heart rate detected

Libraries Needed

Add MAX3010 library for Heart Rate monitor

  • Go to manage libraries
Go to tools > manage libraries
  • Search for MAX3010X and install
    • Note: Make sure to use the MAX3010X library with Arduino. There are two other similar libraries (MAX30100) that will not work with
search for MAX3010X in libraries

Add Liquid Crystal library for LCD Display

  • The ‘Liquid Crystal’ library should be available with the ELEGOO kit (chapter 14: LCD Display)
  • Find Liquid Crystal library in ELEGOO folder
    • It should look something like: “C:\Users\s\Arduino\ELEGOO Super Starter Kit for UNO V1.0.2022.08.04\English\Libraries\LiquidCrystal.zip”
  • Copy and paste library to ‘libraries’ in your Arduino backend folder

Diagram and connections

Theoretical diagram for MAX3010 heartrate monitor and LCD Display to Arduino

Breakdown of connections:

For Heartrate sensor:

  1. MAX3010 VIN to 5V on Arduino
  2. MAX3010 GND to GND on Arduino
  3. MAX3010 SCL to Analog pin A5 on Arduino
  4. MAX3010 SDA to Analog pin A4 on Arduino

For LCD Display:

  1. LCD RS pin to digital pin 7
  2.  LCD Enable pin to digital pin 8
  3.  LCD D4 pin to digital pin 9
  4.  LCD D5 pin to digital pin 10
  5.  LCD D6 pin to digital pin 11
  6.  LCD D7 pin to digital pin 12
  7.  LCD R/W pin to ground
  8.  LCD VSS pin to ground
  9.  LCD VCC pin to 5V
  10.  10K resistor:
    •  ends to +5V and ground
    • wiper to LCD VO pin (pin 3)

Steps

  1. The heart rate monitor is sold as two separate parts. Part A is a straight pin header. Part B is the heart rate monitor.

2. Clamp parts to hold together. The shorter end of Part A goes into the five holes of Part B

3. Solder on the two parts (shown below) and keep aside.

4. Now for display, Connect LCD Display using breadboard, LCD Display and jumper wires and Arduino UNO (Connections mentioned above)

Setup of LCD Display to Arduino

5. Connect the soldered heart rate monitor to Arduino and breadboard using M to F Dupont wires

Setup heartrate monitor

6. Here is what the entire setup will look like

Entire connection setup

7. Now run this code on ArduinoIDE:

8. Now place your finger on the heart rate sensor and run the code on Arduino IDE.

9. Here is how it should look like:

10. Please feel free to comment for any queries or questions!

References

  1. https://store-usa.arduino.cc/products/arduino-starter-kit-multi-language
  2. https://diymall.com.ng/product/max30100-pulse-oximetry-sensor/
  3. https://www.amazon.com/Heart-MAX30102-Sensor-Monitor-Arduino/dp/B077QB8L47/ref=sr_1_6?crid=GLWB60GOM9O5&keywords=heart+rate+monitor+arduino&qid=1680543910&sprefix=%2Caps%2C123&sr=8-6#customerReviews
  4. Datashet for LCD Display: www.arduino.cc/documents/datasheets/LCDscreen.PDF
  5. Datasheet for Heart Monitor: https://www.analog.com/media/en/technical-documentation/data-sheets/max30100.pdf

One reply on “Use MAX3010 Heart rate sensor and alphanumeric LCD (16×2) to display real-time heartrate reading”

I am getting error:
C:\Users\hp\AppData\Local\Temp\.arduinoIDE-unsaved2023514-19212-f2kvp8.y9omi\sketch_jun14a\sketch_jun14a.ino:9:10: fatal error: filters.h: No such file or directory
#include
^~~~~~~~~~~
compilation terminated.

exit status 1

Compilation error: filters.h: No such file or directory

Leave a Reply

Your email address will not be published. Required fields are marked *