Dropbox

LEDの色変更をCLIで行う

あまり需要はないかも知れませんがBetaflight ConfiguratorのCLIコマンドラインで構成されている全てのLEDの色を変更する方法の紹介です。内容的には「OSD menuでLEDの色を変更する」と全く同じもので、LEDのRACEプロファイルというものを使用するものです。

[ 前提 ]
– LEDストリップがFCに正しく接続されていること
– Betaflightをビルドする際にオプションとして”LED Strip”と”LED Strip (64)”が指定されていること、ただしFCの種類とBetaflightのバージョンの組み合わせによっていは64LEDの指定が出来ない場合もあります

[ プリセットの使用 ]
下のセクションのCLIを使うかBetaflight Configuratorのプリセットを使用するかどちらかの方法で構成します。
BetaflighのLED設定を行うプリセットを作りました

[ CLI ]
以下のコマンドをCLIで流し込みます。

# feature
feature LED_STRIP

# led
led 0 0,0::CT:14
led 1 1,0::CT:14
led 2 2,0::CT:14
led 3 3,0::CT:14
led 4 4,0::CT:14
led 5 5,0::CT:14
led 6 6,0::CT:14
led 7 7,0::CT:14
led 8 8,0::CT:14
led 9 9,0::CT:14
led 10 10,0::CT:14
led 11 11,0::CT:14
led 12 12,0::CT:14
led 13 13,0::CT:14
led 14 14,0::CT:14
led 15 15,0::CT:14
led 16 0,1::CT:14
led 17 1,1::CT:14
led 18 2,1::CT:14
led 19 3,1::CT:14
led 20 4,1::CT:14
led 21 5,1::CT:14
led 22 6,1::CT:14
led 23 7,1::CT:14
led 24 8,1::CT:14
led 25 9,1::CT:14
led 26 10,1::CT:14
led 27 11,1::CT:14
led 28 12,1::CT:14
led 29 13,1::CT:14
led 30 14,1::CT:14
led 31 15,1::CT:14
led 32 0,2::CT:14
led 33 1,2::CT:14
led 34 2,2::CT:14
led 35 3,2::CT:14
led 36 4,2::CT:14
led 37 5,2::CT:14
led 38 6,2::CT:14
led 39 7,2::CT:14
led 40 8,2::CT:14
led 41 9,2::CT:14
led 42 10,2::CT:14
led 43 11,2::CT:14
led 44 12,2::CT:14
led 45 13,2::CT:14
led 46 14,2::CT:14
led 47 15,2::CT:14
led 48 0,3::CT:14
led 49 1,3::CT:14
led 50 2,3::CT:14
led 51 3,3::CT:14
led 52 4,3::CT:14
led 53 5,3::CT:14
led 54 6,3::CT:14
led 55 7,3::CT:14
led 56 8,3::CT:14
led 57 9,3::CT:14
led 58 10,3::CT:14
led 59 11,3::CT:14
led 60 12,3::CT:14
led 61 13,3::CT:14
led 62 14,3::CT:14
led 63 15,3::CT:14

set ledstrip_profile = RACE

set ledstrip_race_color = RED
save

– LED数が32しかない場合は、エラーメッセージが出ますが気にしなくても大丈夫です。
– 送信機と受信機が接続されていない状態では正しいLED色になりません、確認のためには送信機をオンにしてください。
– 上のコマンドは設定も全て含んでいます。色だけを変える時は”set ledstrip_race_color = RED”の部分を変更すれば良いです。使用出来る色は以下の通りです。

BLACK, WHITE, RED, ORANGE, YELLOW, LIME_GREEN, GREEN, MINT_GREEN, CYAN, LIGHT_BLUE, BLUE, DARK_VIOLET, MAGENTA, DEEP_PINK

4波対応-プロポのポット(S1, S2)でLED色を変更する

WTW四国でもタイニーレースでの4波対応(4機同時飛行)を推進しようとしています。また以前から全周LEDでLEDの色を指定の色にしてもらうという試みも行っています。Naka Drone Racing 2026ではLEDを赤、緑、青、黄にしてもらうことを考えています。
E1,F1,F4の3波の時はVTXチャネル連動でLED色を変更することを推奨していましたが、原理的に4波においてはチャネルの組み合わせによっては不可能です。

