Dropbox

私的Betaflightプリセット、github編

公式のプリセット設定ガイドではguthub上で開発およびテストを行う方法が紹介されています。この方法で自分だけのプリセットを作ることが出来ます。

ただしgithubの仕組みについてある程度の知識が必要です。当然、githubのアカウントも必要です。また、仕組み上URLを知る人全てに公開することにもなります。gitによる履歴管理が出来るのが大きなメリットでもあります。なんでもgitで管理したい人には超お勧めです。

githubを使用しない方法は別の記事で解説しています。

以下、私的プリセットの作り方ですがgithubの操作が出来ることを前提としています。

本家のリポジトリは以下のURLです。
https://github.com/betaflight/firmware-presets

手順は、概ねこのリポジトリのreadmeに書かれている通りです。
– 自分のgithubアカウントにfirmware-presetsをforkします(readmeではcloneすると書かれている)。
– PCに自分のアカウントのfirmware-presetsをcloneします。
– 独自のbranchを作成する。
– presers以下にBetafliightバージョン、カテゴリー別に分類されてプリセットファイルが配置されているので、既存のファイルに倣って自分のプリセットファイルを作成します。#$で始まるヘッダーは見ればわかる内容なのでそれなりに真似をします。それ以下は基本的にはCLIコマンドを並べるだけです。オプションによる選択肢付きの記述例は私のLEDプリセットをご覧ください。
自分のものと関係のないプリセットは削除してしまうのが良いと思います。
– 以下のコマンドを実行する。(Node.jsが導入されていることが必要です)

node indexer/indexer.js
node indexer/check.js

AI任せで生成したPython版のインデックス作成ツールもあります。実行方法は以下の通り。

python3 -m python_indexer.indexer

– [readmeにはないステップ] “.gitignore”を編集し”/index.json”と”/index_hash.txt”取り除く。
– 自分のgithubのbranchにpushする。

プリセットソースに自分のgithub URLとbranch名を設定すれば使えるようになります。具体的な手順は「BetaflighのLED設定を行うプリセットを作りました」をご覧ください。

私的Betaflightプリセット、webサーバー編

私的Betaflightプリセット、Visual Studio Code+Live Server編」の続きとして書きます。実際はサーバー上で全ての作業を完結させることも可能ですが、ここではPC上で作成したデータを使用することにします。

どこかにwebサーバーをお持ちの方は上の記事で作成したfirmware-presetsフォルダーをサーバーにアップロードすればほぼ完成と言っても良いです。サーバーは家庭内、インターネット上、どちらでも大丈夫と思います。私自身は家庭内で常時稼働しているNAS上のwebサーバーを使用しています。インターネット上のサーバーでも変わりはないと思いますが、私の考慮が足りないこともありますので稼働するに当たって何か問題があってまご容赦願います。

Betaflight Configuratorがアプリ版の場合は問題ありませんが、2025.12以降のweb版を使用する場合は”firmaware-presets/.htaccess”に以下の一行を設定する必要があります。

Header set Access-Control-Allow-Origin: https://app.betaflight.com

私の場合、NAS上で稼働していたwebサーバーがNginxであったため上の設定が正しく反映できませんでした。Apacheに入れ替えて正しく機能するようになりました。

あとはローカルの時と同様にプリセットソースにサーバーのURLを設定すれば使えます。

まだ環境的には完成していませんが、MacBook Air上でプリセットを作成、NASに同期、家庭内では常時稼働のNASをプリセットソースとして使用。出先ではVSCodeのLive Serverをプリセットソースとして使用するという方式で運用することにしました。

私的Betaflightプリセット、Visual Studio Code+Live Server編

プリセットを自分で持つためには何かしらBetaflight Configuratorにデータを提供するための仕組みが必要です。その基本要素はwebサーバーです。ここでは自分のPC上にwebサーバーを持つ手段としてVisual Studio Codeの拡張機能を使用する方法を紹介します。これが一番手軽な方法と思います。

以下の手順はmacOS, Windows 11共に確認しています。Windowsの場合はPython3の導入(とても簡単)が必要です。

[ Visual Studio Codeの導入 ]
とても使いやすく多機能なテキストエディターです。もし持っていなければ導入しておいて損はないと思います。導入は難しくないのですし情報も多く見つかると思いますので導入手順は省略します。

[ Live Server拡張機能の導入 ]
– Visual Studio Code、以下VSCodeと表記、で”表示/拡張機能(View/Extensions)”を開く
– “Live Server”を検索しインストールする

– 続いて歯車アイコン/設定(Settings)を開きます

– [重要] Corsという設定を探してチェックを入れます、Betaflight Configuratorのwebアプリ版では必須です

これでローカルのwebサーバーを起動する準備ができました。

[ firmware-presetsのダウンロード ]
– 本家のfirmware-presetsもしくは私のfirmare-presets udonのページを開きます
– Codeボタンを押してDownload ZIPを行います
– ダウンロードしたZIPファイルをどこかに展開します

[ プリセットの作成 ]

展開したZIPファイルの中のpresetsフォルダー以下にファームウェアのバージョンを記したフォルダー、その下にカテゴリーのフォルダーがあり、そこにプリセットを置きます。自分自身だけのプリセットデータを置くので、既存のデータは全部消します。

ここでは例として私のタイニー用のモード設定のプリセットを作ってみます。
– パス名はpresets/2025.12/other/TinyMode.txtとします
– 内容は下のようにしました。

#$ TITLE: My Mode settings for TinyWhoop
#$ FIRMWARE_VERSION: 2025.12
#$ CATEGORY: OTHER
#$ STATUS: COMMUNITY
#$ KEYWORDS: tiny, mode
#$ AUTHOR: KozakFPV

#$ DESCRIPTION: My Mode settings for TinyWhoop

# aux
aux 0 0 0 900 1300 1 0
aux 1 1 1 1700 2100 0 0
aux 2 13 2 1300 1700 0 0
aux 3 28 1 900 1300 0 0
aux 4 28 4 900 1700 0 0
aux 5 35 2 900 1300 0 0

上の方の#$の部分は見様見真似で大丈夫と思います。下の方の実際のコマンドは既存のdiff allから必要な部分をコピーしたものです。

[ index.jsonの生成 ]
公式なやり方ではNode.jsの導入が必要です。以下のようなコマンドでindex.jsonを作成、更新します。

node indexer/indexer.js
node indexer/check.js

Node.jsを導入したくない場合、Pythonでも実行できるようにしました。
indexerのスクリプト群をGeminiにお願いしてPythonのコードに変換してみました。私のudonリポジトリーのpython_indexerにアップロードしています。最近のmacOSならば最初から導入されているPython3で次のコマンドでindex.jsonが作れます。ただし、色々なケースでのテストは出来ていないので結果の保証はありません。

python3 -m python_indexer.indexer

[ Live Serverの起動 ]
– VSCodeを開きます
– メニューから「ファイル/フォルダーを開く…(File/Open Folder…)」で”firmware-presets”フォルダーを選択する
– VScodeの右下の「Go Live」をクリックしてサーバーを起動する

[ Betaflight Configuratorのプリセットを使う ]

– 機体を接続してBetaflight Configuratorのプリセットを開く
– 「プリセットソース…」ボタンを押す
– 「新しいソースを追加」でNameは任意の文字列、Urlにhttp://127.0.0.1:5500を指定し「有効にする」を押す、既存のプリセットソースを無効にすると最初は分かりやすいかもしれません

– 必要に応じてカテゴリーやキーワード、作者などから検索して自分のプリセットを見つけて開く
– 「CLIを表示」して中身を確認し「選択」を押す
– 「保存して再起動」を押してプリセットを適用する

以上で完了です。チェックボックスを付けてCLIを選択できるようにすることも出来ます。このあたりは既存のプリセットを見てやり方を真似すると良いでしょう。

自分用のBetaflightプリセットを持つススメ

複数のFPVドローンを作っていると毎回自分なりの設定、しかも全く同じ設定を施していくことになります。レース機などで全く同じハードウェアならばdiff allを移していくだけでも良いですが、レートだけ同じものを使いたいとかモード画面だけをコピーしたいという場合、必要な部分をdiff allから抜き出して保管しておくという手法を利用されている方も多いと思います。

この記事はそう言ったdiff allから必要情報を抜き出すことが出来る人を対象に書いていきます。実際のところdiff allのデータは簡単に理解出来る部分も多くあります。これを機会にdiff allを眺めていただくのも良いかと思います。

必要なデータをCLIで読み込ませるだけでも目的を達成できます。それに対してプリセットを利用するメリットは注釈付きで一元管理出来ることです。また、場合によってはチェックボックスを表示して内容を選択してから適用するような仕組みも実装出来ます。

実際の私設プリセットの様子は「BetaflighのLED設定を行うプリセットを作りました」をご覧ください。これはLED設定のCLIコマンドをプリセット化したものです。いかなる設定でもCLIさえ決まればプリセット化出来ます。しかも私的なものであれば細かい内容を考えなくとも試すことが出来ます。実際にやってみるとなかなか便利です。お勧めします。

実装の方法をいくつかのパートに分けて紹介していきます。

私的Betaflightプリセット、Visual Studio Code+Live Server編 / とりあえず一番お手軽
私的Betaflightプリセット、webサーバー編 / 自前のサーバーを持っている人向け
私的Betaflightプリセット、github編 / gitを使っている人、gitに挑戦したい人向け

Betaflightプリセットのススメ

Betaflight Configuratorのプリセット画面を活用されていますか?

プリセットとは様々な設定をややこしいことを考えることなく適用するための仕組みです。VTXテーブルのような基本設定から達人のレートを取り入れたいみたいなマニアックな物まで色々あります。色々たくさんありすぎて意味不明な設定画面と見られている面もあるかと思います。

私が常用している二つの公式プリセットを紹介したいと思います。

[ VTXテーブル ]
当初、VTXテーブルはどこからか設定ファイルを探してきてVTX画面で読み込むという物でしたがTBS UnifyとかOVX300などの有名どころであればプリセットの適用で設定できます。

選択するとオプションを選ぶものもあります。

どのような設定がされるかはCLIを表示すれば確認できます。

[ ELRSリンク ]
ELRSのパケットレートに応じたプリセットを適用することにより適切なFeed Forwardが設定できます。この効果を自分自身で確認できたことはありません。おまじない的に設定しています。最近のOscar Liangの記事によると、これをちゃんとしないと振動が出るとも書かれています。

以上はBetaflightから公式に提供されている物です。私が個人的に提供しているLED設定もあります。
BetaflighのLED設定を行うプリセットを作りました

といった具合でプリセットはなかなか便利です。というこの記事は実はまえふりで、自前の設定をプリセット化すると便利だよという内容でブログを書こうと狙っています。

S1ポッドでLEDを決まった色にする設定

元々S1スイッチでLEDの色を変更しようというアイデアは調整次第で微妙な色を出そうという物でした。レースでへ決められた色を出すためには少々無理がありました。それをEdgeTXの設定でなんとかしようという試みです。

ELRSの設定によってはS1の挙動がカクカクするため黄色がちゃんと出ないという問題がありますが、それもこの設定で解決します。

ELRSのSwitch ModeがWideの場合はAUXがスティックと同様に細かい値を取ることが出来ますが、Switch ModeをHybridにするとデータ量を節約するためにAUXでは段階的な値しか取ることが出来ません。

[ 前提 ]
Betaflightの設定は「4波対応-プロポのポット(S1, S2)でLED色を変更する」で行います。

[ EdgeTXの設定 ]
Jumper T15でS1スイッチをAUX7として使用する場合の設定した時の画面です。他機種でもおそらく同様の設定が使用できるものと想像します。

全てモデルの設定の中で行います。
– CURVES

LEDという名前で上の通りの設定を作りました。グラフの意味は横軸(X)がS1の回転を現します。縦軸(Y)は実際にchannelに出力される値です。それぞれ中心を0とした+/-100で表現されています。Betaflightの受信機タブで表示される数値で言い換えるとS1が左端にある時は1000で、徐々に右に回していくと1250になり、中央付近では1500、右端に行くと2000が出力されます。

– INPUTS

s1という名前のINPUTSを作りました。SourceにS1、CurveをCstmとして上で作成したLEDを指定しました。

– MIXES

T15の標準設定ではCH10までは埋まっていると思います。そこでCH11を新設することにしました。これはBetaflighの受信機タブではAUX7に相当します。
Sourceに上で作成したledを指定するだけで完了です。

LEDの色変更をVTX周波数連動と手動設定の併有を試す

E1/F1/F4の時代にはVTX周波数でLEDの色を連動させることが出来て楽だったのですが、4波ではそれが出来なくなる可能性があります。

VTX周波数によるLEDの色の決定はレースバンドのチャネルを基準にした周波数で範囲が決めうちになっています。このため4波でレースを行う場合、チャネルの組み合わせによってはVTX連動が出来たり出来なかったりします。

Naka Drone Racing 2026の場合、使用を予定しているチャネルは、E2/E1/F3/F5です、LEDの色はそれぞれ赤/緑/青/黄です。
この組み合わせでVTX連動を使おうとするとE2とE1が同じLED色になってしまいます。VTX連動は完全には使えないわけですが、考えてみるとE2だけ手動でE1/F3/F5は自動で変更することも可能です。
最初は操作性や設定がネックだと思っていたのですが、LED Strip ProfileをRaceモードにした場合でRACE COLORをBLACKにするとVTX連動になることが分かりました。これで操作性もかなり良くなると予測し実験を行いました。

