Heart rate variability viewer (BLE + Arduino)

This project uses ear-lobe pulse rate sensor from KYTO Fitness company; this sensor produces heart rate data which is transmitted to Android device (smartphone or a tablet) using BlueTooth Low Energy(BLE) communication protocol. Android device displays received data in a form of Poincare plot. This is a special type of Heart Rate Variability (HRV) visualization; it allows immediately estimate heart condition is some cases without calculations or off-line analysis.
The project consist of hardware part, Arduino code and AppInventor application
Hardware part includes ear lobe pulse sensor, sensor controller board from KytoFitness company, Arduino MKR 1010 WiFi microcontroller board for processing sensor data, measuring heart beat intervals (rr), and transmitting over BLE
App Inventor application establish BLE connection with sensor block, dispays Heart rate variability (HRV) in the form of Poincare plot, offers functionality to zoom plot in/out and pan, also save data in a simple .csv format and load previously saved data.
App Inventor application uses a single non-standard extension, FileTools by Sunny Gupta. This extension handles saving and loading HRV data as .csv file.
Short video of application working: https://youtu.be/QCHQ90ZYNFs
KYTO_HM10_4_1.aia (222.5 KB)
Application screenshot:


Transmitter view (compared to commercial device from KytoFitness):

2 Likes

Great. Are there also analyzes and evaluations for HRV?
I am quite familiar with HRV because I own some devices (watches) that measure and evaluate HRV.

Does the app also work e.g. with heart rate chest straps?

This is a pure demo hobby project. HRV analysis is a subject for medical research science, as I mentioned before there are multiple researches on this subject conducted in serious laboratories. This is not 'heal yourself' device by no means. If you are familiar with HRV studies and practical usage, you should be aware about Finnish company 'Polar'. They were the first to offer commercial fitness computers for optimizing exercise intensity by processing HRV data. 'Polar' devices are based on Russian unpublished research of 90s; Russian scientists discovered the phenomenon of HRV 'plateau' when HRV rate drops sufficiently at certain level of exercise activity and it was proven that this rate of excercise when HRV decreases - is the optimal for the given person. These research results leaked across the boarder when Soviet Union collapsed and so 'Polar' business raised.
There is also a heart pathology condition when the whole multi-component system of hear rate regulation fails and heart contraction is maintained only by 'emergency' tiny area of heart tissue called 'pacemaker'; quite often this condition is terminal.

This application was created explicitly for pulse rate sensor form KytoFitness. If there are other BLE-based devices that use the same data format, this application will be able to connect and receive the data. Again, this is a lightweight demo project and more serious an complex program can be easily developed using this project as an example.
BTW, I noticed 'meditation and relaxation' tag in your profile; you might be interested to take a look at my other 'demo' project 'Biofeedback and meditation' I published on hackaday.io

Thanks for the hints and information.