Automating Recovery Analysis for Sleep and Exercise Data
Heart Rate Variability (HRV) has been shown to be an excellent biometric indicator of stress. A high HRV value implies a lower stress level. Athletes have known this for years and often check their HRV first thing in the morning to get an idea how recovered their system is from the previous days events. A low HRV value might indicate that one is getting sick, over trained, suffering from anxiety or just did not get enough sleep. This process of testing each morning is time consuming and erratic at best. It can be greatly improved if it was a passive process.
The HRV4Training app is available for iOS and Android devices. It makes the process of collecting and analyzing HRV data passive by pulling it from wearables platforms like the Oura Ring Cloud or sucking up exercise history from Strava. It supports many other apps including Apple Health and Training Peaks. The HRV4Training app costs $10 for the basic mode which we will review some of it’s functionality below. There is a Pro option which can be purchased for $49 annually and includes many features such as insights through a web platform and includes coaching abilities (so coaches can assess their athletes readiness and performance goals).
There is a history option which allows one to review the last week of data collected one screen at a time. I have been slowly increasing the environmental stressors around my training. More weights, faster swims, runs in hot summer temperatures and sleeping at elevation. I’m starting to see the gains with my recent rMSSD (aka HRV) peaking at 68 ms yesterday which is 13 ms over my baseline for this three week period.
The baseline view provides the same data in terms of “Recovery Points” (higher is better), “Heart rate” (lower is better) and rMSSD (aka HRV – higher is better). You want to see the dark blue line climbing on the Recovery Points and rMSSD and dropping for Heart rate to know that you are progressing in a positive direction. An hard training session will briefly skew the data, but the point of baseline is to see overall progress and not get hung up on a single event.
The population view is one of my favorites as it shows where I stand compared to others my age and gender. This is a helpful metric to set realistic goals around. It is also fascinating to see the outliers. An example of a goal to set is to boost rMSSD from 55.4 ms (my average for the last month) to This feature of comparing oneself to others based 70 ms next month. This might require not drinking alcohol, going to bed an hour earlier each night and bringing in an extra high intensity interval training session each week.
Finally, there are some really cool insights. Most of these require a minimum of 30 – 60 days of data collected. These tools provide just what an active person needs to understand how much they can push themselves and still be optimizing performance.
We are angry, frustrated, and in pain because of the violence and murder of Black people by the police because of racism. We are in the fight AGAINST RACISM. George Floyd was murdered, his life stolen. The Adafruit teams have specific actions we’ve done, are doing, and will do together as a company and culture. We are asking the Adafruit community to get involved and share what you are doing. The Adafruit teams will not settle for a hash tag, a Tweet, or an icon change. We will work on real change, and that requires real action and real work together. That is what we will do each day, each month, each year – we will hold ourselves accountable and publish our collective efforts, partnerships, activism, donations, openly and publicly. Our blog and social media platforms will be utilized in actionable ways. Join us and the anti-racist efforts working to end police brutality, reform the criminal justice system, and dismantle the many other forms of systemic racism at work in this country, read more @ adafruit.com/blacklivesmatter
Stop breadboarding and soldering – start making immediately! Adafruit’s Circuit Playground is jam-packed with LEDs, sensors, buttons, alligator clip pads and more. Build projects with Circuit Playground in a few minutes with the drag-and-drop MakeCode programming site, learn computer science using the CS Discoveries class on code.org, jump into CircuitPython to learn Python and hardware together, TinyGO, or even use the Arduino IDE. Circuit Playground Express is the newest and best Circuit Playground board, with support for CircuitPython, MakeCode, and Arduino. It has a powerful processor, 10 NeoPixels, mini speaker, InfraRed receive and transmit, two buttons, a switch, 14 alligator clip pads, and lots of sensors: capacitive touch, IR proximity, temperature, light, motion and sound. A whole wide world of electronics and coding is waiting for you, and it fits in the palm of your hand.
Get the only spam-free daily newsletter about wearables, running a "maker business", electronic tips and more! Subscribe at AdafruitDaily.com !
I saw the biohacking post about HRV4training and it seemed to suggest that the app would access data from other websites to use in its analysis. I have a fitbit account full of heartrate data so I purchased the minal ($10) app. All the app talks about is using the android phone’s camera to take data during short intervals. I couldn’t find any mention of accessing other data sources.
Maybe I missed it, or maybe it’s a feature of the much more expensive version. Either way I’m not happy with the advice, as I interpreted it, from your post. I have a lot of respect for adafruit, developed over years of purchases. I hope I’m not wrong feeling that way.
– martin smith
Fitbit is not directly supported, but you can use a Strava account or several other fitness tracking sites to link to hrv4training to pull in some of your historical data. This does not require a PRO account simply using the $10 app will do. I personally do not bother with manual finger testing as I’m only interested in the automated data pull.