<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[BMM150 doesn&#x27;t work with M5AtomS3 and M5CoreS3]]></title><description><![CDATA[<p dir="auto">I bought this one.</p>
<p dir="auto">6-DoF IMU Pro Mini Unit (BMI270, BMM150, BMP280)<br />
<a href="https://shop.m5stack.com/products/6-dof-imu-pro-mini-unit-bmi270-bmm150-bmp280" target="_blank" rel="noopener noreferrer nofollow ugc">https://shop.m5stack.com/products/6-dof-imu-pro-mini-unit-bmi270-bmm150-bmp280</a><br />
Six-axis Attitude Sensor (BMI270) I2C address:0x68(default)<br />
Three-axis Geomagnetic Sensor (BMM150) I2C Address: 0x10<br />
Atmospheric Pressure Sensor (BMP280) I2C Address: 0x76</p>
<p dir="auto">I run I2C device probe program. The result is below.<br />
I get same result on M5AtomS3 and M5CoreS3.<br />
I use Visual Studio Code + PlatformIO.</p>
<pre><code>I2C Scan SDA:2 SCL:1
.. .. .. .. .. .. .. ..
.. .. .. .. .. .. .. ..
.. .. .. .. .. .. .. ..
.. .. .. .. .. .. .. ..
.. .. .. .. .. .. .. ..
.. .. .. .. .. .. .. ..
.. .. .. .. .. .. .. ..
.. .. .. .. .. .. .. ..
.. .. .. .. .. .. .. ..
.. .. .. .. .. .. .. ..
.. .. .. .. .. .. .. ..
.. .. .. .. .. .. .. ..
.. .. .. .. .. .. .. ..
68 .. .. .. .. .. .. ..
.. .. .. .. .. .. 76 ..
.. .. .. .. .. .. .. ..
</code></pre>
<p dir="auto">I also run on RaspberryPi. The result is below.</p>
<pre><code>raspi@raspberrypi:~ $ i2cdetect -y 1
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:                         -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- 68 -- -- -- -- -- -- --
70: -- -- -- -- -- -- 76 --
raspi@raspberrypi:~ $
</code></pre>
<p dir="auto">Is this normal status ?</p>
<p dir="auto">device probe program</p>
<pre><code>  auto cfg = M5.config();
  M5.begin(cfg);
  Wire.begin(M5.Ex_I2C.getSDA(), M5.Ex_I2C.getSCL(), 400000);
  Serial.printf("I2C Scan SDA:%d SCL:%d", M5.Ex_I2C.getSDA(), M5.Ex_I2C.getSCL());
  Serial.println();
  for (byte address = 0; address &lt;= 127; address++) {
    Wire.beginTransmission(address);
    byte error = Wire.endTransmission();
    if (error == 0) {
      Serial.printf("%02X ", address);
    } else {
      Serial.print(".. ");
      if (address % 8 == 7) {
        Serial.println();
      }
    }
    delay(1);
  }
</code></pre>
<p dir="auto">Thank you.</p>
]]></description><link>https://community.m5stack.com/topic/6687/bmm150-doesn-t-work-with-m5atoms3-and-m5cores3</link><generator>RSS for Node</generator><lastBuildDate>Sat, 14 Mar 2026 17:12:11 GMT</lastBuildDate><atom:link href="https://community.m5stack.com/topic/6687.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 09 Aug 2024 09:06:09 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to BMM150 doesn&#x27;t work with M5AtomS3 and M5CoreS3 on Sat, 10 Aug 2024 01:53:00 GMT]]></title><description><![CDATA[<p dir="auto">AtomS3 has MPU6886. umm<br />
<a href="https://docs.m5stack.com/en/core/AtomS3" target="_blank" rel="noopener noreferrer nofollow ugc">https://docs.m5stack.com/en/core/AtomS3</a><br />
Built-in 3-axis gyroscope and 3-axis accelerometer (MPU6886)</p>
]]></description><link>https://community.m5stack.com/post/26049</link><guid isPermaLink="true">https://community.m5stack.com/post/26049</guid><dc:creator><![CDATA[carpenderspark]]></dc:creator><pubDate>Sat, 10 Aug 2024 01:53:00 GMT</pubDate></item><item><title><![CDATA[Reply to BMM150 doesn&#x27;t work with M5AtomS3 and M5CoreS3 on Sat, 10 Aug 2024 01:10:51 GMT]]></title><description><![CDATA[<p dir="auto">Umm, it doesn't seem good combination &lt;M5Unified&gt; and &lt;M5Unit-IMU-Pro-Mini&gt;.</p>
<p dir="auto">I got error message.</p>
<pre><code>Dependency Graph
|-- M5Unified @ 0.1.16
|-- VL53L1X @ 1.3.1+sha.8f21d60
|-- M5Unit-ENV @ 1.0.1
|-- M5Unit-IMU-Pro-Mini @ 1.0.2+sha.002b74a
|-- WiFi @ 2.0.0
Building in release mode
Compiling .pio\build\m5stack-atoms3\src\main.cpp.o
In file included from .pio/libdeps/m5stack-atoms3/M5Unit-IMU-Pro-Mini/src/M5_IMU_PRO.h:7,
                 from src/main.cpp:8:
