R/C

技適付ExpressLRS受信機 RadioMaster ER8 PWM の設定

1. 前置き

RadioMaster NEXUS-XRに続きER8の技適が取得されたので、購入してみました。外国から3年遅れで、日本でも使用できるようになりました。

NEXUS-XRとの比較は、次の記事を見てください。

ER8だけでも電圧のモニターができますが、ERS Series SensorもAliexpressで発注しました。しかし、1ヶ月経っても着荷せず、返金処理待ちです。

  • ERS-GPS – Precision GPS Sensor for compatible ExpressLRS PWM receivers
  • ERS-CU1 - Real-Time Current Sensor for compatible ExpressLRS PWM Receivers
  • ERS-RB1 - Brushless Tachometer for Compatible ExpressLRS PWM Receivers
  • RadioMaster ExpressLRS USB UART Flasher V2 - Upgrade your ELRS firmware with ease using our simple and effective tool.
    センサー等のFirmware更新に使用します。技適が無いER6などはWiFiが認可されていないので、このI/Fを使い有線でF/Wの更新や設定をします。

余談 : これらのセンサーのI/Fは、ERS Series専用のCRFSなので、一般的なFCには使用できません。INAVの要望に上がっていましたが、進展が無いので非採用のようです。

2. PWM Receiverに接続したServoとFCに接続したServoの違い

ExpressLRS(ELRS)では、受信機(RX)に付けたサーボと、フライトコントローラー(FC)に付けたサーボで、次のような動作の違いがあります。(Ver.4の場合)

Item ER8 (PWM Receiver) NEXUS-XR (FC+RX)
Disarmed Throttleも含む全チャンネルのサーボが動きます MotorへのPWM信号が出ません
Model Match On時の異なるModel ID サーボが動きます サーボが動きません
高解像度CH数 : 2エルロンサーボの割当例[*] 送信機の2CH分に割当てます。なので、Ail x2、Ele、Thr、Rudの5CHの高解像度CHが必要です。この為、Switch Modeを8ch(10bit,1.23us/bit,8CH)にします。 送信機側は1CHのみ使用し、FC側の出力で2サーボに同じ送信機CHを割当てます。なので、Ail、Ele、Thr、Rudの4CHの高解像度でOKです。この為、Switch ModeにWide(10bit,1us/bit,4CH)が使えます。
CH5 Arm 初期値ではCH5のPWM出力にサーボを使えないので、最大サーボ数は7になります。8個使う場合は、ArmにCH14を使用します。 サーボ出力にCH5を割当てなければ良いだけなので、初期値のCH5 Armでも最大サーボ数は減りません

[*] ヘリコプターのピッチもThrottle StickでCorreciveとThrottleの2CHを動かすので、同様です。

3. 初期値と設定の変更

値の右に「*」がある値が変更箇所です。「*」が無いものは、初期値のままです。

1) 取扱説明書

製品に取扱説明書は付属していません。取扱説明書はネットにあります。

ExpressLRSを知っている人向けのManualです。知らない人は、このManualだけで使うことはできないと思います。なので、以下操作手順も含めて記載します。

2) 設定画面の表示

  1. Wi-Fi接続できるパソコンを起動します。
  2. 送信機の電源を入れない状態で、ER8に電源を接続します。電源の接続方法は、普通の受信機と同じです。ESCのBEC等から給電してください。黄緑青赤にLEDが点灯した後、橙のLEDの2回点滅が60秒続きます。この状態がExpressLRSの送信機の電波の受信待ちの状態です。その後、緑色が少し変化するのLED点灯に変わり、Wi-Fiアクセスポイントになります。
  3. Windows PCのタスクトレイのネットワークアイコンをクリックし、Wi-Fiアイコンの右の[>]をクリックし、アクセスポイントのリストの[ExpressLRS RX]をクリックし、自動的に接続するにチェックを入れないで、[接続]をクリックします。
  4. パスワードに expresslrs と入力します。
  5. インターネットブラウザを起動してください。
  6. 暫く待ってもExpressLRSの設定ページが表示されない時は、URL欄に http://10.0.0.1/ と入力して下さい。
    もし、インターネット側に切り替わってしまったら、[ExpressLRS RX]に再接続してください。

3) 初期設定値

ブラウザで次の設定などを確認し、必要があれば変更します。

  • RadioMaster ER8 2.4GHz Diversity+8xPWM RX // ER8 の Hardware Target 名です。
  • Firmware Rev. 3.3.1 (e051b8) ISM2G4 // 工場出荷時のバージョンです。ISM2G4は、FCC版です。

OPTIONS

  • Binding Phrase : 空欄(灰色でBinding Phrase表示) // BindにBinding Phraseを利用する場合は、設定してください。
  • Not set The default binding UID from the device address will be used : 0,1,2,3,4,5 // 自動表示されたままでOKです。
  • WiFi"auto on" interval (s) : 60 // 技適が無い受信機は、0にしてWi-Fi電波を出さないようにします。
  • UART baud : 420000
  • Lock on first connection : On
  • Use as AirPort Serial device : Off

WiFi

このタブは変更不要です。

  • Set new Home network
  • WiFi SSID : 空欄(灰色でSSID表示)
  • WiFi password : 空欄

MODEL

Output Mode Input Invert? 750us? Failsafe
1 50Hz ch1 off off 1500
2 50Hz ch2 off off 1500
3 50Hz ch3 off off 988
4 50Hz ch4 off off 1500
5 50Hz ch5(AUX1) off off 1500
6 50Hz ch6(AUX2) off off 1500
7 50Hz ch7(AUX3) off off 1500
8 50Hz ch8(AUX4) off off 1500
  • Serial Protocol : CRSF
  • Enable Model Match : off // FCを使わずに受信機だけならこの設定に関係なく接続できますが、私はOnです。
  • Model ID : 空欄 // FCを使わずに受信機だけならここの値に関係なく接続できますが、私は受信機固有の番号を付けています。
  • Force telemetry OFF on this receiver : off // 技適が無い受信機はOnにして、Telemetry電波を出さないようにします。

UPDATE

受信機のFirmwareをアップデートするときに使います。

  • ファイルの選択 : ファイルが選択されていません

4) FirmwareのUpdate

送信機と受信機のFirmwareの左端の数字(メジャーバージョン)が同じである必要があります。例えば、送信機がVer. 4.1.0の場合は、初期値の3.3.1では接続できませんので、Ver. 4.1.0にUpdateします。

  1. PCをインターネットに接続し、次のサイトで[Run Web Flasher]-[Receiver]をクリックします。

  2. 次のように選び、[NEXT]をクリックします。

  • Firmware Version : 4.1.0 // 最新の安定板が表示されています。
  • Hardware Vender : RadioMaster *
  • Radio Frequency : 2.4GHz Receiver *
  • Hardware Target : RadioMaster ER8 2.4GHz Diversity+8xPWM RX *
  1. Receiver Optionsに次のように選び、[Next]-[Download]-[名前を付けて保存]で保存するフォルダを選択し、Firmwareを[保存]します。
  • UID : xx,x,xxx,x,xxx,xx : Binding Phraseを使用する場合は、自分で決めたバインド用の文字列を入力します。
  • Region : FCC // 送信機に合わせます。
  • WiFi SSID : 空欄(灰色でWiFi SSID表示)
  • WiFi Password : 空欄(灰色でWiFi Password表示)
  • Flashing Method : Local Download * // これ以外のUpdate方法もありますが、本記事ではこの方法を説明します。
  • WiFi "auto on" interval : 60 seconds
  • Flash RX as TX : Off
  • UART Baud rate : 420000
  • Lock on first connection : On
  1. 2)の設定画面の表示の手順で、受信機の設定画面をブラウザで開きます。

  2. UPDATEタブでダウンロードしたFirmwareのファイルを選択し、[開く]-[UPDATE]。Update Succeededと表示されるので[OK]。

  3. WiFiが切れるのでReceiverのWiFiに再接続します。

OPTIONS

  • Binding Phrase : 先に入力したBinding Phraseを変更する場合は、新しいBinding Phraseを入力し[SAVE]します。変更しない場合は、そのままです。

MODEL

Model Match/Model IDを使用する場合は、設定を変更し[SAVE]します。

  • Enable Model Match : Off -> On * // FCを使わずに受信機だけならこの設定に関係なく接続できますので、どちらでも良いです。
  • Receiver ID (0-63) : 255 -> 他の受信機と異なる番号を入力します。// FCを使わずに受信機だけならここの値に関係なく接続できますが、受信機固有の番号を付けても良いです。

5) EdgeTXの設定

RadioMaster TX16S Mark II 4IN1 の外部TX Module Bayに、BETAFPV Nano TX V2 Module ELRS 2.4G を付けた場合の操作を示します。

