Skip to content

Instantly share code, notes, and snippets.

@ymt117
Last active June 4, 2025 15:00
Show Gist options
  • Save ymt117/7af9563b6ba8a807b1857ef3a068a780 to your computer and use it in GitHub Desktop.
Save ymt117/7af9563b6ba8a807b1857ef3a068a780 to your computer and use it in GitHub Desktop.
フライトコントローラの使い方(Ardupilot)

MATEKSYS F405-WING V2

環境

  • Manjaro Linux
  • Arduino IDE 2
  • XIAO ESP32C3
  • Mission Planner

ファームウェアの書き込み

ファームウェアをダウンロードする。

「Plane > stable > MatekF405-Wing」とクリックして、arduplane_with_bl.hexをダウンロードする。

STM32CubeProgrammerをダウンロードする。

yay -S stm32cubeprog

以下の記事を参考にして書き込みする。

Mission Planner

Mission Plannerをダウンロードする。

yay -S ardupilot-mission-planner

姿勢情報をArduinoで取得する

Mission Plannerで以下の設定をした。

  1. 「設定/調整」を開く
  2. 「フルパラメータリスト」を開く
  3. 「SERIAL5」に以下を設定する
    • ボーレート:115200
    • プロトコル:MAVLink1

Arduinoのプログラム↓

[WIP] MAVLinkで制御する

S.BUSで制御する

Mission Plannerで以下の設定をした。

  1. 「設定/調整」を開く
  2. 「フルパラメータリスト」を開く
  3. 「SERIAL7」に以下を設定する
    • ボーレート:100000?(「100」を手入力した)
    • プロトコル:RCIN(23)

「SERIAL7」がRC用であることは、フライトコントローラの製品ページでArdupilot mappingから確認した(参照)。

Arduinoのプログラム↓

以下のライブラリを使用した。

以下のように配線する

MATEKSYS F405-WING V2 XIAO ESP32C3
GND GND
Rx2 D6 (TX, GPIO21)

「初期設定 > 必須ハードウェア > ラジオキャリブレーション」を開いて、Rollの値が変化する様子が確認できた。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment