アマゾンで購入できる9軸IMUのWT901ボードをPCにつないで、オイラー角を得ます。
  データシート
UART接続のIMU WT901
IMUボードは、アマゾンで入手しました。
PCとCOMポートで接続するためにUSB-シリアル変換ボードもアマゾンで入手しました。
HiLetgo 2個セット CP2102 マイクロ USB転UART TTL モジュール 6ピン シリアル コンバーター STC FT232を置換でき 並行輸入品
接続
 上記のボードを接続します。UART信号のTXとRXはクロスします。電源電圧は3.3~5Vで、5Vにつなぎました。

ユーティリティを使ってオイラー角の出力を有効にする
デフォルトでは、ACCELERATION、MAGNETIC FILED(uT)、PRESSURE(Temprature)、Angleの値が送られています。Windowsのソフト「Standard Software for Windows PC」をダウンロードし、設定を変更します。
  GitHub https://github.com/WITMOTION/WT901
  Googleドライブ https://drive.google.com/drive/folders/1dWvJU2Ug7MpcwTPWoARw2KJI8oYbuVEW
 Contentの設定で、全部のチェックを外し、Angleだけにチェックを入れます。
 下の画面ではUARTと通信速度が115200ですが、実験なので、9600bpsに変更しました。
 Angleがオイラー角であるとはどこにも書かれていないのですが、ユーティリティをうごかしてRoll、Pitch、Yawが得られるので、たぶんあっていると思います。
 真ん中の図の動きを見ても、それっぽいです。
matlabで接続
 Angleのデータ/・フォーマットは、データシートから、次の形式になっています。
 0x55がデータの始まりを表し、次の0x53でAngleのデータが送られてきたことを判別できます。
| 0x55 | 0x53 | RollL | RollH | PitchL | PitchH | YawL | YawH | 
|---|
matlabはR2022b update5です。Windows10 Pro 22H2の環境です。
clear
close all;
wt901 = serialport('COM3', 9600) ; %115200);
Angle=[0 0 0 0 0 0];
while (1)
    Head = read(wt901,2,'uint8');
    if (Head(1)~=uint8(0x55))
        continue;
    end 
    if (Head(2) == uint8(0x53))
        Angle = (read(wt901,6,'uint8'))
        Roll  = (Angle(2)*256 +Angle(1)) / 32768*180
        Pitch = (Angle(4)*256 +Angle(3)) / 32768*180
        Yaw   = (Angle(6)*256 +Angle(5)) / 32768*180
        pause(0.1);  
    end
end
simulinkで接続
  Instrument Control ToolBoxを使っています。
 全体です。真ん中の六つのデータが、読み込んだ生データです。
 右下が、オイラー角のデータ出力です。
Functionの内容です。
function Angle = fcn(data)
Angle = zeros(1,3);
Roll = (data(2)*256 +data(1)) / 32768*180;
Pitch = (data(4)*256 +data(3)) / 32768*180;
Yaw  = (data(6)*256 +data(5)) / 32768*180;
Angle = [Roll,Pitch,Yaw]





