This sounds like a really fun project! I guess my initial thought would be that a running step should be quite repetitive and you probably don't need the magnetometer for it anyway as it's all about acceleration and rotation - if you can detect when the foot hits the ground (maybe it's a sudden de-acceleration?) then maybe you can always reset the Puck's velocity to 0 at that point?
In a way, you don't actually want the distance your foot travelled, as that's an arc and would be longer than the real distance- you want to take the distance travelled between the times when the foot hit the ground?
I'm afraid using Tensorflow on the Bangle is probably just a bit too needlessly complicated and error prone - with some effort it could be trained but I wouldn't really trust it over any range you hadn't tested it on. Even just summing up acceleration values over time would probably work better if calibrated!
Espruino is a JavaScript interpreter for low-power Microcontrollers. This site is both a support community for Espruino and a place to share what you are working on.
This sounds like a really fun project! I guess my initial thought would be that a running step should be quite repetitive and you probably don't need the magnetometer for it anyway as it's all about acceleration and rotation - if you can detect when the foot hits the ground (maybe it's a sudden de-acceleration?) then maybe you can always reset the Puck's velocity to 0 at that point?
In a way, you don't actually want the distance your foot travelled, as that's an arc and would be longer than the real distance- you want to take the distance travelled between the times when the foot hit the ground?
I'm afraid using Tensorflow on the Bangle is probably just a bit too needlessly complicated and error prone - with some effort it could be trained but I wouldn't really trust it over any range you hadn't tested it on. Even just summing up acceleration values over time would probably work better if calibrated!