I need to log the  X,Y & Z accelerations (described in the inertial frame) and angular velocities & accelerations (p, q, r and their time derivatives) for offline analysis. I am using a Pixhawk equipped with Copter 3.3 firmware.

The only data available in Dataflash logs are raw sensor data, which are very noisy. But as I have read in the Ardupilot documents, Arducopter uses EKF to estimate the status of the vehicle, and among the estimated variables are the accelerations & angular velocities.

Can I somehow log these data for offline use?

You need to be a member of diydrones to add comments!

Join diydrones

Email me when people reply –


  • Alireza, in the logs you will find NKF fields. This logs both estimated biases and EKF innovations. The algorithm for EKF3 is well documented, and you can use it to reconstruct EKF filter estimates using Matlab etc
  • I've been making data loggers using a Teensy [or Arduino], GY-80 imu's, GPS modules, and SDCard modules. This allows me to log anything I want with raw values independent of the APM/Pixhawk/MavLink. I can stream live data over radios/bluetooth/ESP8266 or download the logs off the SDCard and then you can manipulate the data anyway you want :)

    It's actually pretty easy as well and was way easier for me to do then try to figure out mavlink and the APM stack :)

    • That's a good solution if you want raw sensor data (although you could also easily obtain the raw data of Pixhawk sensors from Dataflash logs without having to figure out anything about Mavlink/APM). But I need the processed & filtered data, and I don't wanna go though the trouble of implementing the filters & algorithms myself.

      Anyways, thanks for the suggestion!

This reply was deleted.