BLE Wireless Heart Rate 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.

Date: August 31st, 2019 at 4:24pm
Author: Terence Darwen
Tags: Embedded, BLE, Bluetooth Low Energy, Heart Rate Collector, Heart Rate Monitor, Nordic, nRF52840-DK, ARM Cortex-M4, SSD1306

Previous