Model Settings

  1. [MDL]を長押しして、ER8を使うモデルを選びます。
  2. EdgeTXとTX Module間の通信設定
    [Model Settings]で、[Internal RF]をOFFにし、[External RF]を次のように設定します。

ER8はArmingの影響を受けません。一方、TX Moduleは、Dymamic PowerをDynにしている時、DisarmedでTX Powerを最小にします。なので、Disarmedの時に飛行させないようにする必要があります。
CH5を機体側で使用する場合は、CH5の出力値でTX ModuleがDisarmedしないように、Packet RateとSwitch Modeを8ch/12ch Full Resにし、Arm using Switchにして、CH5をArmingに使用しないようにします(CH14:disarmed 1000us, armed 2000us)。
そして、Armingに割当てたSwitchでThrottle Cutする設定をして、Disarmedの時に飛行させない設定にします。

  • Channel Range : CH1, CH16
    ID is unique
  • Receiver : 0 -> xx * // 接続する受信機に設定したModel IDの番号を設定することをお勧めします。
  1. 起動時にスイッチがDisarmedになっているかの確認設定
    [Model Settings]-[Pre-start Checks]-[SF↓]

  2. Disarmed時にThrottle Cutする設定
    [Model Settings]-[Mixes]-[CH3]-[Insert after]

  • Name : Cut
  • Src: MAX
  • Weight: -100
  • Switch: SF↓ ← Arm=Disarmed の位置
    [歯車アイコン]
  • Multiplex : Replace

参考 : ER8のManualのArmingに関する記述の抜粋です。
ExpressLRS Arming requirements and the use of Channel 5.
The ER4 receiver has 4 channels and does not require any channel outputs to be re-mapped
however it is still recommended to assign Channel 5 on your radio to a switch
such as your throttle cut switch so the RF module in your radio can be armed and disarmed which will provide benefits such as dynamic power.
Please visit https://www.expresslrs.org/ to learn more on the importance of setting up arming.

  1. Armed/Disarmed時の発音の設定
    [Model Settings]-[Special Functions]+[+]
    [SF1]
  • Trigger : SF↑
  • Function : Play Track
  • Value : armed
  • Enable : On
    [SF2]
  • Trigger : SF↓
  • Function : Play Track
  • Value : disarm
  • Enable : On

6) ExpressLRS Lua Script の設定

[SYS]-[TOOLS]-[ExpressLRS]でelrs.luaが起動します。

[BETAFPV 2G4Nano] BETAFPV Nano TX V2 Module ELRS 2.4GHz の例です。

  • Packet Rate : 250Hz(-108dBm) -> 100Hz Full(-112dBm) or 333Hz Full(-105dBm) // 333Hz Fullだと250Hzより3dBm感度が落ちます。

100Hzではパケットレートが遅いけど、日本ではTX Powerを上げられないから333Hzは距離が心配と感じるなら、8bitの150Hz(-112dbm)、250Hz(-108dBm) Wideを使用し、CH5のPWMを使用せず、CH5をArmingに割当てる案もあります。但し、CH1~4は8bit 256-pos、CH6~8は6bit 64-pos 8 Packetの解像度になります。なので、CH6~8をエルロンやピッチなどのスティック操舵には使えません。

  • Telem Ratio : Std (1:64) -> 1:32(173/714bps) or 1:16 (381/1546bps) * // 100HzだとTelemetryが遅いです。
  • Switch Mode : Wide -> 8ch
  • Link Mode : Normal
  • Model Match : Off -> On * (ID: xx) // 異なるIDの受信機に接続したFCに接続しないようにする。()内は、現在選択&BIND中のモデルのID

>TX Power (50mW) -> (25mW)

  • Max Power : 50mW -> 25mW * // 日本では25mW以下です。
  • Dynamic : off // 初期値はoffです。25mWならDynでもOffでも変わりません。
  • Fan Thresh : 250mW // ファンを回す電力を指定するだけで、この出力が発信されるわけではありません。

>VTX Administrator

  • Band/Enable : Disable

[Send VTx]
>WiFi Connectivity
>Backpack

  • Backpack : On
  • DVR Rec : Off
  • DVR Srt Dly : 0s
  • DVR Stp Dly : 0s
  • HT Enable : Off
  • HT Start Channel : EdgeTX
  • Telemetry : Off
  • Version : ver.unknown

ここでバインドしてください。Binding Phraseを使用している場合は、これで受信機の電源を入れれば、バインドします。Binding Phraseを使用していない場合は、次のURLの方法に従ってください。バインドすると受信機の青赤LEDが点灯します。

>Other Devices
[RM ER8] : ↓↓↓ここからER8の設定です。↓↓↓

  • Protocol : CRSF
  • Protocol2 : Off
  • SBUS failsafe : No Pulses
  • Ant. Mode : Diversity
  • Tlm Power : 100mW -> 10mW or 25mW * // 初期値100mWですが、日本では25mW以下だと思われます。余談 : NEXUS-XRは、2x 10mWです。
    • 送信機を25mWにし受信機を10mWにすると、距離が離れた場合に先にEdgeTXが"Telemetry Lost"を発声するので、まだ送信機の電波が十分な時点で回避行動を取ることができます。
    • 受信機を25mWにすると、"Telemetry Lost"が発声された時点では手遅れの可能性があるので、Mariator-pro / elrs-link-sentinel を入れておくと良いでしょう。

>Team Race

  • Channel : AUX7
  • Posistion : Disabled

>Output Mapping

  • Output Ch : 5
  • Input Ch : 5
  • Output Mode : 50Hz
  • Invert : Off
  • Bind Storage : Persistent
  • Model Id : Off -> xx * // 異なるIDの受信機に接続しないようにする。受信機毎に重複しない異なる番号を設定。
  • 4.1.0 ISM2G4 : a9d4a9

7) 電圧センサーの校正

送信機から[Model Settings]-[Telemetry]-[BxBt]-[Edit]。

  • Precision : 0.0
  • Ratio : 空欄 // 大きく電圧が異なる場合は、これも調整します。
  • Offset : 0.0 -> x.x // これを調整します。

8) 設定の参考情報

4. ERS Seriese Sensor

1) 送信機に設定用Luaを入れる

  1. 次のLuaをダウンロードし、展開したものを SD:/SCRIPTS/TOOLS/ に入れます。
  1. [SYS]-[Apps]-[RM Sensor Configurator]でLuaを起動します。

2) ERS-GPS – Precision GPS Sensor for compatible ExpressLRS PWM receivers

測位精度重視のMode 1と瞬間速度重視のMode 2があります。Mode 2の更新速度は10Hzです。GPS本体のSWを1秒押してModeを切替えます。Mode 1が赤でMode 2が青です。

3) ERS-CU01 - Real-Time Current Sensor for compatible ExpressLRS PWM Receivers

  1. [SYS]-[Apps]-[RM Sensor Configurator]-[Current Sensor]-[SET CAPACITY]でBattry容量をmAh単位で入力します。
  2. 配線
    ESCとBatteryの+側に入れるようです。赤がBattery側で、黄色がESC側のようです。

4) ERS-RB01 - Brushless Tachometer for Compatible ExpressLRS PWM Receivers

  1. [SYS]-[Apps]-[RM Sensor Configurator]-[Rpm Sensor]-[Mot0 poles]でMagnetの極数を入力します。

5) SensorのFirmwareの更新

  1. ExpressLRS USB UART Flasher V2 のスイッチを5Vにします。

  2. 更新するSensorのCRSF端子のInput側とExpressLRS USB UART Flasher V2のCRFS端子を接続します。

  3. Sensorのボタンを押した状態で、ExpressLRS USB UART Flasher V2をインターネット接続したパソコンに接続します。すると、Sensor基板のLEDが2回点滅になったら、ボタンを離します。これでブートローダーモードになります。

  4. 次のサイトの下の方の[Web UI]をクリックし、[Connect]でCOMポートを選択し[Connect]。
    https://radiomasterrc.com/pages/firmware-updates

  5. [Firmware Update]でDevice Typeで[Sensor]を選択し、[Load firmware from the server]でFirmwareがダウンロードされます。

  6. 下にFile Selected:ファイル名が表示されるので、[Start Firmware Update]-[Confirm Update]-[OK]。

5. 一般のGPS ModuleをER8に接続

ER8のCRSF端子に一般のGPS Moduleを接続することができます。u-bloxのM10 GPSモジュールを用いた、BZGNSS BZ-181で動作しました。yaapu/HorusMappingWidget も使えます。

1) GPSの仕様と設定

  • Protocol : NMEA
  • Baud Rate : 115200 bps

BZ-181のProtocolは、UBX/NMEA両方出力で、初期値のBaud Rateが115200 bpsでしたので、そのまま使用できました。

