BLE Heart Rate Monitor / Collector

Wanting to learn more about creating embedded Bluetooth Low Energy (BLE) firmware, I recently purchased a Nordic nRF52840 dev kit shown below.

Nordic nRF52840 DK Development Kit

I also purchased an inexpensive BLE heart rate monitor and a small OLED display from Adafruit to use with the nRF52840 to display realtime data from the heart rate monitor, both shown below.

Adafruit Display and CooSpo HRM

Putting these together, along with custom software I wrote, I was able to make the wireless heart rate collecting device as shown below.

Nordic nRF52840 Heart Rate Monitor

The Nordic dev board comes with a lithium coin cell battery for wireless use. The animated gif below shows the heart rate collector while I'm wearing the heart rate monitor chest strap.

Nordic nRF52840 Heart Rate Monitor

The code for this project can be found on my GitHub repo here. The nRF5 SDK includes a heart rate collector example. I modified it to create this project. I used Segger Embedded Studio for all firmware development and debugging.

Probably the most time consuming part of this project was getting the Adafruit display to work with the nRF52840 development board. Adafruit has a GitHub repo with code for getting the display to work with an Arduino. I had to rework this quite a bit for the nRF52840 dev board.

Author: Terence Darwen
Date: August 31st, 2019