そこで手作業でのLED色の切り替えが必要になりました。Betaflight ConfiguratorのLEDタブでその都度変更するあるいはOSD Menuで切り替える方法があります。

ここでは以前書いたプロポのS1, S2のポテンシャルメーターを利用してLED色を変更する方法を改良して赤、緑、青、黄に合わせやすくことを書いておきます。

基本的な設定は「ドローン搭載のRGB LEDで無限の色を得る」を参照してください。
上の記事にある「プロポの設定」と「ELRSの設定」を実施し、下のコマンドをCLIに投入するかプリセットを設定すれば完了です。

[ プリセットの使用 ]
BetaflighのLED設定を行うプリセットを作りました

[ LEDタブでの設定例 ]

[ CLIの使用 ]
注意: LED数は64個を想定したものになっています。下のCLIはS1をAUX7に設定したことを想定しています。もし違うAUXを使用する場合は最後の方にあるmode_color 7 0 10の最後の数値を変更します。10だとAUX7になります。AUX2ならば5, AUX3ならば6… AUX8だと11となります。

# feature
feature LED_STRIP

# led
led 0 0,0::CT:14
led 1 1,0::CT:14
led 2 2,0::CT:14
led 3 3,0::CT:14
led 4 4,0::CT:14
led 5 5,0::CT:14
led 6 6,0::CT:14
led 7 7,0::CT:14
led 8 8,0::CT:14
led 9 9,0::CT:14
led 10 10,0::CT:14
led 11 11,0::CT:14
led 12 12,0::CT:14
led 13 13,0::CT:14
led 14 14,0::CT:14
led 15 15,0::CT:14
led 16 0,1::CT:14
led 17 1,1::CT:14
led 18 2,1::CT:14
led 19 3,1::CT:14
led 20 4,1::CT:14
led 21 5,1::CT:14
led 22 6,1::CT:14
led 23 7,1::CT:14
led 24 8,1::CT:14
led 25 9,1::CT:14
led 26 10,1::CT:14
led 27 11,1::CT:14
led 28 12,1::CT:14
led 29 13,1::CT:14
led 30 14,1::CT:14
led 31 15,1::CT:14
led 32 0,2::CT:14
led 33 1,2::CT:14
led 34 2,2::CT:14
led 35 3,2::CT:14
led 36 4,2::CT:14
led 37 5,2::CT:14
led 38 6,2::CT:14
led 39 7,2::CT:14
led 40 8,2::CT:14
led 41 9,2::CT:14
led 42 10,2::CT:14
led 43 11,2::CT:14
led 44 12,2::CT:14
led 45 13,2::CT:14
led 46 14,2::CT:14
led 47 15,2::CT:14
led 48 0,3::CT:14
led 49 1,3::CT:14
led 50 2,3::CT:14
led 51 3,3::CT:14
led 52 4,3::CT:14
led 53 5,3::CT:14
led 54 6,3::CT:14
led 55 7,3::CT:14
led 56 8,3::CT:14
led 57 9,3::CT:14
led 58 10,3::CT:14
led 59 11,3::CT:14
led 60 12,3::CT:14
led 61 13,3::CT:14
led 62 14,3::CT:14
led 63 15,3::CT:14

# color
color 13 0,0,255
color 14 120,0,255
color 15 240,0,255

# mode_color
mode_color 7 0 10

save

TinyViewPlus-NGのfpv.xmlを設定する

TinyViewPlus-NGではHDMIキャプチャーを使用します。その場合はfpv.xmlを編集することが必須となります。その詳細について書いておきます。この記事はMacOS版TinyViewPlus-NG v0.9.33-beta7に基づいて記述されています。

[ fpv.xmlを開く ]
fpv.xmlなどの設定ファイル、レース結果を保管するresultsフォルダーはMacOS版においてはアプリケーションパッケージに内包されています。

アプリケーションファイルで右クリックメニューで「パッケージの内容を表示」をクリックします。

Contents/Resources/data/camera/fpv.xmlをエディターで開いて編集します。

[ fpv.xmlの内容 ]