確認方法

  1. USB-Serial変換アダプター経由でGPSをPCに接続します。(CH340を使用したUSB-TTLアダプタが使用できます。)
  2. u-center2をPCにインストールし実行します。
  3. [+]アイコンをクリックし、USB-Serial変換アダプターのポートを選択します。
  4. 接続されるとBaud Rateが表示されます。115200であればOKです。
  5. 左のViewの追加で、Mesage viewを表示し、NMEAを展開して、$GGA, $RMC, $GSA、などの値が表示されれば、OKです。UBXが表示されていても問題ありません。ExpressLRSはUBXを無視するようです。

余談

  • u-blox M10を使用したGPSはu-center2を使用します。u-centor2を使用するには、無料のu-blox accountの取得が必要です。アカウントの登録にパスキーの設定が必要です。
  • BZ-181の仕様表のProtocolはUBXのみですが、私が購入した物はNMEAも出力していました。

2) ER8の設定

ER8をWiFiでPCに接続し、次のように設定します。
Serial 1 Protocol : CRSF -> GPS *    // 選択肢 : CRFS, SBUS, SUMD, DJI RS Pro, HoTT Telemetry, MAVLINK, DisplayPort, GPS, AirPort

3) ER8とGPSの接続

ER8のCRSF端子にGPSを接続します。RX-TX、TX-RXのクロス結線をします。

余談

  • ER8のPWMをUARTに変更するとSerial 2になります。Serial 2にはFCやGPSを接続することができないようです。Serial 2は、MAVLinkパススルー、VTXのSmartAudio、Hott、SBUS、WiFi/BluetoothのAirportには使用できるかも知れません(未確認です)。

6. 技適情報

樹脂製のFCC、CEラベルには技適マークが印刷されていません。
紙製の技適マークが反対面に貼ってあります。
よって、技適付と表示していない店から買うのは避けたほうが良いでしょう。

7. 関連情報

  • RadioMaster NEXUS-XR & BETAFPV Nano TX V2 Module ELRS Bind テスト:当ブログ:2026/04/08
    https://bigarrow.tea-nifty.com/blog/2026/04/post-5f18cb.html

  • How to setup SBUS or CRSF on your PWM ELRS Receiver (there are two ways!) : Painless360 : 2024/02/11
    https://www.youtube.com/watch?v=REdKNOwgNN8
    ニーズは無いと思いますが、CRSF端子をSBUSにする方法です。

  • 技適はなぜ生まれたのか――電波をめぐる120年の歴史と現状 : FabScene : 2026/09/04
    https://www.youtube.com/watch?v=renoMNkheIY
    低価格な最新技術を使えないことが、日本人の能力を制限します。その結果日本人のエンジニアが減ります。AIでエンジニアの需要は減ります。一方、直接労働者は人で不足なので、社会全体としてバランスが取れます。規制の緩い海外が新ビジネスを生み出し、規制の厳しい日本がそのビジネスで働くことでバランスが取れます。amazonもUberも配達員がいないと成立しません。配達員は重要な仕事です。頭脳労働は、ストレスが高く幸福度が低い場合もあります。なので、日本では管理職になりたくない人が多い。そういうバランスを取る意味では、規制が役立っているのかも知れません。ExpressLRSは規制で日本では自由に開発できませんから、開発コアメンバーに日本人はいないようです。RCクラブの目視外飛行許可免除が認可されなかったので、比較的新技術に明るい若年層が多いFPVドローンの飛行環境が改善しないことも要因でしょう。

  • 余ったジャイロが化ける!NEXUS XをESCテレメトリーの中継器にする方法(Rotorflight 2.3設定): Takao Air H" : 2026/09/23
    https://www.youtube.com/watch?v=OBJ4hjfu_vI
    ER8にNEXUS-Xを介してT-MOTOR AM116AのESC Telemetry(BLHeli32)を接続する動画です。

  • Radiomaster ER6 and ELRS: 12s++ Volts, Current, and mAH telemetry on EdgeTX : RCVideoReviews : 2024/03/07
    https://youtube.com/shorts/FErrGTHAC3o?si=5R-yfdr-oZksBgPh
    Scorpion Tribunus II 12-130A ESC Jeti Exbus : 詳細不明です。

  • rclightsystems ESC Telemetry Converter
    https://www.rclightsystems.com/product-page/esc-telemetry-converter

  • RadioMaster ers-series-sensor : RadioMaster
    https://radiomasterrc.com/collections/ers-series-sensor

  • Just out: Radiomaster ELRS Plug in Sensors: Get extra telemetry data without a soldering iron! : Painless360 : 2026/01/28
    https://www.youtube.com/watch?v=o-wr8sc1Xps

Shop

ER4, ER5A/C の注意点

  • WATCH BEFORE YOU BUY: PWM issue on certain ELRS receivers and some digital servos. : RC Video Reviews : 2023/08/08
    https://www.youtube.com/watch?v=C5ZSZxNzcJc
    MCU(ESP8285, ESP32)のGPIO1ポートの初期値が不定で、Serial Portになった時にDigital ServoがPrograming modeに入り、PortのInitializeが終わってFirmwareがTimerを使用したPWM出力に設定されても、Servoが応答しない、ということなのかも知れません。FirmwareのInitalize処理が終わる前の事なので、Firmwareでは対策ができないですね。ER8は対象外だそうです。ER4は影響があるそうです。対策はそのCHを使用しないことだそうです。Initializeが終わるまで、HardwareでPWM出力端子を切断するのが正しい処理だと思うのですが、メーカーは直さないんでしょうかね? 離陸時に各舵の動作確認が重要です。RadioMaster ER4の2024/07/05のManualには、このことが書かれてません。ER4 Userの人は、RadioMasterに問い合わせたほうが良いでしょう。なお、ER4は技適が無いのでWiFiとTelemetryはOffに設定します。なので、設定にはExpressLRS USB UART Flasher V2が必要です。

ER4、ER5A/C、ER6,RP3-H他、殆どのExpressLRS受信機は、技適を取得していません。技適が無い受信機は、WiFiとTelemetryとBluetoothを無効にする必要があります。WiFiとTelemetryの初期値は有効になっているので、PCに有線接続して無効化する必要があります。この事を商品説明に記載していない日本の店は、無責任だなあと思います。商品説明に「Telemetry出力100mW」(日本では技適があってもこの設定はできない)と書いてある店もあり、無神経だなあと思います。

8. ESC Telemetry

ESC Telemetryを使用すれば、ERS Series Sensorを使わないのですっきりしそうです。そこで、Geminiに聞いてみたところ、次のものを紹介してくれました。使えるかどうかは、不明です。

| | コメント (0)

第22回全日本学生室内飛行ロボットコンテスト

2026年9月19日~20日に「第22回全日本学生室内飛行ロボットコンテスト」という、屋内航空機の競技が開催されたそうです。

ラジコン航空機大会では無いです。今回から始まった完全自動部門は興味深いです。総合部門では、バイコプターなどの独創的な機体や、自作フライトコントローラーの機体など、創意工夫を競う大会ですね。自作の割合により、クラス分けすると良いと思います。

重心が合っていないなど基本がだめで離陸すらできないい機体もあったので、総合部門は参加審査基準を上げても良い気がします。F3Pに似た機体は、場違いでしたね。操縦技術より、機体システムの創意工夫を競う大会でしょう。

大学の工学部や高専だと制御工学を学んでいると思うので、PID Autotuningを行っている可能性がありますね。どのようにしているのかが気になります。開発にGitHubなどを利用しているのでしょうか? 自動飛行部門は、ArduPilotなどのGPS利用のOpenSourceは使えないと思うので、難易度が高そうです。

屋内だと風の影響が少ないので、PID Autotuneはやりやすい気がします。でも、趣味でラジコンをしているアマチュアと異なり、大学だとMATLAB Simulinkが使えると思われるので、モデルベースでシミュレーションしてPID設定しているかもしれませんね。

6年前の雑誌に車の画像認識の記事は出てましたが、航空機だと難易度が高そうです。6年前なので、今だとAIなどもあり技術が進んでいるのかも知れません。でもSTM32などのマイコンでAI処理するのは能力不足なので、映像を地上局に送り、PCで画像をAI処理して、PCから操縦信号を送ることもできるのかも知れません。そうするとPCの計算パワーが使えるし、プログラミング言語の選択肢も増えるので自動化しやすいのかも知れません。屋内のドローンショーは、光学や無線マーカーによる測位をしているみたいですね。

| | コメント (0)

ExpressLRS Gemini X は、日本で使えない

ExprressLRS Gemini Xは、900MHzと2.4GHzの両方を使用して、電波障害や故障に対しての安全性を向上した通信方式です。

RadioMasterからGemini Xに対応した受信機(ER3Pro, ER12, ER16)が発売されました。

この受信機は、電源系統も二重化され安全性を向上しています。双葉のAdRCSS(Advanced Radio Control System for Sub-GHz band)のようなシステムです。

この受信機のレポートがYouTubeにいくつかアップされ、その中に到達距離のテストレポートがありました。