OSD menuにて変更すべきところが一箇所なのでまあまあ使い勝手は良いと思います。動画の通りですが、使用するチャネルがE1/F3/F5の時はRace ColorをBLACKのまま、E2の時はREDにするという運用を行います。万が一従来のE1/F1/F4にフォールバックした場合はF4の時だけBLUEに設定するようにします。

ということで設定を紹介します。

[ Betaflighの設定 ]
例によって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

# color
color 2 120,0,255
color 4 240,0,255
color 6 60,0,255

set ledstrip_profile = RACE
set ledstrip_race_color = BLACK

save

この設定の中で、

color 2 120,0,255
color 4 240,0,255
color 6 60,0,255

この部分がレギュレーションによって変わります。今後、使用する4波が決まっていないので決めうちの設定を提供できません。当面の間は四国で行われるレースについてはその都度設定方法を紹介していこうと思います。

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

現在推奨しているLEDの色を設定する方法ではCLIでコマンドを流し込むことをガイドしていますが、それをBetaflight Configuratorのプリセット機能で行えるようにしました。

最初はコピペとかあまりやりたくない人に向けたものだったのですが、オプションをチェックボックスで選択出来るというメリットがあることに気づきました。例えばレースモードで色を選択する、あるいはS1, 6Posスイッチを使用する場合のAUX番号などです。AUX番号の変更はCLIコマンドの書き方を自分自身でもすぐ忘れてしまうので、プリセット画面で選択出来るのはとても便利です。

[ プリセットソースの指定 ]
個人的に提供しているプリセットですのでどこからプリセットを読み込むかの指定が必要です。

Url: https://github.com/nkozawa/firmware-presets
GitHub branch: udon


プリセット画面の「プリセットソース」をクリックします。

「新しいソースを追加」クリックします。

UrlとGitHub branchを画面のようにセットします。Nameはなんでも構いません。
「有効にする」と「OK」をクリックすれば準備完了です。

[ プリセットを探す ]

カテゴリーでLEDS、ファームウェアで2025.12を選択します。作成者KozakFPVになっているものを探してください。

[ LED AUX mod ]
以下の記事に対応する設定を行うプリセットです。
ドローン搭載のRGB LEDで無限の色を得る
4波対応-プロポのポット(S1, S2)でLED色を変更する

LED AUX modを開いてオプションを選択します。
– AUX : 元記事ではS1をAUX7に設定する例を紹介していますのでAUX7が規定値として設定されています。
– Color : S1を右端にした時に青にすると4波対応の記事に合わせるには”HUE 0 to 240 (RGB)”を選択します。
– Number of LEDS : 構成したLEDの数に合わせます。もし物理的に搭載されているLED数に合わせたい場合はCLIを表示してコピーの上で調整してください。
「選択」をクリックします。

バージョン指定をする必要があり2025.12としています。そのため4.5に対して適用しようとすると警告が出ますが、問題はありません。「同意」を押してください。

「保存して再起動」をクリックすると設定が反映されます。

[ LED Race Profile ]
以下の記事に対応する設定を行うプリセットです。
OSD menuでLEDの色を変更する
LEDの色変更をCLIで行う

基本操作は上に書きましたのでオプションの説明だけ書いておきます。
– color : 最初に表示するLEDの色です。BLACKにするとVTXの周波数と連動します。
** BLACKにするとVTX連動になることを利用して手動での色指定との併用の可能性も検討いたします。
– Number of LEDS : 構成したLEDの数に合わせます。もし物理的に搭載されているLED数に合わせたい場合はCLIを表示してコピーの上で調整してください。

4波対応、FPVドローンLED設定のまとめ2026

2026年、WTW四国ではいよいよ4波対応を推進いたします。全周LEDを装着しレーサー毎に指定の色で光らせてもらうことも目指します。LEDの色は四国では赤、緑、青、黄を使用することにしています。
現在のところVTXチャネルとLEDの色は別々に設定することになります。それに沿って今まで書いた設定方法をまとめて起きます。

[ 基本設定 ]
– 「FPVドローンのLED実装、ハードウェアとBetaflightのビルド
LEDストリップの取り付けとLEDを使用するためのファームウェア設定です。

[ Betaflightの設定 ]
BetaflighのLED設定を行うプリセットを作りました
最初はCLIに流し込むコマンドだけを各記事で紹介しましたが、Betaflight Configuratorのプリセット画面で設定する方法も用意しました。オプションで設定内容を変更できるので単純なCLIコマンドより便利です。

