目次
初めに
M5Stackシリーズのコントローラと、UNIT、MODULEにはIMU搭載のものがありますが、
M5Stack公式ではXYZ軸を公開されているものとないものが存在してます。加速度センサはなくても製品をXYZそれぞれ傾ければ軸を特定できます。
しかし地磁気も含めた9DoFでは情報が少ないです。
例えば古いFire/GreyのMPU9250とMPU6886+BMM150では地磁気の軸が違うため当時はに沼にはまってました。ジャイロ/加速度のXYZ軸は公開されているのに地磁気のXYZ軸は公開されて無いんですよね。
手持ちのM5Stack製品レベルでのIMUの軸を調べていましたがXだったり、Githubだったりまとまってませんでした。
需要ないかなと思ってましたがメンションが流れてきましたので書くことにしました。
調査方法
Webに出回っている実装写真、コントローラを傾けたときの符号とセンサのデータシートに基づき調査しました。
搭載デバイスについて
データシートのorientation項目に記載あります
- MPU9250(Greyの初期モデル、本記事未掲載)
- MPU6886
- BMI270
- BMM150
調査したコントローラ
-
Atom Matrixは持っていないのですが、こちらの方が調べられていますのでXのポストを参照してください
- M5StickシリーズとM5Dialは持っていないため載せていません
最後に
自分はセンサメーカーのサンプルをもとにライブラリを自作しましたが公式から出ているM5Unifiedを使うと設定がコントローラに依存しないため便利です
References
- Invensense(TDK) MPU9250, MPU6886 datasheet
- Bosch BMI270, BMM150 datasheet
https://github.com/BoschSensortec - tana_ash さんのX
https://x.com/tana_ash - M5Stack公式及びGithub M5Unified
- K.Yama さんのX
https://x.com/USDJPY2010 - 拙github
https://github.com/9PEO0xNd