Packet rate:150Hz、TX Power:10mW、距離:25km、RQly:94 も出ています。

魅力的な性能ですが、ガラパゴス日本では使用できません。
ExlressLRSは868/915MHzと2.4GHzを使用しますが、日本では868/915MHzを使用できません。

日本で使用できるのは920MHzであるため、双葉のAdRCSSは920MHzを使用しています。

ExpressLRSの開発者メンバーに日本人はいないようですし、メーカも市場が小さくて技適を取得しないでしょうから、日本で使用できるようになることは無さそうです。日本では、世界標準品を使用できないことが多いです。


余談

RadioMaster TX16S Mark IIIの2.4GHzであれば、40MHz差の2.4GHz x2のGeminiを使用することはできます。組み合わせる受信機は、2.4GHz True Diversityで技適もあるNEXUS-XRになります。ER12、ER16は、2.4GHzがTrue Diversityでないので2.4GHz Geminiが使えないし、技適も取れません。

参考

| | コメント (0)

BetaFlight PID AUTOTUNE の開発状況

Betaflight AUTOTUNE が YouTube のお勧めに出てきました。まだ、問題を抱えており正式リリースはされていませんが、これが実装されると嬉しいですね。

この動画の中でBlack BoxのログをChatGPTに入れ、PIDチューニングをしている様子が紹介されています。

アマチュアでもこのようなアプローチできるとは、時代が変わったなあと感じます。一方、日本と海外のアマチュアの格差が更に広がった感もあります。

プロはMATLAB Simulink + AIになっているようです。中国ロボットはAI活用してます。

Betaflight AUTOTUNE 自体も、AIを活用して開発しているらしいですが、まだうまく行っていないようです。アマチュアとプロとの差ですね。でも、アマチュアも進歩しています。

将来、BetaFlight から RotorFlight や INAV にも展開されると嬉しいですね。

INAVのAUTOTUNEです。こちらは自動Chirpではなく、手動です。うまく機能しているように見えますが、自動Chirpも欲しいですね。

| | コメント (0)

技適付ExpressLRS受信機 RadioMaster ER8、NEXUS-XR

1. 前置き

ExpressLRS(ELRS)のTelemetry送信に対応した技適付受信機にER8が加わったので、何ができるのかを想像してみました。想像なので間違っているかも知れません。NEXUS-XRは受信機付フライトコントローラーですが、ER8は純粋な受信機です。

(購入したので設定などを別記事にしました。5. 参考情報のリンクを見てください。説明書はExpressLRSを理解していないと意味不明なところがあるので、ExpressLRSが初めての人は、分かりにくいと思います。Armの設定やBind条件に注意が必要です。)

2. 機能比較表

間違いや不正確なところがあるかも知れません。

Item ER8 NEXUS-XR
PWM 8ch(SBUS含) 8ch + SBUS ?
Telemetry Power ~100mW[*1] 2 x 10mW
ExpressLRS Gemini No[*1] Yes
Flight Controller No RotorFlight, INAV
Voltage Sensor Built-in Built-in
Barometer External/ERS-BA01 Built-in
USB No Yes
Wi-Fi Yes Yes
Communication port CRFS x 1[*4] UART x 3
Protocol 専用(Crossfire) 汎用
GPS Sensor [*3] 専用/ERS-GPS(他のERSセンサも使う場合) 汎用(UBX/NMEA等)
Current Sensor 専用/ERS-CU1 [*2]
ESC Telemetry CRFS端子をUARTとして接続可能
CRFS端子を占有する為、
他のGPS等のERSセンサーは使用できない
UART3ポートとPWM端子が使用可能
他の空きポートでGPSなどを同時利用可能

[*1] Telemetry Power & Gemini : 100mWは海外で使用する場合の値だと思われます。設定を変えることができます。日本では、大きくてもBETAFPV Nano TX V2 Module ELRS 2.4G と同じ25mW以下だと思われます。2xと書かれていないので、Geminiには対応していないと思われます。操縦系より先にTelemetryが切れたほうが安全なので、NEXUS-XRと同じ10mWが良いと思われます。

[*2] Current Sensor : ADCの入力がBAT+しかないので、BAT+を電圧に使うと、アナログ電圧出力の電流センサが使えません。可能性なのはESC Telemetryだと思われます。
Current Sensorが使えると、EdgeTXのCalculated Sensorを用いて、バッテリ残量表示ができる可能性があります。
ERS-CU1はシャント抵抗式なので、電圧ロスが発生します。

Hall Sensor式が使えると嬉しいのですが。I/FがUART対応になると更に嬉しいのですが、FCやELRS側でも対応が必要ですね。

[*3] GPS : 両者とも yaapu/HorusMappingWidget により衛星画像上に機体位置を表示することができると思います。ubloxのUART/UBX I/Fの汎用GPSの2~3倍の価格ですが、Futabaの1/3倍位の価格です(FutabaのGPSは気圧センサーも入っています。)。専用と汎用では、販売数が異なるので。専用は高くなります。

[*4] 専用CRFS : デージーチェーン接続ができるので、1ポートでも数珠繋ぎで複数のセンサーを接続することができます。Protocolは、CRFS以外にも、SBUS、GPS他に変更できます。GPSに設定するとNMEA、115200bpsのGPSを接続できます。なので、電波と電圧とGPSのTelemetryだけなら、ERS-GPSより一般のGPSの方が安くて小型なので良いです。

3. 受信機情報

ER8

NEXUS-XR

Shop

  • GOOHOBBY
    https://goohobby.com/
    NEXUS-XR、ER8。現時点では技適マークが後付けなので、技適付と書かれていない店の物には技適マークが無いと思われます。

  • Energy Power
    https://energy-powerrc.com/
    NEXUS-XR

4. ExpressLRSとLoRa

RCの無線方式に、ELRS(Express Long Range System)があります。Open Sourceです。

Long Rangeの為に、微弱な電波でも復調できるLoRa変調を使用できます。(他の変調も選べます。)

LoRaは、河川の水位計にも使われているようです。

LoRaの仕組みが次の動画の6:35から解説されています。

ExpressLRSはTelemetryを標準装備しているのですが、2025年までは、技適を取得したELRS受信機がありませんでした。しかし、最近RadioMasterのNEXUX-XRとER8の技適が取得されたので、日本でもExpressLRSのTelemetryを利用することができるようになりました。

5. 参考情報

6. 余談

ExpressLRSはFCC/LBTを選択により、LBTだけでなく北米と欧州のMax Powerも切り替えているようです。MAX Powerの制限程度であれば、elrs.luaに地域択機能を付けてMAX Powerの制限を掛けたらどうかと思います。Japanを選べば、MAX Powerの選択肢を25mWに制限するとかです。FCC/LBT共用は、メモリーサイズが厳しいのかも知れません。

| | コメント (0)

STMicroElectronicsのSTM32 DFU USBドライバーとThrustMaster/Guillemotの競合問題

1. 前置き

NEXUS-XRのFCのFirmwareをINAVに書き換える時にWindowsが適切なDFUのドライバーを使用してくれず、PCがNEXUS-XRとDFUモードで通信できない問題が発生しました。色々試行錯誤したら、DFUで通信できていたTX16S Mark IIのEdgeTXも通信エラーになりました。BetaFlight、RotorFlight、ExpressLRSなども同様だと思います。但し、EdgeTXは、本記事の方法でもDFUモードをWindowsが認識しませんでした。

現象

  1. デバイスマネージャーの「ユニバーサル シリアル バス デバイス」にASUSのマザーボード用の「AURA LED Controller」のみが表示され、「STM32 BOOTLOADER」が表示されない。
    260529stm32ng1
  2. INAV Configuratorでは、DFUと表示されるものの、通信エラーが発生しFirmwareの更新ができない。
    EdgeTX ConpanionからのFirmware更新でも通信エラーになる。
  3. USBDeviewでは、次のものが表示される。
Description Service Description Driver Filename Device Mfg Friendly Name
Guillemot STM DFU Device @oem37.inf,%SvcDesc%;Guillemot DFU Driver for STM DFU Class Devices GuiSTDFUDev.sys Guillemot Corporation  
WinUsb Device WinUSB - Kernel Driver 06/02/2012 6.1.7600.16385 WinUsb.sys WinUsb Device AURA LED Controller

当初"AURA LED Controller"が"STM32のDFUドライバ"と競合して"STM32 BOOTLOADER"が表示されないのだと想像していました。

原因の1つは、"Guillemot STM DFU Device"でした。これは"ThrustMaster"の"USBコントローラー/ジョイスティック"の"Conrol Panel"をインストールする時に、一緒にインストールされるドライバーです。ThrustMaster製品のFirmwareのUpdateに使用されるものです。

ZadagやImpulseRC Driver Fixerでドライバーをインストールすると、インストールの途中で一瞬デバイスマネージャーの"ユニバーサルシリアルバスデバイス"に"STM32 BOOTLOADER"が表示されますが、直ぐに消えてしまいます。