<camera>
    <name>USB3 Video</name>
    <camnum>4</camnum>
    <description>USB3</description>
    <grab>
        <width>1920</width>
        <height>1080</height>
    </grab>
    <crop>
        <x>0</x>
        <y>0</y>
        <width>1920</width>
        <height>900</height>
    </crop>
    <draw>
        <aspectRatio>4:3</aspectRatio>
    </draw>
    <fourCamHorizontal>1</fourCamHorizontal>
</camera>

上から順に説明します。
– name: OSが認識している入力デバイス名です。調べ方については後述します。
– camnum: 1だとオリジナルのTVPと同じ動作です。4にするとNG版の目的である一つの入力を4分割するモードになります。3にすると4分割画面の最後の画面を捨てた3画面分割になるようです。
– description: 説明です。
– grab: widthとheightは実際に入力される画面サイズに合わせます。これも調べ方は後述します。
– crop: 接続したチューナーなどの都合で入力画面に余計な部分が発生したりします。それをカットするために使用します。最初はx,yは0, widthとheightはgrabと同じ数値で試してみると良いでしょう。
– draw: 縦横比を指定します。入力解像度1920:1080は19:6になりますが4:3を指定した方が良い結果が得られました。この辺りは実際に試して決めてください。
– fourCamHorizontal: これを0にすると4画面が2×2の配置になります、1にすると4画面が横並びに表示されます。

[ 入力デバイス名と解像度の調査 ]
VLCもしくはQuickTime Playerで調べます。VLCの方が少し手順が簡単です。

< VLC >
– ファイル/キャプチャーデバイスを開く

– Videoにチェック、デバイスを選択(この時の名前がデバイス名)、開く

– ウィンドウ/メディア情報/コーディックの詳細、で解像度を確認

< QuickTime Player >
– ファイル/新規ムービー収録


– 録画ボタン横の▼をクリックしてデバイスを選択(この時の名前がデバイス名)

– ▼をクリックして品質を最高に設定

– 録画ボタンを押してしばらくしてから停止

– ウインドウ/ムービーインスペクタ で解像度を確認

TinyViewPlus-NGのMacOS版をビルドしました

一本のHDMI入力で4channelまとめて表示できるVTXチューナーを利用してお馴染みのTiny View Plusを利用できるように改造したものをzubon2003さんが「TinyViewPlusの受信機回りをスッキリさせたい。」という記事で公開されています。ただし実行ファイルはWindows版のみです。ソースコードは公開されていますのでそのままMacOS版としてビルドすることが出来ました。

私のGithubにてMacOS版のバイナリーを公開しています。

[ テスト ]
ドローン部長よりHawk eye FOUR EYESをお借りできたので動作確認を行いました。HDMIアダプターは”GUERMOK USB 3.0 HDMI to USB C“というのを使用しました。

fpv.xmlの編集が必要です。TinyViewPlusNG.appを右クリックして「パッケージの内容を表示」を行います。その中のContents/Resources/Data/Camera/fpv.xmlを私の場合は以下のようにしました。

<camera>
    <name>USB3 Video</name>
    <camnum>4</camnum>
    <description>USB3 HDMI</description>
    <grab>
        <width>1920</width>
        <height>1080</height>
    </grab>
    <crop>
        <x>0</x>
        <y>0</y>
        <width>1920</width>
        <height>900</height>
    </crop>
    <draw>
        <aspectRatio>4:3</aspectRatio>
    </draw>
</camera>

nameはHDMIアダプターにより変わります。grab/width,heightも実際の解像度に合わせます。どちらもVLCもしくはQuickTime Playerでキャプチャー入力を行うと調べられます。

解像度だけ合わせて手持ちの65タイニーを写してみたところ下にゴミが出ました。

そこで勘でgrab/heightを900にしたところ良い感じになりました。

実際の動作もスムースでしたので、実際のレースでも使えると思います。

OSD menuでLEDの色を変更する

WTW四国ではタイニーレースにおいて全周LED搭載かつVTXチャネル毎に色を指定するというレギュレーションを推進しています。以前からVTXチャネル連動でLEDの色を変更する方法を推奨してきましたが、アマチュア無線のバンドプランが変更になりE1/F1/F4以外のチャネルの使用も可能性が出てきました。VTX連動のLED色は周波数で決まっており、Raceband基準の決め打ちになっているため使用するチャネルによっては同じ色になってしまいます。

そこでOSD menuを使用して手作業で好きなLED色を選択する方法を紹介いたします。

[ 前提 ] 「FPVドローンのLED実装、ハードウェアとBetaflightのビルド」が完了していること。

すでに何かしらLEDが光る設定になっている場合は、下のOSD menuの操作例に進んでください。

LED構成画面は操作がややこしいので下のコマンドをCLIに流し込むあるいはプリセットで構成するだけで良いです。

[ プリセットの使用 ]
BetaflighのLED設定を行うプリセットを作りました

[ CLIの使用 ]
LED数は64個を想定していますが、32個しかない場合でも問題ありません。余分なLEDの分はエラーメッセージが出ますが無視してください。

# feature
feature LED_STRIP

# led
led 0 0,0::CT:14
led 1 1,0::CT:14
led 2 2,0::CT:14
led 3 3,0::CT:14
led 4 4,0::CT:14
led 5 5,0::CT:14
led 6 6,0::CT:14
led 7 7,0::CT:14
led 8 8,0::CT:14
led 9 9,0::CT:14
led 10 10,0::CT:14
led 11 11,0::CT:14
led 12 12,0::CT:14
led 13 13,0::CT:14
led 14 14,0::CT:14
led 15 15,0::CT:14
led 16 0,1::CT:14
led 17 1,1::CT:14
led 18 2,1::CT:14
led 19 3,1::CT:14
led 20 4,1::CT:14
led 21 5,1::CT:14
led 22 6,1::CT:14
led 23 7,1::CT:14
led 24 8,1::CT:14
led 25 9,1::CT:14
led 26 10,1::CT:14
led 27 11,1::CT:14
led 28 12,1::CT:14
led 29 13,1::CT:14
led 30 14,1::CT:14
led 31 15,1::CT:14
led 32 0,2::CT:14
led 33 1,2::CT:14
led 34 2,2::CT:14
led 35 3,2::CT:14
led 36 4,2::CT:14
led 37 5,2::CT:14
led 38 6,2::CT:14
led 39 7,2::CT:14
led 40 8,2::CT:14
led 41 9,2::CT:14
led 42 10,2::CT:14
led 43 11,2::CT:14
led 44 12,2::CT:14
led 45 13,2::CT:14
led 46 14,2::CT:14
led 47 15,2::CT:14
led 48 0,3::CT:14
led 49 1,3::CT:14
led 50 2,3::CT:14
led 51 3,3::CT:14
led 52 4,3::CT:14
led 53 5,3::CT:14
led 54 6,3::CT:14
led 55 7,3::CT:14
led 56 8,3::CT:14
led 57 9,3::CT:14
led 58 10,3::CT:14
led 59 11,3::CT:14
led 60 12,3::CT:14
led 61 13,3::CT:14
led 62 14,3::CT:14
led 63 15,3::CT:14

set ledstrip_profile = RACE

set ledstrip_race_color = RED
save

[ OSD menu ]
OSD menuに入りFEATURES/LED STRIPにてPROFILEをRACEにします。RACE COLORで色を選択します。LED STRIPメニューを抜けたところでLEDの色が変わります。最後、SAVE&EXITを実行し設定を保管します。

CLIで同じ設定を行うことも出来ます。詳しくはBetaflight Wikiをご覧ください。

DJI Neo 2がやってきた

Neo 2凄いぞっていう記事や動画は巷にあふれているので、その他の雑多な事柄について書いてみます。

[ キャリングバック ]
Neo 2 Fly Moreコンボには残念ながらバックとかケースと言ったものが付属していません。そこで昔懐かしいDJI Spark(DIPS2登録維持しています)付属のバックを流用。本体、充電ハブ、RC-N3がそこそこ無難に収まりました。

[ アンテナ保護 ]
トランシーバーを装着すると2本のアンテナが飛び出した状態です。飛行中には上手に電波を拾ってくれそうな感じではありますが、持ち運びにはちょっと気を使います。TPUでサクッと作りました。

スタンドにもなります。

STLはシンギバで公開しています。
https://www.thingiverse.com/thing:7205054

[ 折りたたみスティック ]
DJIの取り外し式のスティック、ちょっと面倒だなと思います。かつて使用していたTBS Tango2みたいな折りたたみ式スティックはないものかとアリエクスプレスを探したら見つかりました。質感は良いです。スティックを折りたたむ方向が調整できそうもないのが美しくはありませんが、実用には問題ないです。

下はアリエクのリンクです。

ELRS BackpackのDVR自動録画機能を使う

随分前からELRS Backpackに挑戦していて、ちっとも思うように動いていないコザックです。

最初はTX16SとHDZeroゴーグルで試していました。バインドは間違いなく出来ているけどチャネルが変更出来なくて挫折。その後、違うハードウェアで何度か試してきました。そして遂にちょっとだけELRS Backpackの恩恵を受けることが出来るようになりました。事例として現在の構成などを紹介してみます。

ELRS Backpackの恩恵と書いたのは、DJI Avata2みたいにアームと同時にDVRの録画を開始する機能です。ただし、未だにチャネル変更は出来ていません(何か間違ってるんだろか?)。

[ ハードウェア ]
– 送信機 Jupmer T15
– ゴーグルSKY04X PROで受信機をSteadyView Xに換装したもの

[ ファームウェア ]

T15もSteadyView Xも標準でELRS Backupをサポートしているので、ガイド通りで更新出来ます。バインドフレーズ付きで書き込みました。T15はEdgeTXパススルー、SteadyView XはPCとUSB接続しメニューからELRS BackpackのUpgradeモードにして書き込みました。SKY04X PROのファームウェアも最新のものに更新しておきます。ハードウェアのバージョンによってファームウェアが違うところが要注意ですが手順は難しくはありません。

[ 構成 ]
SKYZ04XはSteadyView Xモードにします。このモードではSkyzoneの特色である受信機を二つ搭載することは出来ません。

DVRの設定をfollowにします。

送信機のELRS Luaスクリプトでアームに使用するAUXとアームする方向を指定します。(プリアームを使っていても、そちらは無視されます)

これで自動録画が出来るようになっているはずです。チャネルが自動で切り替わることより嬉しいかも(負け惜しみ)。

トリム無効化の勧め

いつの間にか送信機のトリムが入ってしまいドローンの動きがおかしくなってしまったことはありませんか? ドローンでトリムを使うことは考えられないのでEdgeTXの設定で無効にしてしまうのが良いです。

方法は二つあります。Flight Modeで行う方法とINPUTで行う方法です。Fligt Modeで無効にすると画面表示からもトリムが居なくなるので、私はこちらが好みです。

[ Flight ModeでTrim Offにする ]
モデル設定画面にFlight Modesの画面があります。

FM0のEdit画面に入ります。

Rud, Ele, Thr, Ailの各ボタンを押してトリムを無効化できます。これだけです。

[ INPUT画面でTrim Offにする ]

Rud, Ele, Thr, AilのそれぞれのEdit画面を開き歯車マークの中でトリムをオフにします。

ATtiny85によるLED制御 – ハードウェア実装編(統一チップ版)

[ 関連記事 ]
ドローンにRGB LEDを搭載するもう一つの方法 <- 親記事です
ATtiny85によるLED制御 – BUZZパッドを利用した制御方法
ATtiny85によるLED制御 – UART/LEDパッドを利用した制御方法
ATtiny85によるLED制御 – プログラムの書き込み方法

[ 注意 ] 当初、BUZZポート使用のものとLED/UARTポート使用のもので別のチップにしていましたが、統一しました。そのためスイッチに使うピンに変更があります。BUZZポートの場合は従来と同じ5番ピンです。LED/UARTで使用する場合は隣の6番ピンを使用します。

BUZZポート接続

[ 配線についての概略 ]
実際の配線は写真を見てもらうとわかりやすいと思います。

この写真では必要のないピンをカットしています。実際のATtiny85には8本のピンがあります。チップ表面の丸い印が1番ピンを表します。そこから反時計回りにピンは数えます。
この写真の例はBUZZボートあるいはGNDへ接触させて使用する場合です。

LEDポートあるいはUARTを使用する場合は下の写真のようになります。

LED/UARTポート接続

