Publication forthcoming (see our poster)
Maya B. Flannery, Lauren Fink
BEATMonitor is a system for collecting cardiac activity data from multiple individuals simultaneously in naturalistic environments. The system uses open-source and low-cost technology (Bangle.js 2 smartwatches) to ensure it is accessible and shareable. We hope that the system is easy to setup and use, making it practical for diverse research and other applications. Additionally, the system aims to be customizable and easy to modify for other purposes, while also being well-tested to guarantee reliability. We encourage feedback to be used for further development and improvements.
This project contains two applications:
- A Bangle.js 2 smartwatch application that records timestamped heart rate and raw PPG sensor data at ~25 Hz.
- A node.js (local) web application that connects to multiple Bangle.js 2 watches via Bluetooth. This app allows for remote monitoring, starting/stopping records, time synchronization, and large file transfers.
This system was developed and tested (so far) on M1/M3 MacBooks (MacOS 14 Sonoma; MacOS 15 Sequoia).
Note
Testing required:
- Other Mac versions
- Linux
- Windows
See Post-processing documentation and tutorial
Please let us know if you have any questions, problems, or suggestions by creating an issue here.
Research studies using BEATMonitor have included:
- LIVELab 10th Anniversary: The Innocents
- VOICES (That's What She Said)
- LIVELab 10th Anniversary: Double Pendulum – Synaptic Rodeo
- LIVELab 10th Anniversary: John Ellison – Some Kind of Wonderful
- LIVELab 10th Anniversary: Santee Smith and Kaha:wi Dance Theatre – Continuance Immersive Commemoration (Continuance)
- Canadian federal leaders' debate
BEATMonitor - Multi-person photoplethysmography using open-source smartwatch technology
Copyright (C) 2025 BEAT Lab
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program. If not, see https://www.gnu.org/licenses/.
This repository contains a CITATION.cff file. If you use this project, please cite it using the information in the file or use the "Cite this repository" button on GitHub for citation info.