2. 対策

試行錯誤の過程でZadigやImpulseRC Driver Fixerを実行したことで、ドライバー情報が追加されました。これらは使えない無駄な情報です。
対策としては、これらの無駄なドライバー情報とGuillemot STM DFU Deviceを含む全てのSTM32 DFU関連のドライバー情報を削除し、STMicroElectronicsの最新ドライバーを入れます。
しかし、STM32 BOOTLOADERがデバイスマネージャーに表示されないので、デバイスマネージャーからアンインストールができません。
そこで、次の手順で情報の削除とアンインストールをします。

1) USBDeviewでアンインストール

  1. ThrustMaster/Guillemotの製品を取り外します。(念のため、ドライバーを削除したときに、自動的に再インストールされないようにする。)
  2. USBDeviewをダウンロードし、実行します。
    https://www.nirsoft.net/utils/usb_devices_view.html#DownloadLinks
    [Download USBDeview for x64 systems]をクリックし、ダウンロードしたファイルを展開して、USBDeview.exeを実行します。
    (USBDeviewはインストールして使用するソフトではありません。)
  3. 一覧の中のSTM32 DFU関連のドライバー(Product IDがdf11)のDriver InfPath(例:oem37.inf)をメモします。
    アンインストール対象例 : Guillemot STM DFUと書かれているもの
  4. 当該USBドライバーを右クリックし[Uninstall]します。これで、レジストリ-が削除されます。

[*1] プロバイダー名がSTMicroelectronicsとなっているものも古い可能性があり、後で入れ直すので消して良いです。

参考

削除されるレジストリ : コンピューター\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\USB\VID_0483&PID_DF11\

参考 : USBDeviewでのGuillemot STM DFU Deviceの情報
Device Name : Port_#0001.Hub_#0003
Description : Guillemot STM DFU Device
Device Type : Application Specific
Connected : No
Safe To Unplug : Yes
Disabled : No
USB Hub : No
Drive Letter :
Serial Number : 1d3t15
Registry Time 1 : 2026/04/28 火 11:44:31
Registry Time 2 : 2026/04/12 日 14:03:58
VendorID : 0483
ProductID : df11
Firmware Revision : 22.00
WCID :
USB Class : fe
USB SubClass : 01
USB Protocol : 02
Hub / Port :
Computer Name : Z690
Vendor Name :
Product Name :
ParentId Prefix :
Service Name : GuiSTDFUDev
Service Description: @oem37.inf,%SvcDesc%;Guillemot DFU Driver for STM DFU Class Devices
Driver Filename : GuiSTDFUDev.sys
Device Class :
Device Mfg : Guillemot Corporation
Friendly Name :
Power :
USB Version :
Driver Description: Guillemot STM DFU Device
Driver Version : 7.0.3.0
Driver InfSection : _Install.NTamd64
Driver InfPath : oem37.inf
Instance ID : USB\VID_0483&PID_DF11\316433743135
Capabilities : Removable, UniqueID, SurpriseRemovalOK
Install Time :
First Install Time:
Connect Time :
Disconnect Time :

2) コマンドプロンプトで削除

ドライバーパッケージツールで、不要なドライバをドライバーストアから削除し、ドライバーパッケージをアンインストールします。

  1. [Start]-[Windowsツール]-[コマンドプロンプト]を右クリックし[管理者として実行]。
  2. 次のコマンドを実行して、ドライバーの一覧を表示します。
pnputil /enum-drivers
  1. 表示されたドライバーの中で、次のようなstm32 bootloader/dfu/VID_0483&PID_DF11関連の公開名のファイル名(oem*.inf)をメモします。1)でメモしたファイル名があれば、それも含めてください。
元の名前: guistdfudev.inf
プロバイダー名: Guillemot Corporation
署名者名: Microsoft Windows Hardware Compatibility Publisher
元の名前: stm32__bootloader.inf
プロバーダー名: libwdi
署名者名: USB\VID_0483&PID_DF11 (libwdi autogenerated)
元の名前: usb_device.inf
プロバイダー名: libusb.info
署名者名: USB\VID_0483&PID_DF11 (libwdi autogenerated)
元の名前:      stm32bootloader.inf
プロバイダー名: STMicroelectronics
クラス名: USBDevice
クラス GUID: {88bae032-5a81-49f0-bc3d-a4ff138216d6}
ドライバー バージョン: 05/07/2018 1.1.0.0
署名者名: Microsoft Windows Hardware Compatibility Publisher
属性: Declarative
WHCP バージョン: 不明
参考 : pnputil /enum-drivers の表示例
公開名:     oem81.inf
元の名前: guistdfudev.inf
プロバイダー名: Guillemot Corporation
クラス名: MEDIA
クラス GUID: {4d36e96c-e325-11ce-bfc1-08002be10318}
ドライバー バージョン: 08/15/2023 7.0.3.0
署名者名: Microsoft Windows Hardware Compatibility Publisher
属性: Declarative
Attested
WHCP バージョン: 不明

公開名: oem132.inf
元の名前: guistdfudev.inf
プロバイダー名: Guillemot Corporation
クラス名: MEDIA
クラス GUID: {4d36e96c-e325-11ce-bfc1-08002be10318}
ドライバー バージョン: 04/24/2026 7.4.9.0
署名者名: Microsoft Windows Hardware Compatibility Publisher
属性: Universal
Attested
WHCP バージョン: 不明
公開名:     oem60.inf
元の名前: stm32__bootloader.inf
プロバイダー名: libwdi
クラス名: USBDevice
クラス GUID: {88bae032-5a81-49f0-bc3d-a4ff138216d6}
ドライバー バージョン: 06/02/2012 6.1.7600.16385
署名者名: USB\VID_0483&PID_DF11 (libwdi autogenerated)
属性: Legacy
WHCP バージョン: 不明
公開名:     oem110.inf
元の名前: stm32bootloader.inf
プロバイダー名: STMicroelectronics
クラス名: USBDevice
クラス GUID: {88bae032-5a81-49f0-bc3d-a4ff138216d6}
ドライバー バージョン: 05/07/2018 1.1.0.0
署名者名: Microsoft Windows Hardware Compatibility Publisher
属性: Declarative
WHCP バージョン: 不明
  1. 次のコマンドで、メモしたoem*.infファイルのドライバーをアンインストールします。
pnputil /delete-driver oem*.inf /uninstall /force

*にはメモしたファイル名の番号を入れます。

3) Guillemot STM DFU Device のドライバーファイルの削除

次のフォルダーを削除するか、別の場所に移動します。これにより、DFUモードでUSB接続した時に再インストールされることを阻止します。

C:\Program Files (x86)\Guillemot\DFU_ST

もし、次のフォルダの下にDFU_STフォルダがあれば、それも削除するか移動します。

C:\Program Files\Guillemot

もし、次のファイルがあれば、それも削除するか移動したほうが良いかも知れません?

C:\Program Files\Thrustmaster\TM Flight Series\drivers\amd64\GuiSTDFUDevUpdate64.dll
C:\Program Files\Thrustmaster\TM Flight Series\drivers\x86\GuiSTDFUDevUpdate.dll

次のものがあれば、残します。これが使用したいSTMicroElectronicsのドライバーです。

C:\Program Files\STMicroelectronics\STM32Cube\STM32CubeProgrammer\Drivers

4) STM32CubeProgrammerのインストール

STMicroElectronicsのドライバーをインストールするために、STM32CubeProgrammerをインストールします。

  1. STM32CubeProgrammer software for all STM32 のインストール
    次のサイトから STM32CubeProgrammer software for all STM32 をダウンロードし、インストールします。GuestでOKです。入力したメールアドレスにダウンロードリンクが送られてきます。Win64でOKです。
    https://www.st.com/en/development-tools/stm32cubeprog.html

  2. 次の設定でインストールします。

  • STM32CubeProgrammer : 🗹
  • STM32TrustedPackageCreator : ☐
  • STMicroelectronicsユニバーサル シリアル バス デバイス : インストール
    260529stm32cube1 260529stm32cube2 260529stm32cube4 260529stm32ube5

以上でDFUモードで接続するための準備が完了します。

参考 : ThrustMaster製品の利用

Guillemot STM DFU Deviceを削除しても、ThrustMasterのUSB JoyStickは使用できます。
この状態でThrustMasterの製品のFirmware updateができるかは未確認です。できない場合は、削除したフォルダを元に戻すか、TrustMasterのソフトを再インストールすればよいと思われます。ThrustMesterのUSB JoyStickは、Firmware単体では提供されていないので、アプリごと再インストールしかないと思われます。そうすると、再びGuillemot STM DFU Deviceが入るので、削除作業が必要になります。Guillemotには、競合問題を改善してほしいものです。

