Bosch Sensortec Community

    cancel
    Showing results for 
    Search instead for 
    Did you mean: 

    BMM350 Initialization failure after executing bmm350_magnetic_reset_and_wait()

    BMM350 Initialization failure after executing bmm350_magnetic_reset_and_wait()

    chandrasas010
    New Poster

    Hi,

    We are working on a project that interfaces BMM350 over I2C with STM32WB microcontroller. We have integrated the BMM350-SensorAPI into our project. 

    In the sensor init process, init fail observed during bmm350_magnetic_reset_and_wait(). Specifically when attempting to set the BR bit in the PMU_CMD register. 

    Where pmu_cmd_stat_0.pmu_cmd_value is: 0x00 instead of the expected: 0x07.

    More over  pmu_cmd_stat_0.pmu_cmd_busy is always 1 during bmm350_get_pmu_cmd_status_0. After  executing bmm350_magnetic_reset_and_wait the pmu_cmd_stat_0.cmd_is_illegal is becoming 1.

    We are unable to find related to this in the datasheet. If we comment out the error check and continue on with the init process then reading the magnetometer xyz data returns the reset values (0x7F7F7F). bmm350_get_compensated_mag_xyz_temp_data is giving the values: x = -6793.00879, y = -6408.92871, z = -5296.71094, temperature = 8385.75586

    We have purchased the sensor from Digi key.

    Herewith I attach the schematic, that shows the hardware interface between BMM350 and STM32WB microcontroller. Could you please let me know is there any issue with hardware connections.

    Thanks,

    J. Chandra Sekhar

    2 REPLIES 2

    BSTRobin
    Community Moderator
    Community Moderator

    Hi chandrasas010,

    Thanks for your inquiry.
    BMM350 pin A1 INT does not require a pull-up resistor and can be directly connected to the host.
    It is necessary to ensure that the C37 capacitor is used in accordance with the requirements in the BMM350 data sheet. For the 2.2uF external cpacitor a low-inductance low-ESR type is recommended.

    2024-04-25_17h43_54.png
    After checking the above hardware, run the BMM350 sensor API and examples again.

    Hi BSTRobin,

    I have made the below changes as you suggested:

    1. updated the C37 capacitor (2.2uF external cpacitor) to CGB4B3X7R0J225K055AB.

    2. Connected  pin A1 INT directly to host (MCU) with out pull-up resistor.

    Still the issue remains the same as i described you in the previous query.  We are provided voltage as 1.5V to VDD. Is this would cause above issue?

    Request your support in resolving the query.

    Thanks,

    J. Chandra Sekhar

    Icon--AD-black-48x48Icon--address-consumer-data-black-48x48Icon--appointment-black-48x48Icon--back-left-black-48x48Icon--calendar-black-48x48Icon--center-alignedIcon--Checkbox-checkIcon--clock-black-48x48Icon--close-black-48x48Icon--compare-black-48x48Icon--confirmation-black-48x48Icon--dealer-details-black-48x48Icon--delete-black-48x48Icon--delivery-black-48x48Icon--down-black-48x48Icon--download-black-48x48Ic-OverlayAlertIcon--externallink-black-48x48Icon-Filledforward-right_adjustedIcon--grid-view-black-48x48IC_gd_Check-Circle170821_Icons_Community170823_Bosch_Icons170823_Bosch_Icons170821_Icons_CommunityIC-logout170821_Icons_Community170825_Bosch_Icons170821_Icons_CommunityIC-shopping-cart2170821_Icons_CommunityIC-upIC_UserIcon--imageIcon--info-i-black-48x48Icon--left-alignedIcon--Less-minimize-black-48x48Icon-FilledIcon--List-Check-grennIcon--List-Check-blackIcon--List-Cross-blackIcon--list-view-mobile-black-48x48Icon--list-view-black-48x48Icon--More-Maximize-black-48x48Icon--my-product-black-48x48Icon--newsletter-black-48x48Icon--payment-black-48x48Icon--print-black-48x48Icon--promotion-black-48x48Icon--registration-black-48x48Icon--Reset-black-48x48Icon--right-alignedshare-circle1Icon--share-black-48x48Icon--shopping-bag-black-48x48Icon-shopping-cartIcon--start-play-black-48x48Icon--store-locator-black-48x48Ic-OverlayAlertIcon--summary-black-48x48tumblrIcon-FilledvineIc-OverlayAlertwhishlist