BMM150_HelloWorld Christian Dupaty 03/2021 Library and demo for BMM150 see datasheet here : https://www.bosch-sensortec.com/products/motion-sensors/magnetometers-bmm150/ Adaptation of BOSCH driver https://github.com/BoschSensortec/BMM150-Sensor-API for ARM MBED and tested on NUCLEO-L073RZ and GEOMAGNETIC CLICK https://www.mikroe.com/geomagnetic-click

Dependencies:   mbed bmm150GeoMagnetic

BMM150_HelloWorld

Christian Dupaty 03/2021

Library and demo for BMM150 see datasheet here : https://www.bosch-sensortec.com/products/motion-sensors/magnetometers-bmm150/

Adaptation of BOSCH driver https://github.com/BoschSensortec/BMM150-Sensor-API for ARM MBED and tested on NUCLEO-L073RZ and GEOMAGNETIC CLICK https://www.mikroe.com/geomagnetic-click

https://os.mbed.com/media/uploads/cdupaty/geomagneticclick.jpg

The BMM150 sensor supports I2C and SPI serial communications. The choice of protocol is made on the PS pin (see datasheet page 32), the default mode is SPI. Unfortunately, MIKROE did not place a configuration micro-switch on the GeoMagnetic-click module, but straps that are difficult to move. By default, the module is configured in SPI mode (all the straps are on the left as in the photo). To place the module in I2C mode, all the straps must be moved to the right.

However, it is possible to implement I2C communications without moving all the straps:

- Move only the strap at the bottom on the photo to the right. - On the left connector we have now :

- CS is connected to CSB-BMM150

- SCK is connected to SCL-I2C-BMM150

- MISO is linked to SDO-BMM150

- MOSI is connected to SDA-I2C-BMM150

BMM150 DataSheet page 36, CSB and SDO are used to define the I2C address. In the program, this address is chosen in BMM150_defs.h line 37 (here address 0x13, therefore CSB = 1 and SDO = 1) define BMM150_I2C_Address (0x13 << 1)

SCL and SDA lines must be connected to 3.3v by pullup resistor (4.4K to 10K) to comply with the I2C standard

Supply with the NUCLEO card in 3.3v and GND

The heading is given periocally by UART over USB in an ASCII terminal (ex TeraTerm)

https://os.mbed.com/media/uploads/cdupaty/bmm150_cap.jpg

Video here ... https://photos.app.goo.gl/zqKQNfw5694xbMZCA

History

OK with library updated default tip

2021-05-20, by cdupaty [Thu, 20 May 2021 07:36:32 +0000] rev 8

OK with library updated


OK;

2021-05-20, by cdupaty [Thu, 20 May 2021 07:33:10 +0000] rev 7

OK;


tested OK

2021-05-20, by cdupaty [Thu, 20 May 2021 07:30:34 +0000] rev 6

tested OK


demo OK;

2021-05-05, by cdupaty [Wed, 05 May 2021 13:30:15 +0000] rev 5

demo OK;


New i2c_ functions

2021-03-25, by cdupaty [Thu, 25 Mar 2021 13:08:23 +0000] rev 4

New i2c_ functions


Christian Dupaty 03/2021; Library and demo for BMM150 see datasheet here : https://www.bosch-sensortec.com/products/motion-sensors/magnetometers-bmm150/; Adaptation of BOSCH driver https://github.com/BoschSensortec/BMM150-Sensor-API; for ARM MBED and test...

2021-03-24, by cdupaty [Wed, 24 Mar 2021 19:35:54 +0000] rev 3

Christian Dupaty 03/2021; Library and demo for BMM150 see datasheet here : https://www.bosch-sensortec.com/products/motion-sensors/magnetometers-bmm150/; Adaptation of BOSCH driver https://github.com/BoschSensortec/BMM150-Sensor-API; for ARM MBED and test...


Test? pour projet BTSSN

2016-04-30, by cdupaty [Sat, 30 Apr 2016 17:06:22 +0000] rev 2

Test? pour projet BTSSN


Uses libraries for imports (as opposed to programs).

2010-11-27, by aberk [Sat, 27 Nov 2010 12:15:56 +0000] rev 1

Uses libraries for imports (as opposed to programs).


2010-08-26, by aberk [Thu, 26 Aug 2010 10:54:06 +0000] rev 0