参考 : USBDeviewの情報(非接続時)
Device Name : Port_#0001.Hub_#0003
Description : STM32 Bootloader
Device Type : Application Specific
Connected : No
Safe To Unplug : No
Disabled : No
USB Hub : No
Drive Letter :
Serial Number : STM32FxSTM32
Registry Time 1 : 2026/05/27 水 16:34:06
Registry Time 2 : 2026/05/27 水 16:34:06
VendorID : 0483
ProductID : df11
Firmware Revision : 22.00
WCID :
USB Class : fe
USB SubClass : 01
USB Protocol : 02
Hub / Port :
Computer Name : Z690
Vendor Name :
Product Name :
ParentId Prefix :
Service Name : WINUSB
Service Description: @winusb.inf,%WINUSB_SvcName%;WinUsb ドライバー
Driver Filename : WinUsb.sys
Device Class :
Device Mfg : STMicroelectronics
Friendly Name : @oem60.inf,%DeviceName%;STM32 Bootloader
Power :
USB Version :
Driver Description: STM32 Bootloader
Driver Version : 1.3.0.0
Driver InfSection : USB_Install
Driver InfPath : oem60.inf
Instance ID : USB\VID_0483&PID_DF11\STM32FxSTM32
Capabilities : Removable, UniqueID
Install Time :
First Install Time:
Connect Time :
Disconnect Time :
参考 : pnputil /enum-drivers の情報
公開名: oem60.inf
元の名前: stm32bootloader.inf
プロバイダー名: STMicroelectronics
クラス名: USBDevice
クラス GUID: {88bae032-5a81-49f0-bc3d-a4ff138216d6}
ドライバー バージョン: 11/28/2025 1.3.0.0
署名者名: STMicroelectronics International N.V.
属性: Legacy
WHCP バージョン: 不明

3. NEXUS-XRのFCのFirmwareをINAVにする例

以上でWindowsがSTMicroElectronicsのドライバーを使用する環境になったので、INAVを例に実際のFirmware Update手順を紹介します。
ここでは、NEXUS-XRのFCをINAV ConfiguratorでINAVにします。

  1. NEXUX-XRのFCボタンを押したまま、PCにUSB接続します。すると、デバイスマネージャーの「ユニバーサル シリアル バス デバイス」に「STM32 BOOTLOADER」が表示されます。不明なデバイスになった時は、もう一度行ってください。
    260529stm32ok1 260529stm32ok2 260529stm32ok3
  2. INAV Configuratorを起動すると、上部にDFUと表示されます。
  3. [ファームウェアフラッシャー]からファームウェアを書き込みます。
  • FCボード : NEXUSX
  • ファームウェアバージョン : (stable)の最新バージョンを選ぶ
  • 再起動シーケンスなし : Off
  • チップメモリの完全消去 : On(RotorFlightから書き換える時や、INAVのメジャーバージョンを変える時などは、On)
  • 伝送速度の手動選択 : Off
  • 未検証版リリースを表示 : Off
  1. [ファームウェアを選択[Online]]-[ファームウェアの更新]。
    (予めファームウェアをダウンロードしている場合は、[ファームウェアを選択]でファイルを選択する。)

 

4. EdgeTXの更新例

1) PCにUSB接続して更新

  1. EdgeTX Conpanionのインストール
    次のサイトの右のReleaseから最新版のedgetx-cpn-win64-vx.xx.x.zipをダウンロードし、インストールします。

EdgeTX Conpanionは上書きインストールされず、古いバージョンも並行して使用できるので、不要であれば古いバージョンをアンインストールします。その時、Settingを残しておくと良いです。Microsoft Visual C++ 2015-2022 Redistributableは、恐らく新しいバージョンでも使用すると思うので、残しておきます。これはアンインストールしても、新しいバージョンをインストールするときに、インストールできます。

  1. Firmwareの書き込み
    1. 送信機の電源を入れずにPCにUSB接続します。すると、6POSスイッチの1が点灯した状態になります。
    2. EdgeTX Conpanion の[Tool]-[Update conponents...]で、Updateしたいものが選ばれているかを確認し、[OK]すると、必要なUpdateされたファイルがダウンロードされます。
    3. [Radio]-[Write Firmware to Radio]で書き込みます。

注意 : 送信機のトリムSWのT4とT1を内側にしながら電源を入れても、PCにはDFUモードで認識されません。

  1. SDカードは、EdgeTX Conpanionから次の操作で更新します。
    [Tools]-[Synchronize SD card...]

2) 送信機単体で更新

接続に失敗した場合は、送信機本体で更新します。

  1. edgetx-firmware-vx.xx.x.zipをダウンロードして、適切な.binファイル(TX16S Mark II なら、tx16s-で始まるファイル)をSDカードのFIRMWAREフォルダにコピーします。

  2. T4とT1を中央にしながら電源を入れ[Write Firmware]-[tx16s-xxxxxxx.bin]で[ENT]を長押しで、アップデートします。

参考 : 通常起動から[SYS]-[Storage]-[FIRMWARE]-[tx16s-xxxxxxx.bin]-[Flash bootloader]では、アップデートしませんでした。

  1. SDカードは、EdgeTX Conpanionから次の操作で更新します。
    [Tools]-[Synchronize SD card...]

3) 送信機単体でBoot Loaderを更新

Bootloaderは、送信機本体で更新します。

  1. edgetx-firmware-vx.xx.x.zipをダウンロードして、適切な.binファイル(TX16S Mark II なら、tx16s-で始まるファイル)をSDカードのFIRMWAREフォルダにコピーします。このファイルは、Firmwareのファイルと同じです。

  2. 通常起動から[SYS]-[Storage]-[FIRMWARE]-[tx16s-xxxxxxx.bin]-[Flash bootloader]で、アップデートします。
  3. T4とT1を中央にしながら電源を入れ、Bootloaderのバージョンが更新されたことを確認します。

5. 参考

Guillemot STM DFU Device Driver は、あちこちで迷惑を掛けているようです。Guillemotさんは、他人に迷惑を掛けないように改善できないのでしょうか? MicrosoftもSTSTMicroelectronics のドライバを優先するようにできないものなのでしょうか?

| | コメント (0)

4IN1 Multiprotocol-TX-module Futaba / SFHSS PWM Pulse Inverted ?

1. 仕様

4IN1 Multi-moduleのFutaba/SFHSS Protocolは、送信機のOutputとは異なるPWMのパスス幅値を受信機に送信します。

2. PWMパルス幅の関係 (Unit:µs)

EdgeTX Channel Monitor Output SFHSS Receiver PWM Output
988 2020
1500 1520
2012 1020

3. 変換式 (Unit:µs)

EdgeTX = (-1024 / 1000) * SFHSS + (1024 / 1000 * 1020 + 2012)
SFHSS = (-1000 / 1024) * EdgeTX + (1000 / 1024 * 988 + 2020)

4. コード

次のコードによって変換されているようですが、当方はコードを追えていません。
https://github.com/pascallanger/DIY-Multiprotocol-TX-Module/tree/master/Multiprotocol

Futaba_cc2500.ino
Tx_def.h
Convert.ino

5. 変換表

SFHSS Receiverを接続したFlight ControllerやServoへのPWM値を一般的な1000-1500-2000µsにする場合は、EdgeTXのOutputのSubtrimとMIN/MAXとInvertedを調整して、次の表の値にします。
Unit:µs

SFHSS EdgeTX
2000 1008.48
1750 1264.48
1500 1520.48
1250 1776.48
1000 2032.48

6. 送信機のスティックとパルス幅の方向

EdgeTX/RadioMaster (TX16S)
Vertical Stick Lower: -100 [towards 1000µs]
Vertical Stick Upper: +100 [towards 2000µs]
Horizontal Stick Left: -100 [towards 1000µs]
Horizontal Stick Right: +100 [towards 2000µs]

Futaba (T10J)
Vertical Stick Lower: ↓100 [towards 2020µs]
Vertical Stick Upper: ↑100 [towards 1020µs]
Horizontal Stick Left: ←100 [towards 1020µs]
Horizontal Stick Right: →100 [towards 2020µs]

JR (X2610)
Vertical Stick Lower: H/U100 [towards 1000µs]
Vertical Stick Upper: L/D100 [towards 2000µs]
Horizontal Stick Left: L100 [towards 2000µs]
Horizontal Stick Right: R100 [towards 1000µs]

※ パスス幅の値は方向を示すだけであり、実際の値ではありません。

7. 余談

4IN1 Multiprotocol-TX-module のS-FHSSをこのような仕様にした理由が分かりません。

ジンバルとサーボの極性や中点の機種間の相違は、送信機の設定で調整し、PWMのパルス幅は絶対値で共通にした方が理解しやすいと思います。
例えば、使用するサーボやフライトコントローラーが双葉仕様であれば、TX Moduleでこのような変換をせずに、EdgeTXのOutputのSubtrimとMIN/MAXとInvertedで双葉仕様の1020-1520-2020に設定する方が分かりやすいです。
SFHSSの受信機で、双葉以外のサーボやフライトコントローラーを使用する機会も多いです。

