Bosch Sensortec Community

    Showing results for 
    Search instead for 
    Did you mean: 

    BHI260AP Soft Iron Calibration matrix

    BHI260AP Soft Iron Calibration matrix


    Hi Bosch,

    We are using BHI260AP + BMM150 in our product. We would like to get the 9dof quaternion  from the sensor.

    The datasheet 13.3.3 said the BSX library can use the soft iron calibration matrix to improve the estimation accuracy. We have successfully read the 3x3 SIC matrix in 72 bytes from bhi260. Could you please provide more information about the SIC matrix ? For example, how is the SIC matrix value coded? LSB or MSB first? and what is scale? max and min of the value?


    10 REPLIES 10

    Community Moderator
    Community Moderator

    Hello tonny1010,

    Currently, BHI260AP software was not officially released. It was released if customer designed a project with it and applied for it.
    Could we know did you get BHI260AP software from distributor or other channel?

    Hello BSTRobin,

    The FW, driver and SDK are aviable on the product page of BHI260AP and also on bosch's official github.


    These informations regarding to SIC matrix are also presented iin the datasheet of BHI260AB. We use both bhi260ab and bhi260ap in our products, could please provide information about this?


    Community Moderator
    Community Moderator

    Hello tonny1010,

    You could see it in data sheet, the SIC matrix use a BSX internal binary data format and are not inteded to be interpreted by the host. Driver code supported get and set operation.

    int8_t bhy2_get_sic_matrix(uint8_t *sic_matrix, uint16_t matrix_len, uint32_t *actual_len, struct bhy2_dev *dev);

    int8_t bhy2_set_sic_matrix(const uint8_t *sic_matrix, uint16_t matrix_len, struct bhy2_dev *dev);

    BHI260 BSX SIC matrix.png

    Hello BSTRobin,

    Thanks for the replay,

    We have read this note and found those functions in the driver. But could you confirm that the bhi260AP/AB firmware takes care of both HARD iron and SOFT iron calibration? We did not find this information in the datasheet. Another sensor like BNO055 from Bosch takes care only of hard iron calibration and we must load a soft iron matrix into the sensor. This is why we think the SIC matrix should be sent to BHI260AP/AB.
    Moreover, we have found these CSV files in bhi260ap/ab sdk, which contain the sic matrix for different boards and phones. The value in the fies "bsx4configSerialization_SENSORHUB_SIC_BMM150_SHUTTLE_BHI260.csv" is exactly what we read from the sensor using "bhy2_get_sic_matrix()". So we think the sic matrix should be generated by ourself for each device, then loaded into the BHI260.


    Please give us more information regarding the soft/hard iron calibration of magnetometer.


    Thanks for your help