Bosch Sensortec Community

    Showing results for 
    Search instead for 
    Did you mean: 

    BMX160 Magnetometer Saturation

    BMX160 Magnetometer Saturation

    New Poster


    I have set up the magnetometer as per secton in the BMX160 datasheet.

    I am able to read consistent data from the DATA registers and convert that into MagX and MagY.

    However when I rotate the PCB, and graph some sample points, this is what I get. It looks like it is saturating very quickly.


    According to Table 4 of the datasheet the magnetic field range is +-1150uT. I compared with my phone to check the field in the area around the PCB and it is ~60uT, peaking at 140uT at the power supply 2ft away on the bench, either way it is well inside spec.

    I dont see any settings for the range like the ACC or GYRO have, and the offset is only to do with the time between triggering and reading.

    Am I missing something obvious? Is there a way to make this look more sinewavey?



    2 REPLIES 2

    Community Moderator
    Community Moderator

    Hello Imills,


    I believe that you are using our github source as below. (For BMX160 general ) ( For BMM150 ) 

    And, I attached the my BMX160 source code. When I tested, it was okay. 

    Could you check with my code, and please let me know if you have further questions. ( The unit is uT) 

    Thank you. 

    I'm not using the API, as nice as it looks it looks like it would be way more work to use, for this application, than to write things myself.

    Anyways I solved the issue, turns out im a moron and it was in 2s compliment. I need to use a signed int.