例えば、BetaFlightを使用する場合、SFHSSでも1000-1500-2000にする必要があります。しかし現在の仕様では、送信機の出力を2032-1520-1008に設定します。これは、分かりにくい仕様です。

なので、RadioMasterの受信機のようにS-FHSS以外にも対応しているなら、S-FHSS以外を選んだほうが良いと思います。

8. 参考

| | コメント (0)

INAV / OpenTX-Telemetry-Widget の設定

1. 前置き

RC飛行機の機体位置を送信機に表示するために、NEXUS-XRをINAVにしたついでに、INAV/OpenTX-Telemetry-Widgetを入れてみました。色々な音声警告機能が追加されました。音声警告は画面を非表示にしていても有効です。画面はあまり有用では無いと思いますが、バッテリ電圧などの音声や振動警告だけは実用性があります。しかし、初期値では不要な警告が多く出ます。また、表示も一部正しくありません。そこで設定一覧を作成しました。予想した項目もあるので、間違っている部分もあるかも知れません。

警告音声目的であれば、これを使用せずにEdgeTX側で各種警告を出すようにした方が良いと思われます。

2. 環境

  • INAV / OpenTX-Telemetry-Widget : 2.3.0 2025/01/19
  • Transmitter : RadioMaster TX16S Mark II 4IN1 (4IN1は使用しない)
  • Transmitter Firmware : EdgeTX 2.12.0
  • External TX Module : BETAFPV ELRS Nano TX V2 Module 2.4G
  • TX Module Firmware : ELRS 4.0.0
  • Flight Controller & Receiver : RadioMaster NEXUS-XR
  • Receiver Firmware : ELRS 4.0.0
  • Flight Controller Firmware : INAV 9.0.1 for NEXUS-X

3. OpenTX-Telemetry-Widget

1) 設定画面の表示

  1. TXにINAV Widgetを表示
  2. [Enter]を長押し、水色枠が出たら離す。-->これでウィンドウの選択モードに入ります。
  3. [Enter]を押す。-->これでウィンドウの編集メニューが出ます。
  4. ローラーで[Full screen]を選択し[Enter]。-->これでINAV Widgetの画面編集モードに入ります。
  5. [SYS]を押す。-->これでINAV Widgetの設定メニューに入ります。

設定画面から出る方法:1)[RTN]で設定画面を出る。 --> 2)[RTN]を長押しで編集モードから出る。

2) 設定

Item Function default Example NEXUS-XR
Battery View Total:総電圧 / Cell:1セルあたりの電圧 Total Cell  
Battery Alert All:全ての電圧警告 / Critical:危険のみ / Off:電圧警告しない All critical  
Cell Low 1セルあたりの警告電圧(IVAVと合わせる) 3.5V 3.5V  
Cell Critical 1セルあたりの危険電圧(INAVのMinimum cell voltage"と合わせる) 3.4V 3.3V  
Cell Calculation セル数計算に用いる1セルの電圧, 4.3V for LiPo, 4.4V for LiHV 4.3V 4.3V  
Fuel Unit percent/mAh(INAV CLI smartport_fuel_unitに合わせる)
電流センサが無い場合は容量計算ができないので、PercentにしてFuel機能を使用することはできない。なので、mAhに設定する。
Percent mAh  
Battery Capacity バッテリ容量 for Crossfire
これは送信機側で残容量を計算するための値だが、電流センサが無ければ意味がない。
1500mAh --  
Fuel Low 電池残容量警告閾値(INAVの"Warning capacity"に合わせる) 30% --  
Fuel Critical 電池残容量危険閾値 20% --  
Altitude Alert 高度警告。On/Off On On  
Max Altitude 高度警告の開始高度 400' or 120m 150m  
Timer 表示するTimerを選択します。Autoは、使われているTimerを自動的に選択して表示します。Auto/1/2/Off Auto Auto  
Tx Voltage 送信機の電圧表示。Both/Graph/Number Both Both  
Rx Voltage 受信機の電圧表示。On/Off On - N/Aだが画面表示される
Variometer 上昇下降速度。Both/Graph/Voice/Off Off Off  
Vario Steps 上昇下降速度を発声する高度変化の値 10' or 10m -- N/A
Altitude Graph 高度推移グラフの表示なし、横軸の時間を設定するようです? Color TXでは無効? Off Off  
Voice Alerts 音声警告。All/Critical/Off All All  
Feedback 低電圧・高度制限・RSSIなどの警告方法。All/Beeper(ビープ音)/Haptic(振動)/Off All Beeper  
RTH Feedback Return to home 動作時の設定。On/Off On Off  
HeadFree Feedback ヘッドレス(Head free)モード中の設定。On/Off On -- N/A
RSSI Feedback RSSI警告の設定。On/Off On On  
AltHold Center FB 高度維持(Alt Hold)モード中の設定。On/Off Off Off  
Speed Sensor 使用する速度センサ。GPS or (if available) Pitot air speed GPS -- N/Aだが表示される
View Mode 白黒送信機の初期画面。Classic, pilot, radar or altitude graph view modes Classic -- N/A
Roll Indicator ロール角度メモリの表示。On/Off Off Off  
Aircraft Symbol 機体の表示シンボル。0 - 5 0 0  
HUD Home Icon Homeアイコン表示/方向表示。Select HUD or simple orientation for home icon on Horus Off On  
Center Map Home レーダー画面でHomeを中心にするか機体を中心にするか Off Off  
Orientation レーター画面の方向を離陸方向にするか北にするか。Launch/compass Launch Launch  
GPS HDOP View GPS精度(HDOP)の表示。Graph/Decimal Graph -- N/A
GPS Warning GPS精度(HDOP)の警告閾値。> 3.5 HDOP [at least 1 bar] 3.5 -- N/A
GPS GPS座標の表示形式。0.000000/0°0'00.00”N 0°0'00.00”E 0.000000 0.000000  
Playback Log Playback telemetry log files (latest 5 logs from the last 2 weeks) -- -- N/A
Greyscale Gfx   -- -- N/A

4. INAV Configuratorの設定

1) 基本設定 - 電圧 & 電流センサー のキャリブレーション

INAVで電圧や電流のTelemetryを使用する場合は、キャリブレーションを行います。PWM端子に電源供給が必要です。電圧については、キャリブレーションをしなくても0.1V程度の精度はあるようです。測定器自体の精度が悪いと逆効果です。

  1. 電圧のキャリブレーション
    測定器で測定した電圧とINAVの表示電圧値を(1)式に代入し、補正値を計算して設定する。
    Gr = Vr / Vc * Gc --(1)

Vc = INAVに表示されたバッテリー電圧
Vr = 測定器で測ったバッテリー電圧
Gc= 現在の電圧補正値
Gr = 校正された電圧補正値

例
Vc = 16.37, Vr = 16.24, Gc =2474(NEXUX-Xの初期値), G = 16.24 / 16.37 * 2474 = 2454

計算式

Vc = Vi * Gc / 100 --> Vi = Vc * 100 / Gc
Vr = Vi * Gr / 100
Gr = Vr / Vi * 100 = Vr / (Vc * 100 / Gc) * 100 = Vr / Vc * Gc --(1)

  1. 電流のキャリブレーション
    測定器で電流0と任意の電流を流した時のINAVの表示電流値を(1)と(2)式に代入して、補正値とオフセット利を計算して設定する。
    Vr = Vc + Gc * Io / 10 --(1)
    Gr = Gc * (Ic - Io) / Ir --(2)

Io = 電流0の時にINAVに表示される電流値[A]
Ir = 実際の電流値[A]
Ic = INAVに表示される電流値[A]
Vc = 現在のオフセット電圧[mV]
Vr = 校正されたオフセット電圧[mV]
Gc = 現在の補正値[mv/A10]
Gr = 校正された補正値[mv/A
10]
Vi = 電流センサの出力電圧値
Gc' = Gc / 10

計算式

Ic = (Vi - Vc) / Gc'

Ir = 0 の時
Io = (Vi - Vc) / Gc' --> vi - Vc = Gc' * Io --> Vi = Gc' * Io + Vc

校正後は Ir = 0 の時に Ic = 0 になるので、
Ir = (Vi - Vr) / Gr' --> 0 = (Vi - Vr) / Gr' --> Vi = Vr
Vr = Gc' * Io + Vc --(1)

