BMM150 doesn't work with M5AtomS3 and M5CoreS3
-
I bought this one.
6-DoF IMU Pro Mini Unit (BMI270, BMM150, BMP280)
https://shop.m5stack.com/products/6-dof-imu-pro-mini-unit-bmi270-bmm150-bmp280
Six-axis Attitude Sensor (BMI270) I2C address:0x68(default)
Three-axis Geomagnetic Sensor (BMM150) I2C Address: 0x10
Atmospheric Pressure Sensor (BMP280) I2C Address: 0x76I run I2C device probe program. The result is below.
I get same result on M5AtomS3 and M5CoreS3.
I use Visual Studio Code + PlatformIO.I2C Scan SDA:2 SCL:1 .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. 68 .. .. .. .. .. .. .. .. .. .. .. .. .. 76 .. .. .. .. .. .. .. .. ..I also run on RaspberryPi. The result is below.
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:~ $Is this normal status ?
device probe program
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 <= 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); }Thank you.
-
Hello @carpenderspark
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 here. That is the reason it doesn't show up in the I2C scan.
You can access it via BMI270 functions. See here.
Thanks
Felix -
@felmue Wow, thank you. I saw schematic, I understand. I try. I will report the result.
Thanks. -
Umm, it doesn't seem good combination <M5Unified> and <M5Unit-IMU-Pro-Mini>.
I got error message.
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 1M5Unified\src\utility\imu\BMI270_Class.hpp(11): class BMI270_Class : public IMU_Base
M5Unit-IMU-Pro-Mini\src\BMI270.h(42): class BMI270 {I use this environment on PlatformIO.
[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-MiniIt is better to change M5Unified to another baseic library, isn't it?
-
AtomS3 has MPU6886. umm
https://docs.m5stack.com/en/core/AtomS3
Built-in 3-axis gyroscope and 3-axis accelerometer (MPU6886)
Hello! It looks like you're interested in this conversation, but you don't have an account yet.
Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.
With your input, this post could be even better 💗
Register Login