Bosch Sensortec Community

    Showing results for 
    Search instead for 
    Did you mean: 

    BMG250 stuck at SUSPEND power mode

    BMG250 stuck at SUSPEND power mode


    Hello!  I am currently trying to make my BMG250 working, but it is always in suspended mode from startup. I can read ID, temperature and read/write some configuration registers, but nothing happens when I attempt to change power mode to normal. And all other readings are zeros.

    So my init procedure looks like that: 


    void BMG250_Init(SPI_DEVICE spi)
    	bmg250.device = spi;
    	HAL_GPIO_WritePin(bmg250.device.cs_port,bmg250.device.cs_pin,GPIO_PIN_SET); // CS pin high
    	BMG250_IO_ReadID(); 	// Read from reg 0x00 to enable SPI mode
    	HAL_Delay(10);			// Delay 0x00
    	BMG250_IO_Start(); 		// Write 0x15 to 0x7E reg
    	HAL_Delay(1000);		// Waiting for reboot
    	BMG250_IO_ReadID();		// Read ID
    	BMG250_IO_ReadStatus(); // Read PMU status


     And I end up with this



    I checked everything:

    • Power is OK. 3.3V and at least 300mA available
    • SPI works properly according to the logic analyzer
    • SPI speed is 1MHz
    • Rebooting, restarting, trying different power modes does not help
    • Error registers are clear


    I designed my code according to

    But it still does not work.


    Please help me!

    5 REPLIES 5

    Community Moderator
    Community Moderator

    Hello WirelessMan,

    Suggest you refer to the flow of the example program to run it.

    Dear BSTRobin,

    As I said, I followed examples on this GitHub page. It does not help.

    Community Moderator
    Community Moderator

    Hello WirelessMan,

    Could we know what is the specific phenomenon that you can't use it normally? This is a tested code, which is finally put on GitHub.

    Hello BSTRobin,

    I made mistake in spi read function. It took more than week to find the error, because other devices were working fine on the same SPI lane using same function.

    Sorry for disturbance and thank you!