– 「OSD menuでLEDの色を変更する
LEDの設定には様々なオプションがありますが、その中のレースプロファイルを用いた設定例です。この設定では全てのLEDを同じ色で光らせることが出来ます。設定できる色は以下の通りです。

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

– 「LEDの色変更をCLIで行う
内容は、ほとんど上のOSD menuを使う方法と同じです。

– 「4波対応-プロポのポット(S1, S2)でLED色を変更する
プロポのS1,S2スイッチでLED色を変更する方法です。

– 「LEDの色変更を6p SWで
ninjaMoonLightさんによるプロポの6posスイッチでLED色を変更する方法です。

– 「LEDの色変更をVTX周波数連動と手動設定の併有を試す
以前、行っていたVTX連動によるLEDの色変更とOSD menuによる色変更を併用したらレースの時の手間が減らせるのではないかという試みです。

– 「S1ポッドでLEDを決まった色にする設定
レース向け設定です。S1を回して色を変更しますが赤、黄、緑、青だけを出すようにします。

[ 例外事例 ]
– 「Hummingbird V3.1 RaceSpecのLED Strip設定とその他諸々
箱出しレース機Hummingbird RaceSpecはLEDの接続が正式にはサポートされていません。が、隠れLEDポートが存在します。もし動いたらラッキーくらいに考えておいてください。ファームウェアもカスタム品なので、もしファームウェアレベルでLEDサポートが落とされたらどうしようもないです。

LEDつないだらモーターが動かなくなった時(Betaflight)
もう生き残っているのは無いかもしれないくらい古いBetaFPVのFCの話しです。

[ Betaflightを使わないLEDの実装方法 ]
FCにLEDパッドが無い、あるいは動かない場合、独立したICでLEDを制御する方法もあります。
– 「ATtiny85によるLED制御 – ハードウェア実装編(統一チップ版)

FPVドローンのLED実装、ハードウェアとBetaflightのビルド

今まで、断片的にタイニードローンへのLED実装、設定について書いてきました。改めてLEDのハードウェア実装とファームウェアのビルドについてまとめておきます。

[ LEDストリップ ]
– 使用するのは5V RGB LEDストリップです。使用ているICの名前WS2811、WS2812が書かれていたりもします。端子としては電源を供給するための+と-と信号を入力する、(片側に)三つの端子が付いています。同じ形状で12V駆動のものもありますので注意が必要です。
– 幅は2.7mmか3mmの物であれば65のフレームに無理なく巻けます。
– LEDの密度にも何種類かあります。一般的なものは160LEDs/mです。100LEDs/mでも良いでしょう。60LEDs/mだとちょっとまばらな感じになります。
– かまぼこみたいに見える厚い被覆でカバーされたものとLEDチップが剥き出しのものがあります。
– 購入先は国内ではヘリモンさん、国外ならアリエクが今は便利かと思います。

[ 実装方法 ]
– 5V駆動のLEDストリップなのでFCの5V端子に接続したくなりますが、1S FCの場合、特にVTXも載っているAIOのなどでは5V BECの電流が足りないのか5V端子に接続すると安定しません。直接バッテリーからLEDストリップに電源を供給します。電圧が低めにはなりますが、十分に光りますし搭載されているICの許容電圧は満たすことができます。
– FCのLED端子とLEDストリップの信号入力を接続します。LEDストリップ上で信号の流れが決まっています。反対側に接続すると光らせることは出来ません。LEDストリップ上にIN/OUTなどの表示がある場合はINの方にFCからの信号線を接続します。あるいはLEDストリップ上に矢印が印字されており、それで信号の流れを表示していることもあります。この場合は矢印の根元側に信号を供給します。

写真の例では緑色のワイヤーがFC上のLED端子に接続しています。

[ ファームウェア ]
最近のBetaflightはファームウェアをビルドの際に必要なオプションを選択する必要があります。LEDストリップを使用する場合には”LED Strip”と”LED Strip (64)”を選択します。

LED Strip (64)はFCの種類とBetaflightのバージョンの組み合わせによっては使用出来ない可能性があります。LED Strip (64)が使用出来ない場合はLEDの数が32までに制限されます。

LED数が32までしか使えない場合で160LEDs/mのLEDストリップを使う場合、65サイズのフレームでも全周に巻くには足りません。この場合、2本のLEDストリップを用意して半周づつ巻きます。LED端子からの信号線を両方のLEDストリップに並行して接続すれば大丈夫です。

ここまで来れば準備完了です。別の記事で紹介している設定方法に移ります。
OSD menuでLEDの色を変更する
LEDの色変更をCLIで行う
4波対応-プロポのポット(S1, S2)でLED色を変更する
BetaflighのLED設定を行うプリセットを作りました