使用しているピンの説明です。

ピン番号 名前 リード線の色 役割
2 D3/A3 RGB LEDの制御信号出力、RGB LEDの信号入力に接続
4 GND GND端子、バッテリーのマイナスに接続
5 D0 LEDの色や光り方を変えるためのスイッチ入力、機械的なスイッチもしくはFCのBUZZに接続
6 D1 黄(下の絵では水色) LEDの色や光り方を変えるためのスイッチ入力、機械的なスイッチもしくはFCのLED/UARTに接続
8 VCC 電源入力、バッテリーのプラスに接続

[ 電源 ]
FCの5Vを使用することも考えられますが、たくさんのLEDを光らせるには5V BECの電力に不安があります。1S機ならばVBAT、バッテリーに直接接続した方が安定動作が期待できます。ちなみにATtiny85の動作電圧は2.7Vから5.5Vです。LEDストリップはもう少し電圧の幅が少ないと思います。
ATtiny85とLEDの双方にバッテリーのプラス、マイナスを接続します。上の写真の例ではLEDストリップの信号入力と反対側のリード線がバッテリーに接続されています。ATtiny85にはLEDストリップを通った後の電圧が供給されています。全周巻きの場合は、この方法が配線しやすいと思います。


絵にするとこんな感じになっています。全周巻ではない場合はATtiny85チップとLEDに並行した電源線の接続でも構いません。スイッチの配線は一般的にはBUZZもしくはLED/UARTのどちらか一方を使用します。

[ 信号線 ]
写真の緑のリード線のようにATtiny85からの制御信号出力をLEDの信号入力に接続します。

[ スイッチ ]
ブザーポートもしくは機械的スイッチでGNDに落として操作する場合は5番ピンを使用します。スイッチを使う代わりに、この線を適当にGND、例えばUSBコネクターの外枠などに接触させても良いです。LEDポートあるいはUARTで操作する場合は6番ピンを使用します。Betaflighの構成方法について別記事にて詳しく説明します。

[ 配線 ]
写真のような空中配線で大丈夫だと思います。当然、配線後はショートしないよう絶縁対策が必要です。私は半田付けしたところを保護する目的でUVレジンで固めました。
大きめのドローンなら基板を使うのも良いと思います。その場合、サイズは大きくなりますがDIP版のATTiny85を使用した方が良いでしょう。

送信機でGPSテレメトリー情報を表示する方法

Jumper T15の大きなLCDスクリーンを有効活用し、GPSのテレメトリー情報を表示する設定を試みました。
この設定により、FPVゴーグルを装着しなくても、手元の送信機でGPSの測位情報をリアルタイムに確認できるようになり、非常に便利です。

特に、USB給電でGPSを起動できるようにしておけば、VTXに通電することなくGPSのコールドスタートを完了できます。その際、送信機の画面で捕捉した衛星数や機体の座標を確認できることが重要になります。

設定手順です。

[ テレメトリーの検出 ]

まず、GPSを搭載したドローンと送信機を接続します。
次に、送信機のモデル設定画面を開き、最後のページにある「Discover new」を実行します。(「Delete all」は必須ではないかもしれませんが実行しても良い)

処理後、センサーリストに「GPS」と「Sats」(衛星数)が表示されれば成功です。

[ 画面レイアウトの設定 ]

次に、表示画面のカスタマイズです。T15送信機の右側にある「TELE」ボタンを押して、テレメトリー画面設定に入ります。

まず、「Layout」を選択します。表示したい情報に応じて、適切なレイアウトを選びます。GPSの衛星数だけなら小さなエリアで十分ですが、座標も表示するにはある程度の広さが必要です。今回は、画面の右半分が3分割されたレイアウトを選択しました。

[ ウィジェットの設定 ]

レイアウトが決まったら、「Setup widgets」を選択し、各エリアに表示する情報を設定していきます。

上記は設定完了後の画面です。設定したいエリアをダイヤルで選び、押し込みます。次に「Select Widget」から「Value」を選択してください。

最後に、「Source」の項目で、テレメトリーソースの中から「Sats」を選択すると衛星数が、「GPS」を選択すると座標が表示されるようになります。お好みで文字色なども調整しましょう。