概要
M5シリーズを同時に開発できるM5LiteでIMUの動作を確認してみました。特に座標軸が違うと同じコードで動かないので、統一したいと思います。
加速度

画面の向きで正面を決めました。正面で画面を上に机に置いたところZ軸が1になりました。

左側に倒したところにX軸が1になりました。TTGO T-Watchが逆だったので補正します。

同じく正面のまま立てかけるとY軸が1になりました。TTGO T-Watchが逆だったので補正します。
ここには写っていませんですが、ATOM Matrixも軸がずれていたので、M5StickCと同じ数値になるように補正しました。
ジャイロ

X軸の回転は手前に傾けるとプラスでした。

Y軸の回転は右に傾けるとプラスでした。

Z軸は左に傾けるとプラスでした。
シリアルプロッタで描画しながら動かすとわかりやすいですね。この軸になるように他の端末も補正していきます。TTGO T-Watchはそもそも3軸なのでジャイロがありません。そのためATOMだけ補正が必要になります。
MahonyAHRS
組み込もうかと思いましたが、既存M5StickCライブラリのピッチとロールの軸が逆な気がするんですよね。MahonyAHRS以外のもいろいろライブラリがあるので、各自自分で組み込んでみてください、、、
まとめ
M5StickCとM5StackはIMUの軸が同じでした。このへんは流石ですがATOMが違ったのが残念。小さいから設計の自由度が低いのかな?



コメント
たなかさん、こんにちは。
参考になりました。(書き込まれてから数年経ってのコメントで申し訳あり
ません。)
私は、最近IMUをBLE接続するコードを書いて、PCの画面に表示した3d CUBE
を動かすデモを実現しました。コードレスなので快適です。
これはM5Unifiedで書いたので、手元にある M5Stack(Core2, Grey)と
M5StickC Plu2で動作します。
3機種で同じように動作させるには軸の動きを一致させる(機種ごとに条件
文をいれて対応)必要がありました。
しばらく使ってみて、キャリブレートの必要性に気づいたのですが、
キャリブレートを実施しても、Core2だけは、静止状態でも少しの
揺れがあり、校正は無効のようです。
顛末は以下のURLに書きました。
https://github.com/m5stack/M5Unified/issues/253
私は、Core2での真の対策は諦めていますが、たなかさんのところ
ではこうした不具合は起きていませんか?
3d cubeのデモは、ここで報告しています。
https://github.com/arturormk/m5stickc-ble-clinometer/issues/1