.pio/libdeps/m5stack-atoms3/M5Unit-IMU-Pro-Mini/src/BMI270.h:37:8: error: redefinition of 'struct BMI270::dev_info'
 struct dev_info {
        ^~~~~~~~
In file included from src/main.cpp:7:
.pio/libdeps/m5stack-atoms3/M5Unit-IMU-Pro-Mini/src/BMI270.h:37:8: note: previous definition of 'struct BMI270::dev_info'
 struct dev_info {
        ^~~~~~~~
In file included from .pio/libdeps/m5stack-atoms3/M5Unit-IMU-Pro-Mini/src/M5_IMU_PRO.h:7,
                 from src/main.cpp:8:
.pio/libdeps/m5stack-atoms3/M5Unit-IMU-Pro-Mini/src/BMI270.h:42:7: error: redefinition of 'class BMI270::BMI270'
 class BMI270 {
       ^~~~~~
In file included from src/main.cpp:7:
.pio/libdeps/m5stack-atoms3/M5Unit-IMU-Pro-Mini/src/BMI270.h:42:7: note: previous definition of 'class BMI270::BMI270'
 class BMI270 {
       ^~~~~~
*** [.pio\build\m5stack-atoms3\src\main.cpp.o] Error 1
</code></pre>
<p dir="auto">M5Unified\src\utility\imu\BMI270_Class.hpp(11):   class BMI270_Class : public IMU_Base<br />
M5Unit-IMU-Pro-Mini\src\BMI270.h(42): class BMI270 {</p>
<p dir="auto">I use this environment on PlatformIO.</p>
<pre><code>[env:m5stack-atoms3]
platform = espressif32
board = m5stack-atoms3
framework = arduino
lib_deps = 
	m5stack/M5Unified@^0.1.16
	https://github.com/pololu/vl53l1x-arduino
	m5stack/M5Unit-ENV@^1.0.1
	https://github.com/m5stack/M5Unit-IMU-Pro-Mini
</code></pre>
<p dir="auto">It is better to change M5Unified to another baseic library, isn't it?</p>
]]></description><link>https://community.m5stack.com/post/26048</link><guid isPermaLink="true">https://community.m5stack.com/post/26048</guid><dc:creator><![CDATA[carpenderspark]]></dc:creator><pubDate>Sat, 10 Aug 2024 01:10:51 GMT</pubDate></item><item><title><![CDATA[Reply to BMM150 doesn&#x27;t work with M5AtomS3 and M5CoreS3 on Sat, 10 Aug 2024 00:29:01 GMT]]></title><description><![CDATA[<p dir="auto"><a class="mention plugin-mentions-user plugin-mentions-a" href="https://community.m5stack.com/uid/4037">@felmue</a> Wow, thank you. I saw schematic, I understand. I try. I will report the result.<br />
Thanks.</p>
]]></description><link>https://community.m5stack.com/post/26047</link><guid isPermaLink="true">https://community.m5stack.com/post/26047</guid><dc:creator><![CDATA[carpenderspark]]></dc:creator><pubDate>Sat, 10 Aug 2024 00:29:01 GMT</pubDate></item><item><title><![CDATA[Reply to BMM150 doesn&#x27;t work with M5AtomS3 and M5CoreS3 on Fri, 09 Aug 2024 17:12:01 GMT]]></title><description><![CDATA[<p dir="auto">Hello <a class="mention plugin-mentions-user plugin-mentions-a" href="https://community.m5stack.com/uid/145534">@carpenderspark</a></p>
<p dir="auto">yes, that is normal. The reason is that the BMM150 is not directly connected to the I2C bus (e.g. SDA, SCL) but is behind BMI270 (e.g. BMM_SDA, BMM SCL). See schematic <a href="https://docs.m5stack.com/en/unit/IMU%20Pro%20Mini%20Unit?id=schematic" target="_blank" rel="noopener noreferrer nofollow ugc">here</a>. That is the reason it doesn't show up in the I2C scan.</p>
<p dir="auto">You can access it via BMI270 functions. See <a href="https://github.com/m5stack/M5Unit-IMU-Pro-Mini/blob/main/src/BMI270.cpp#L229" target="_blank" rel="noopener noreferrer nofollow ugc">here</a>.</p>
<p dir="auto">Thanks<br />
Felix</p>
]]></description><link>https://community.m5stack.com/post/26043</link><guid isPermaLink="true">https://community.m5stack.com/post/26043</guid><dc:creator><![CDATA[felmue]]></dc:creator><pubDate>Fri, 09 Aug 2024 17:12:01 GMT</pubDate></item></channel></rss>