Feature request: SmO2 and THb on the app + graphs


It would be great if we could add custom data fields and graphs such as SmO2 and THb to the Mac OSx and Windows TR app.

Let me know what you think!



Hmm… I think those metrics would be difficult to measure individually.
Can you think of a way in which SmO2 and THb could be measured from our athlete’s standard equipment (ie Heart Rate/Power Meter/Smart Trainer)?

You would need a muscle oxygen sensor. So need a sensor from moxy, humon, or bsx, though moxy is the only one still in business though a company is still selling humon. But once you have a sensor is very easy to get the data over ant. Tr would just need to add support for another sensor. That in itself should be pretty simple since it can be thought of like a heart rate strap. I.e. just copy and paste the code and save the data to a new location

In the device config change
:deviceType => 120,
:messagePeriod => 8070,
:deviceType => 31,
:messagePeriod => 8192,
The rest stays the same.

For getting the data from the ant+ message, instead of getting HR from:
((payload[5] & 0x0F) << 8 | payload[4])/100
(payload[7] << 2 | payload[6] >> 6)/10

Ok, the division means you have to treat the values like a float instead of an int like heart rate but that should be easy to do. The fit file did have a standard for where to put this information so don’t need to question how to save it for exporting the data.

What? I’ve been working on a ConnectIQ data field for muscle oxygen data. Would be nice not to have to record on my Garmin just to record this data

1 Like

Cool! That makes sense, and while it seems like it be relatively ‘easy’ from a development standpoint to add the ability to read another sensor, we try to consider what feature implementations will be most effective at helping the greatest number of athletes get faster in the immediate future.

I hope that makes sense in terms of our process for vetting feature requests, that while considering features like this, It’s not that we think this isn’t something that should get fixed or implemented, it just comes down to what we think will be the most impactful features (by prioritizing resources towards releases and refining features like Adaptive Training, and TrainNow for example) and if it requires a proprietary piece of equipment (such as a muscle oxygen sensor with either ANT+ or BLE signal).

If we get more interest in this topic and see that a number of athletes use this equipment and want that data to be a part of their TrainerRoad workouts, we’ll definitely consider it!

I think this should fall under training the neural net with more information

1 Like

If it’s in the .fit file, It would be good to have an option to see it. Same goes for core temp or anything else in the fit file. I get you’re trying to implement what is impactful to users, but the data is there, and an option to see it would be good. Could even be turned off by default.

Along these lines the core body temperature can now be measured non-invasively:

I think there is real value in being able to pair ‘extra’ sensors like this so that the data is collected. I think that enabling data collection alone, without any kind of end-user display/analysis is a very reasonable and useful first step. This would allow users to download the data and use other tools to analyse it, as well TR to start analyzing the data themselves. The more TR enables ‘early adopters’ to easily use these types of sensors, the more early-access TR will have to new types of data.
I also think that in-workout HRV should be logged, if it isn’t already - this doesn’t require any user-visible changes.

1 Like

I wouldn’t expect TR app to learn how to pair with other sensors, just pull in what’s in the garmin file if you upload that. And yeah the core sensor I’ve had and it’s interesting and would have been good to see it in TR this winter when I was riding inside.

This would be a great use for the ‘early access’ configuration on the account page. IMO, having early access analysis/display web-only is adequate for early-access features.

That core body temp isn’t an ant+ standard so isn’t just a matter of copy and pasting the same code used to get ant+ hr data. I’m not saying the data isn’t useful but requires a completely different way to get the data.

I do most of my riding indoors, so I am definitely interested in TR pairing/collecting this data itself. TR paring with a CORE temperature sensor would be a key factor in me buying one or not. It’s not worth dealing with recording indoor workouts on my head unit to get data like this, not to mention how this would likely break (or at least be a weird corner case with problems) for adaptive training.
Regarding the CORE sensor, since cooling is such a big factor in indoor performance, I would think this would be of interest to users of TR indoors.


This is why I said from the head unit would be easy to pull off. More of a choice not to if it isn’t seen when data is gotten from a .fit file. Same goes for strava et al.

Muscle oxygen is in the standard part of the fit file at data record 54 for THb and 57 for SMO2. core temp isn’t part of the fit file standard. They just use a developer record so isn’t really a standard. (you can download the SDK if you want to see what is part of the fit file standard)

Message Name Field Def # Field Name Field Type Array Components Scale Offset Units Bits Accumulate Ref Field Name Ref Field Value Comment Products: EXAMPLE
54 total_hemoglobin_conc uint16 100 g/dL Total saturated and unsaturated hemoglobin 1
57 saturated_hemoglobin_percent uint16 10 % Percentage of hemoglobin saturated with oxygen 1

A couple of months ago someone from Core said it wasn’t officially in the .fit standard and they were waiting before pushing platforms to adopt it. Should be soon

1 Like

The moxy is in the fit file. I can see it on Garmin, WKO, Intervals ICU etc.

I am interested :ok_hand:


It will help athletes determine what led to workout outcomes, especially inside, as you said.

1 Like

Count me in. That BSX is just sitting there collecting dust but I know there is a lot of science behind the idea of muscle oxygen and no doubt it could feed the Adaptive Training models.


Following up on this specifically, I for one consider support for recording in TR a big part of whether these extra sensors will be useful for me. 80+% of my riding is indoors, and for things like the CORE temperature sensor I’m likely more interested in the indoor data than outdoors. If TR doesn’t at least record the data from a sensor to the FIT file then this greatly reduces the value of the sensor to me.
My bet is that if you announced support for the CORE sensor in TR, this would likely drive adoption among TR users that are aware of the device and/or are data geeks/early adopters.

I think this is to some degree a ‘build it and they will come’ situation. We will see over time how interested in new and interesting data TR really is.