Best way to accurately collect accelerometer/gyroscope data over 3+ hours

I am trying to use the CPro to compare to other "activity monitors" in dogs. 
Have had trouble collecting the data. 

It seems when I try to log via the ios MetaWear API app- its inaccurate and does not match the activities performed. (Doing specific, timed activities). Nor when I use the "metabase" app. 
If I use streaming on the MetaWear API ios App- it seems to accurately collect data, however, it seems to stop and disconnect from the board after about an hour max of streaming. I have not been able to collect streaming data of more than 65min. 

I am trying to use the lowest settings- Accel- 12.5Hz, and Gyro at 25Hz. ( would love to be able to collect at a lower sampling rate- even 6Hz would be great). 

Any suggestions for collecting all of the data at once without any disconnect? 


  • When you say the app stops and disconnects from the board, do you know if that is because the coin cell battery died?

    You can stream the CPro accelerometer at frequencies lower than 12.5Hz but you will have to modify the app for your use case.  On the other hand, the gyro does not stream slower than 25Hz.
  • The battery is not dead. I havent been able to figure out why it disconnects from the board. I open the screen and see that its been disconnected, I swipe it back on and it immediately re-connects. I have all the data saved, so I can email that to myself, and then start the streaming again.

    But I cannot seem to find a rhyme or reason as to why or when it disconnects. I actually got it to stream for 2 hours straight today with no issues. And then later in the day- I left my phone next to the device streaming. Left for 10 min, came back and it was disconnected- Had to reconnect.

    Not sure why. Any ideas?

    As far as modifying the application- I figured there was probably a way to do that, but I have almost no experience in that. I would not be able to get that done. So for the moment- I'm taking what I can get.

  • This could all be chalked up to how iOS implements the Bluetooth stack.  I'll let the iOS developer know to see if there's anything that can be done.

    As far as streaming for 3+ hours is concerned, Bluetooth Low Energy is not designed for that amount of data to be transferred.  You should think about what you want to do with that data, process the sensor  data on board into your desired metrics, and only transfer the transformed data to your mobile device.
  • It's not completely unexpected for a device to disconnect, especially after some time.  The app itself my get terminated by iOS for using too much memory, as the app wasn't really designed to stream large amounts of data for extended periods of time.

    We will certainly look into improving this for the next app release, however, I'd like to know more about why MetaBase logging wasn't working for you, as this was designed to be our main data capture app.  Did it just not capture enough data?

  • beskander9, the reason you get incorrect data when you log is because there is only enough memory on the device to hold about 2 minutes worth of data. Everything thereafter is discarded.
  • I would perform the same exact functions over a short period of time (60seconds) using the iOS metawear API application streaming, then would repeat the same thing using logging, then try the same thing using the metabase logging. And when I would compare the data afterwards- the 2 logging methods never produced an accurate readout of the events performed as the streaming did.
    I'm not sure why that is.

    I've changed my protocol for my study to collecting the data over shorter periods (streaming for 15 min at a time and then emailing the data) for now until I can get the chance to work with a programmer or engineer on trying to develop a software, sensor fusion, and filter out some things to make my life a little easier in the post-processing phase.
    This shorter period of steaming seems to be working well and giving me good data.
This discussion has been closed.