Hi! I'm looking into improving the accuracy of Bangle.js's pedometer by adding this project
However to calibrate it, I need data!
If you're willing to help, please could you install this app:
Then run it (Accel Log), choose Start, and then walk exactly 150 paces in a variety of ways - along a road, bumpy path, up/down stairs, fast, slow, pausing, and so on - then press BTN2 to stop recording when you're done.
You can then:
Hopefully when I get a few examples of different walking styles I can feed it into their tools and it'll calibrate itself!
Do you want separate recordings for each walking style, 150 paces of each. Or one recording of mixed styles across 150 paces?
I think probably a few recordings of normal-ish activities - so eg if you're walking then going up stairs and then walking fast that'd good to have in one recording.
here you go :-) walking down/up stairs, walking fast and slow
Great - thanks!
App loaded will give it a spin a few times tonight.
Is this the oxford pedometer algorithm ?
log 0 is walking round the house, upstairs and downstairs.
log 1 is walking up hill fast and slow
log 2 is walking on flat, downhil, stop for a moment and restart
Thanks for this! Yes, it's the oxford pedometer algorithm that had been mentioned previously. However even if that doesn't work out, having a bunch of data should really help to come up with a reliable algorithm.
HOpe it helps!
Thanks! I'll try and get on it this week
thank you all! you can follow the development at https://github.com/espruino/Espruino/issues/1846
Thanks for sharing, interesting reading. Looking forward to a more accurate step counter.
Hi. Here are 150 steps. I will upload more data hiking next week. Thanks!
Thanks! I think we've got a decent amount of data now. There is now a Branch of Bangle.js with some calibrated data in: https://github.com/espruino/Espruino/tree/step_counting
But we just have to do some work to stop it automatically lowering the step threshold too much and just randomly counting steps when you're stationary :)
walking around in my bedroom
I'm new bangle.js owner and effectively pedometer needs improvment.
It looks gadget bridge and other pedometer widget don't have the same result. Do they calculte step their own way or is directly implement in the firmware?
Using the last stable firmware 1.8 I think the main issue is sensitivy. Steps are triggered too quickly. This morning at wake up i did already 1k steps :)
Edit: this feedback is when using widpedom ; I'm testing today activepedom which looks having more settings about sensitivity.
Do you need more sample with other kind of use case? Do you need testing on this specific branch?
Hi - for now I think we're good as far as sample data goes.
wedpedom and gadgetbridge should match, but activepedom does some processing on the watch and should be more accurate.
I hope to have an update soon (but it'll probably still be a few weeks off). The issue is that with both old and new step counters, they should filter out detected steps that don't form part of a regular step...step..step pattern - but they don't currently do this.
Just a note that I have now committed a better step counting algorithm: http://forum.espruino.com/conversations/363082/#comment15962618
sitting on sofa, stroking dog, looking at watch, 30 seonds
sitting at desk, look at watch, stand up 5 seonds, sit down 5 seconds, look at watch, repeat, 30 seconds.
sitting on sofa, crossing and uncrossing legs, pause, swival round to look at the window, shuffle about on the sofa, look at watch. Approx 30 seconds.
Just pushed an update that should be a significant improvement here. Looks like some of the original data had a very slow walk - and to detect that the threshold was being pushed low enough that it detected steps when it shouldn't
Hi @Gordon - I have updated to 2v09.9 and I am still experiencing counting steps (2-10) when twist wrist to look at the watch whilst stationary. Just want to check I have the version that has your latest checkin.
Yes, 2v09.9 is the one. You can always check the git hash shown in process.env against the commit log on Github if you really need to be sure though.
You're saying that just a single twist would make it count 10 steps?
Running the files you'd given through it I think it was counting maybe 5 steps over the whole period for those - so were you doing something very different to what had previously been recorded?
At the end of the day, the pedometer code isn't going to be perfect - but I am hoping it will be significantly better than the old code on the watch.
@Gordon - appreciate its not going to be perfect (2% error over 1 km would be excellent, 5% would be good.). But its definitely still counting 1000s of steps over the course of a day when steps are not there. Today I have apparantly done 3671 steps but all I have done is been up and down stairs maybe 4 times and the rest of the time sat at a desk. I would expect maybe 250 or 300 steps max for such activity.
Its quite easy to reproduce the issue. Just sit look at the watch then twist your wrist through 90 degrees and back varying the speed at which you turn the wrist. The twist used to turn the LCD on should not cause steps.
Will send you another accel log of me doing this, maybe another tuning session will get this to be filtered out.
Don't worry about formatting, just type in the text and we'll take care of making sense of it. We will auto-convert links, and if you put asterisks around words we will make them bold.
For a full reference visit the Markdown syntax.
© Espruino, powered by microcosm.
Report a problem