Skip to content

OnFlight Hub and Hub Plus / Developer Manual

How the Hub processes data

Sensors, the two processors, sensor fusion, and filtering.

On this page

OnFlight Hub combines an inertial measurement unit (IMU), magnetometer, global navigation satellite system (GNSS) receiver, and static-pressure sensor to estimate aircraft motion and position at 50 Hz. The Hub records the measurements and calculated results to its microSD card. Its Wi-Fi processor makes live data available to applications and receives measurements from external sensors.

Sensors and processors

Sensor Measurements
IMU Three-axis acceleration and angular rate
Magnetometer Three-axis magnetic field
Static-pressure sensor Static pressure
GNSS receiver and antenna North/east/down velocity, latitude/longitude/altitude, and time

The data acquisition system (DAS) processor performs real-time sensing, state estimation, and data logging. The Wi-Fi processor provides the wireless network and configuration website, sends GDL 90 and UDP data, and receives external measurements.

How measurements become navigation data

The Hub runs a processing cycle 50 times per second, once every 20 milliseconds. Each cycle starts when the IMU signals that data is ready. The DAS processor then collects any new readings from the other sensors. Sensors can update at different rates, so not every cycle contains a new reading from every sensor.

The inertial navigation system (INS) estimates aircraft attitude, velocity, and position. It uses an extended Kalman filter (EKF) to combine the sensors:

  1. At initialization, acceleration and magnetic-field measurements establish pitch, roll, and heading.
  2. During each processing cycle, accelerometer and gyro measurements advance the attitude, velocity, and position estimates.
  3. When a GNSS update arrives, the EKF uses it to correct those estimates and estimate accelerometer and gyro bias errors.

The magnetometer is used only to initialize the EKF. After initialization, the EKF uses IMU and GNSS measurements. A separate calculation converts static pressure to pressure altitude.

IMU processing

Both raw and processed data are logged. The IMU Bandwidth setting controls the sensor’s internal accelerometer and gyro low-pass filter. Initial gyro biases are estimated during startup with the unit stationary. Gyro startup biases can vary each time power is applied.

Configured accelerometer calibration corrects bias and scale errors before the EKF. The EKF estimates remaining bias errors, including changes with temperature. A digital low-pass filter (DLPF) can then smooth the corrected measurements. The logged raw and processed fields let an application choose the measurements appropriate to its analysis.

Magnetometer processing

Raw and low-pass-filtered magnetic-field data are logged. A scale matrix and bias can compensate for local magnetic effects. No EKF correction is applied to the magnetometer outputs.

Accelerometer and magnetometer calibration first subtracts the configured three-axis bias, then multiplies the result by the configured 3 × 3 scale matrix: v_corrected = S × (v_measured - v_bias). The default scale matrix is the identity matrix, which leaves the values unchanged.

Static-pressure processing

The log includes both raw and filtered static pressure. The filtered pressure is also used to calculate cabin pressure altitude.

Interface references

Use Log file format for recorded measurements and UDP output format for live data. Sensor settings are described in the Configuration chapter of the User Manual.