Irが流れている時
Vi = Gc' * Ir + Vr
Ic = (Vi - Vc) / Gc' --> vi - Vc = Gc' * Ic --> Vi = Gc' * Ic + Vc
Gr' = (Vi - Vr) / Ir
Gr' = ((Gc' * Ic + Vc) - (Vc + Gc' * Io)) / Ir = (Gc' * Ic - Gc' * Io) / Ir = Gc' * (Ic -Io) / Ir --(2)

余談

RadioMaster ERS-CU01 Current Sensor をINAVで使えるようにして欲しいという要望が出てますね。

RotorFlightの方には、そのような要望は出ていないようです。

どちらもNEXUS-XRで使えるようになってくれると、バッテリ残容量をTelemetryで確認できるようになるので嬉しいのですが。

2) 基本設定 - 電圧 & 電流センサー / バッテリー設定

Item Value Note
Voltage source to use for alarms and telemetry Raw  
Number of cells 0 0=auto, set if you always use the same cell count
Maximum cell voltage for cell count detection 4.25  
Minimum cell voltage 3.3 OpenTX-Telemetry-Widgetの"Cell Critical"に合わせる
Maximum cell voltage 4.2  
Warning cell voltage 3.5 OpenTX-Telemetry-Widgetの"Cell Low"に合わせる
バッテリ容量ユニット mAh/mWh  
Set capacity in mAh to battery capacity 1800 電流センサが無い場合は意味が無いので0にする。警告限界容量は無効になる。
Warning capacity 30% OpenTX-Telemetry-Widgetの"Fuel Low"に合わせる
Critical capacity 10% OpenTX-Telemetry-Widgetの"Fuel Critical"に合わせる

3) CLIでの設定 (ignore for TBS Crossfire)

CLIタブで次の設定をします。電流センサが無い場合は、smartport_fuel_unit を"MAH"にします。

set smartport_fuel_unit = PERCENT / MAH / MWH
set report_cell_voltage = OFF (ONだとLua Telemetryに総電圧を表示できません。)

5. 制限事項

  1. 画面のFuelに電池容量が表示されますが、電流センサが無ければ、意味のない数字が表示されます。
  2. EdgeTX Firmware Simulatorのログ再生で画面のDistanceが0mから変化しません。原因不明です。
  3. EdgeTX Firmware Simulatorのログ再生でレーダー画面にHomeアイコンが表示されません。原因不明です。
  4. EdgeTX Firmware Simulatorで画面のタイマーが動作しません。

6. 関連記事

7. 参考

| | コメント (0)

NEXUS-XR, RotorFlight, yaapu/HorusMappingWidget で機体位置表示

1. 前置き

送信機の画面に衛星画像と機体位置を表示する方法を紹介します。機体を藪の中に落としたときに役に立つと思います。

今まで技適付Open SourceのTelemetry受信機を発見できなかったのですが、NEXUS-XRの技適が取得されたことで、このようなことが可能になりました。技適を取得してくれた人に感謝です。現時点ではNEXUS-XR以外のELRS受信機は、技適が無いので日本ではTelemetryが使えません。RadioMasterの他のELRS受信機や4IN1 TXモジュールや他の送信機も技適を取ってくれると嬉しいのですが...

なお、NEXUS-XRが搭載できるフライバーレスヘリを持っていないので、GPS以外は未設定です。RotorFlightは、BetaFlightから派生したものらしいので、BetaFlightを知っている人なら、不明点は少ないかと思います。

https://youtu.be/5sWXE-dthxQ

2. 使用環境

  • Flight Controller & Recever : RadioMaster NEXUS-XR
  • Flight Controller Firmware : RotorFlight 4.5.0
  • Receiver Firmware : ELRS 4.0.0
  • GPS : BZGNSS BZ-181
  • Transmitter Module : BETAFPV Nano TX V2 Module ELRS 2.4G
  • Transmitter Module Firmware ELRS 4.0.0
  • Transmitter : RadioMaster TX16S Mark II 4IN1 (4IN1 Moduleは、使用しません)
  • Transmitter Firmware : EdgeTX 2.12.0

3. GPSの配線

NEXUS-XRに付属しているコネクタケーブルをGPSのランドに半田付けします。
GPSに付属しているコネクタケーブルとNEXUS-XRに付属しているコネクタケーブルを半田付けしても良いです。

NEXUS-XR GPS
RX TX
TX RX
+ 5V
- GND
  • RXとTXをクロス接続するのが一般的です。
  • NEXUS-XRのAに接続した場合は、UART 4になります。

余談

  • YouTubeのPainless360さんのNEXUS-XR+GPSの動画がクロスさせない結線だったので、最初はストレートで接続したのですが、RoterFlightではNGでした。 INAVはストレート結線で、RotorFlightはクロス結線です。
  • NEXUS-XRのポートはUARTのみでI2C端子(SCL,SDA)を持っていないので、コンパス無しのGPSで十分です。

4. RotorFlightの設定

1) Configuration

Features

  • GPS : On

Serial Ports

  • Port(A) [UART4] : Disable -> GPS *, 57600 -> Auto *

2) Receiver

Telemetry Settings

  • Enable : Off -> On *

Telemetry Sensors

  • Battery : Off -> On *
  • Attitude (hi-res) : Off -> On *
  • Attitude : Off -> On *
  • GPS : Off -> On *

3) GPS

Settings

  • Prococol : NMEA -> UBLOX * (GPSのProtocolに合わせる。)

260428rotor_gps01 260428rotor_gps02 260428rotor_gps03

5. Receiverの設定

  1. NEXUS-XRに電源を入れて1分放置し、RXのLEDが黄色の点滅から色が変わる点灯に変わりWiFiアクセスポイントになるまで待つ。
  2. PCでExpressLRS RXのアクセスポイントに接続すると、インターネットブラウザが開き、ELRSの設定画面が出る。出ない時は、URL欄に"10.0.0.1"と入力する。
  3. MODELタブの"Force Telemetry Off"のチェックを外す。(参考:技適の無い受信機の場合は、チェックをして、電波を発信しないようにする。また、WiFi timeoutを0にして、WiFiも発信しないようにします。なので、USB接続で接続して下さい。)

6. EdgeTXの設定

Model Settings-Telemetry

[Delete All]-[Discover new] でTelemetry情報を取得します。

SYS-Yaapu Maps

yaapu/HorusMappingWidget の設定は、「7. 関連記事」を見てください。

7. 関連記事

8. 参考

9. 余談

GPSのログを送信機のSDカードに記録すると、EdgeTXのFirmware Simulatorで再生して、送信機の画面上に飛行軌跡を表示することができます。但し、Telemetry Raioを上げておく必要がります。ELRS4.0はTelematry Rateが改善されたので、250Hz、1/16位にすると、1sec間隔くらいでログの取得ができます。

NEXUS-XRのフライトコントローラー側に記録すれば、もっと細かくログを取得で来ますが、それの表示方法をまだ調べていません。また、RotorFlightがGPSログを記録できるのかを調べていません。INAVは可能です。

BlackBoxは、PIDの調整に使います。急激な舵を入れた時の加速度の推移をBlackBoxで見て、最適なPID値を探ります。大学の工学部の出身者であれば、波形をみて何を調整すべきかが分かるかも知れません。但し、ステップ応答のスティック操作が難しいかも。機械的にステップ応答の操舵をする仕組みがあると、PIDの調整が便利になるかもしれません。それをAIに処理させれば、自動的に最適なPID値を出してくれるようになるのかも知れません。

  • Betaflight PID Tuning Masterclass w/ PIDToolbox Inventor Brian White : Joshua Bardwell : 2026/05/13
    https://www.youtube.com/watch?v=FsJNHI2HWlg
    BetaflightのPID調整ツールです。$6 CA/月ですね。
    これを使いこなせれば、理想的なPID設定ができるような気がします。

  • PID demo : Voltix Electronics Lab : 2016/01/15
    https://www.youtube.com/watch?v=qKy98Cbcltw
    PIDと応答の関係を動画で示したものです。

  • This app TEACHES YOU how a PID controller works : Joshua Bardwell : 2026/04/16
    https://www.youtube.com/watch?v=q5VtSrJ3oVQ
    説明欄にあるリンク先のページでPIDの値と応答の関係を操作してみることができます。

| | コメント (0)

RadioMaster R86 と Futaba T10J のBIND方法

1. 取扱説明書

RadioMaster R86 Receiver Manualには、次のように書いてあります。

  1. 送信機の電源を入れてプロトコルを選択する。
  2. 受信機のBINDボタンを押しながら受信機の電源を入れる。
  3. 選択したプロトコルのLEDの点滅パターンになった時に、送信機のBINDボタンを押す。LEDが高速に点滅した後、点灯する。

しかし、T10JのS-FHSSにはBINDメニューがありません。

2. バインド方法

  1. 送信機の電源を入れる。
  2. 受信機のBINDボタンを押しながら受信機の電源を入れる。LEDが高速に点滅した後、点灯する。

送信機と受信機が非常に近いと、動作しないことがあります。50cm以上離した方が良いです。

この方法は取扱説明書には書かれていないので、正しいかどうかは不明です。

| | コメント (0)

より以前の記事一覧