← Portfolio

Project · January 2024

The Beat Goes On

A heart-rate wearable for an intergenerational community choir, squeezed into 100KB of usable memory and built to survive a crash mid-session.

Role
Interaction design, firmware for the wearable device
Tags
Wearables, Embedded Systems, C++, Data Analysis
Choir members singing together as part of The Beat Goes On community choir project.

Cover photo courtesy of Joanna Culligan.

The Beat Goes On is a community choir project that aims to grow the Town-Gown relationship between the Virginia Tech community and the older adult population in Blacksburg, Virginia, with a big data twist. The Beat Goes On started in Fall 2023 with a start-up grant from the Institute for Creativity, Arts and Technology.

This choir is specifically designed to invite persons experiencing cognitive change (usually due to a form of dementia) and their caregivers to engage in choir singing together with students, faculty and staff from VT, along with other members of the community.

Source (ecca.hdfs.vt.edu)

I designed the interaction flow for a wearable device deployed to a broad-ability general population — mostly college-age and general adult community members, plus a subset of participants with dementia and their caregivers.

The interface was stripped to two elements: start/stop and a live heart-rate counter. The stop action was hardened against accidental interruption, prioritizing usability across a wide range of technology familiarity and mobility levels rather than designing for a single persona.

A black square-faced smartwatch on a black silicone band, photographed against a textured beige wall. The screen displays the time 08:58 in blue digits, the date "WED 19 MAR 2025," a battery icon, and a step counter reading 0. A blue arrow points to a physical button on the left side of the watch case. Screenshot of a TFT Simulator app window showing a heart rate monitor interface with "Heart rate BPM" at the top, three dashes where a reading would appear, "Stopped" status text, and a blue "Start" button at the bottom.

I was working with constraints: 4MB total for the RTOS, the heart rate collection app, the collected data, and running memory — in reality, only about 100KB after accounting for the OS itself. The data structure and underlying logic were built to store data only if, and when, it’s necessary. Since memory overflow was expected given the working limit, the system was also designed to be crash-resilient, so data up to the point of a crash could be salvaged after recovery.

BLE was used for research data egress and management, since the non-developer version of the hardware doesn’t expose a header for serial communication. Live heart-rate data is also sent over BLE — not used in the current iteration, but planned for a future art collaboration where it could augment an interactive experience.