A geomagnetic field measurement system comprising: a magnetometer; a gyroscope; a circuit board including one or more hard-iron effect components and one or more soft-iron effect components; and an integrated sensor apparatus mounted on the circuit board comprising means configured to: obtain first sensor data associated with the gyroscope, obtain second sensor data associated with the magnetometer, wherein the second sensor data is indicative of magnetic fields produced by one or more hard-iron effect components and one or more soft-iron effect components mounted on a circuit board on which the integrated sensor apparatus is mounted, and calibrate the magnetometer using the first sensor data, the second sensor data and an extended Kalman filter, wherein calibrating the magnetometer includes determining one or more soft-iron calibration parameters comprising a soft-iron effect matrix, W soft, and determining one or more hard-iron calibration parameters comprising a hard-iron effect matrix, b PCB, wherein the extended Kalman filter uses a linear state transition equation and a non-linear observation function to determine a calibrated magnetometer measurement, the soft-iron matrix and the hard-iron matrix. a magnetometer; a gyroscope; a circuit board including one or more hard-iron effect components and one or more soft-iron effect components; and an integrated sensor apparatus mounted on the circuit board comprising means configured to: obtain first sensor data associated with the gyroscope, obtain second sensor data associated with the magnetometer, wherein the second sensor data is indicative of magnetic fields produced by one or more hard-iron effect components and one or more soft-iron effect components mounted on a circuit board on which the integrated sensor apparatus is mounted, and calibrate the magnetometer using the first sensor data, the second sensor data and an extended Kalman filter, wherein calibrating the magnetometer includes determining one or more soft-iron calibration parameters comprising a soft-iron effect matrix, W soft, and determining one or more hard-iron calibration parameters comprising a hard-iron effect matrix, b PCB, wherein the extended Kalman filter uses a linear state transition equation and a non-linear observation function to determine a calibrated magnetometer measurement, the soft-iron matrix and the hard-iron matrix. obtain first sensor data associated with the gyroscope, obtain second sensor data associated with the magnetometer, wherein the second sensor data is indicative of magnetic fields produced by one or more hard-iron effect components and one or more soft-iron effect components mounted on a circuit board on which the integrated sensor apparatus is mounted, and calibrate the magnetometer using the first sensor data, the second sensor data and an extended Kalman filter, wherein calibrating the magnetometer includes determining one or more soft-iron calibration parameters comprising a soft-iron effect matrix, W soft, and determining one or more hard-iron calibration parameters comprising a hard-iron effect matrix, b PCB, wherein the extended Kalman filter uses a linear state transition equation and a non-linear observation function to determine a calibrated magnetometer measurement, the soft-iron matrix and the hard-iron matrix.