Skip to the content
4 layers50 × 64 mmMinidrone fc, the printed circuit board in 3D

KiCADによるdrone基板作成

Size
50 × 64 mm
Copper layers
4
Thickness
0.8 mm
Parts
45
Nets
22
Pads
153
Tracks, vias
195, 147
Pours
7
Routed
Yes
KiCad
KiCad 10.0 (file 20260206)
Created
19 Sep 2026
Updated
20 Sep 2026

Overview

Minidrone fc is an open-source printed circuit board by yisikawa, from the yisikawa/minidrone_fc repository on GitHub. It is a 4-layer board of 50 × 64 mm with 45 parts on 22 nets, routed with 195 tracks and 147 vias.

It is built around the BMP280, TPS63002DRC and XIAO ESP32C3, with the SS24 and AO3400A among its other parts. Its parts include 12 capacitors, 10 resistors, 5 diodes, 5 connectors and 4 ICs. It belongs with the ESP32 and RISC-V boards of this library.

Main components

5

README

README.md

minidrone_fc — ミニドローン制御基板 KiCadプロジェクト

1S LiPo / 8520コアレスモーター×4 / 目標58g・上限70g

回路図は生成済みです。手で描く必要はありません。


1. 使い方

  1. このフォルダごと D:\KicadProjects\ などに置く(D:\Kicad の中には置かないでください。KiCad更新時に消える可能性があります)
  2. minidrone_fc.kicad_pro をダブルクリック
  3. 回路図(.kicad_sch)を開く

KiCad 10で開くとファイル形式の変換確認が出ます。 このプロジェクトはKiCad 7形式で生成されているためです。 「はい」で変換してください。以後は10形式で保存されます。


2. 最初にやること: XIAOのフットプリント設定

U1のフットプリントは意図的に空欄にしてあります。 XIAOはKiCad公式ライブラリに含まれず、環境によってライブラリ名が 変わるため、こちらで決め打ちできませんでした。

手順:

  1. https://github.com/Seeed-Studio/OPL_Kicad_Library をZIPで取得
  2. 展開し、Seeed Studio XIAO Series Library/ 内の .kicad_sym を 設定 → シンボルライブラリを管理 から追加
  3. フットプリントは .pretty フォルダに入っていないと認識されません。 単体の .kicad_mod ファイルの場合は Seeed_XIAO.pretty という フォルダを作って中に移動してから、 設定 → フットプリントライブラリを管理 で追加
  4. 回路図でU1を選択 → E キー → Footprintフィールドに Seeed_XIAO:XIAO-ESP32C3-SMD のような実際の名前を入力

U1のシンボル自体はこのプロジェクト内の minidrone.kicad_sym に 同梱してあるので、シンボルライブラリの導入は必須ではありません。 必要なのはフットプリントだけです。


3. 検証済みの内容

このプロジェクトは生成後、KiCadのエンジン(kicad-cli)で 以下を実機検証しています。

検証項目結果
回路図ファイルの読み込み成功
基板ファイルの読み込み成功
部品点数37点(設計意図と一致)
フットプリント割り当て全点一致(U1除く)
ネット数22ネット
接続点の総数96点
ネットリスト照合全ネット完全一致
意図しない結線なし
未結線ピン16点(すべてno_connect指定済み)

つまり、書き出したネットリストが設計表と1本残らず一致することを 確認済みです。回路図の入力ミスはありません。


4. 設計資料からの変更点

基板化の過程で判明した誤りを訂正しています。

項目変更前変更後理由
極性コンデンサDevice:CPDevice:C_PolarizedCPはKiCad 5時代の名前。現行ライブラリに存在しない
フライバックダイオードSS14SS24SS14は1A定格。モーター電流1.62Aに対し余裕が乏しい。SS24は2A定格で、フットプリントは同じD_SMAなのでレイアウト変更不要
C3〜C6の接続先Qのドレイン–ソース間VBAT–GND間高周波電流ループを閉じるのは電源側。低側スイッチではこちらが標準
PTCヒューズ・電源SWあり削除6.5Aでは直列抵抗による電圧降下が推力損失に直結する

5. ピン割り当て(ESP32-C3の制約を反映済み)

XIAOピンGPIOネット備考
D0GPIO2未使用ストラッピングピン。使用不可
D1GPIO3BATT_SENSEADC1。Wi-Fi動作中も使える
D2GPIO4GATE_FL
D3GPIO5GATE_FR
D4GPIO6SDA
D5GPIO7SCL
D6GPIO21GATE_RL
D7GPIO20IMU_INTMPU6050のデータレディ割り込み
D8GPIO8未使用ストラッピングピン
D9GPIO9未使用BOOTピン
D10GPIO10GATE_RR

A0はD0と同一ピンです。 そしてGPIO2はストラッピングピンなので、 電圧センスはD1(GPIO3)に置いてあります。またESP32-C3のADC2は Wi-Fi動作中に使えないため、ADC1に属するピンでなければなりません。

D7をIMU割り込みに使っているので、将来UART受信機を追加する場合は 再割り当てが必要です。


6. 次の手順(基板レイアウト)

  1. Eeschemaで ツール → フットプリントを割り当て を開き、U1だけ設定
  2. 検査 → エレクトリカルルールチェック(ERC) を実行
  3. ツール → 基板エディタで基板を更新
  4. 基板の外形(Edge.Cuts)を35×35mmで描く
  5. 配置は以下の順序で。この順序が重要です
    • モーターパッド J2〜J5 を四隅に
    • Q1〜Q4 と D1〜D4 を対応するパッドの直近(5mm以内)に
    • C3〜C6 を各Qの直近に
    • U1を中央、USB-Cが基板端から出る向きに
    • U2を裏面中央、モーター電流経路を避けた位置に
  6. デザインルール: 最小クリアランス0.2mm、最小トレース幅0.25mm、 ビア0.6mm/ドリル0.3mm
  7. VBATとGNDはトレースではなく**ベタ(カッパープアー)**で。 6.5Aには1oz銅で約4.0mm幅のトレースが必要で、35mm角では引けません
  8. M_FL〜M_RRは1.0mm幅以上

レイアウトで最も重要な点

フライバックループの面積を最小化してください。 モーターOFFの瞬間、逆起電力が モーター → D → VBAT → モーター を 流れます。このループが囲む面積がそのままノイズの放射源になり、 MPU6050の読み値を汚します。D1〜D4は必ずモーターパッドの真横に、 ビアを挟まずに配置してください。


7. 未検証事項

  • XIAOフットプリントの実寸: Seeedのライブラリで裏面パッドや サーマルパッドの欠落が報告されています。実物を基板に当てて 確認してください
  • MPU6050のQFN-24実装: 手はんだは難度が高めです。困難なら GY-521完成基板(+1〜2g)に戻す判断もあり得ます
  • フレーム側の穴位置: モーターパッドの座標はフレーム設計と 同時に決める必要があります。基板レイアウトの前にフレーム寸法を 確定させてください
  • ガーバー出力は未実施: 発注前にDRCとガーバービューアでの 目視確認を必ず行ってください

8. rev2 での修正(ERC結果を反映)

初版に対してERCを実行した結果、エラー3件・警告137件を修正しました。

症状件数原因対応
power_pin_not_driven3(エラー)XIAOの3V3ピンをpower_inと定義していた。実際はレギュレータ出力。またGND/VMCUに駆動源が明示されていなかった3V3をpower_outに修正。VBAT/GND/VMCUにPWR_FLAGを追加
endpoint_off_grid133(警告)部品座標が1.27mm(50mil)グリッドに乗っていなかった全部品を1.27mmグリッドにスナップ
lib_symbol_mismatch4(警告)AO3400Aは本来extends BSS138の派生シンボル。展開して埋め込んだためライブラリ本体と差異が出る下記参照

lib_symbol_mismatch について

これは動作に影響しない表示上の警告です。KiCad 7の回路図フォーマットが extends を受け付けないため、生成側で展開する必要がありました。

解消したい場合は、KiCad 10で ツール → シンボルをライブラリから更新 を実行してください。 埋め込みコピーがKiCad 10のライブラリ版に置き換わり、警告が消えます。 接続には影響しません。

修正後の検証結果

  • 回路図・基板ファイルの読み込み: 成功
  • ネットリスト照合: 全22ネット・96接続点が完全一致
  • ワイヤ端点198点・ラベル99点・no_connect16点: すべてグリッド上(off-grid 0)
  • BOM部品数: 37点(PWR_FLAG 3点はBOM除外)

9. rev2.1 での変更(2026-09-19): 昇降圧DC-DC追加 + 4層化

9.1 なぜ必要だったか — 電源の設計欠陥

改訂前の電源経路は次のとおりでした。

text
VBAT (3.0-4.2V) --[D5 SS24, 約0.4V drop]--> VMCU --> U1(XIAO) pin14 "5V"
                        XIAO内蔵LDO --> +3V3 --> U2 GY-521, U3 BMP280

この基板には昇圧素子が1つもありません。 そのため電池電圧が 「3.3V + LDOドロップアウト」を下回れば、3V3 レールは必ず追従して下がります。

8520コアレスモーター4個で 6.5A を引くと電池は 3.7V→3.4V 程度に沈み、 そこから D5 の 0.4V を引いて VMCU ≈ 3.0V、さらに XIAO 内蔵 LDO の ドロップアウトを引くと 3V3 は 2.8〜2.95V。 ESP32-C3 の動作下限 3.0V を公称電圧ですら下回っており、 スロットルを上げた瞬間に MCU がリセットする状態でした。

D5 が 0.4V を捨てていたのが最大の要因です。

9.2 対策 — TPS63002 昇降圧DC-DC の挿入

text
VBAT --> U4 TPS63002 (昇降圧, 5V固定) --> [D5 SS24] --> VMCU --> XIAO 5Vピン
             |                                              XIAO内蔵LDO --> +3V3(変更なし)
             +-- L1 2.2uH, C10 10uF(in), C11 22uF(out), C12 0.1uF(VINA)
  • 電池が 3.0V まで落ちても出力5V固定。D5 で 0.4V 落ちても 4.6V が XIAO に入る。 内蔵LDO が 3.3V を作るのに必要なのは 3.5V 程度なので余裕1V以上
  • 3.3V を XIAO の 3V3 ピンに逆流注入せず、XIAO が本来想定する "5V" ピンから 入れているので、内蔵LDO と競合しない
  • +3V3 ネット(GY-521・BMP280)は一切変更していません
  • D5 は流用。向きも不変で、上流が VBAT から V5V に変わっただけ
  • 効率は昇圧90%×LDO66%=約60%だが、MCU消費0.33Wに対しモーターが24Wなので 損失増は全体の0.75%

9.3 4層化

層内容
L1 F.Cu信号 + U1/U2 + 既存の VBAT ベタ4枚(そのまま残置)
L2 In1.CuベタGND 全面 2949mm²
L3 In2.CuVBAT プレーン 全面 2811mm²
L4 B.Cu信号 + SMD部品 + GNDベタ

改訂前は 6.5A を 0.6mm トレースで流していました。内層プレーン全面に変更。 GND スティッチングビアを 133本、衝突判定付きで自動配置しています。

9.4 U4 のローカルクリアランス 0.1mm について

VSON-10 は 0.5mm ピッチ・パッド幅 0.28mm でパッド間が 0.22mm しかなく、 VBAT が属する Power ネットクラスの 0.25mm 要求を物理的に満たせません。 Power の 0.25mm はモーター大電流の配線・ベタ向けポリシーであり、 ファインピッチ IC のピン間に適用する意図ではないため、 U4 のフットプリントにローカル上書きを設定しています。 JLCPCB の製造限界は 0.1mm なので 0.22mm は十分製造可能です。

9.5 検証結果

項目改訂前改訂後
DRC エラー00
DRC 警告3237(増分5はすべてシルク重なり)
未配線アイテム41(改善)
schematic_parity00(回路図と基板が完全一致)
ERCwarning 5 / error 0warning 5 / error 0(同一)
既存部品のパッド-ネット変更—D5 pad2 の VBAT→V5V のみ

検証は kicad-cli pcb drc / kicad-cli sch erc で実施しています。 KiCad MCP の run_drc は未接続アイテムを検査しないため、 発注前の最終確認は必ず kicad-cli か GUI の DRC で行ってください。

9.6 まだ残っている課題

  • 未配線1件: GND ベタの孤立島が1つ残っています(改訂前は4件)。 電気的な害はありませんが、気になる場合は GUI で該当箇所を確認してください
  • シルク警告 29+3件: 新規部品 C10/C11/C12 のリファレンス文字が 隣接銅箔に重なります。この一角は部品とビアで埋まっており逃がす余地が ありませんでした。JLCPCB はパッド上のシルクを自動クリップします
  • Gerber / BOM / 実装座標は再出力していません。 4層基板として 出力し直す必要があります
  • 実機でのブラウンアウト解消は未検証です

9.7 改訂前の状態に戻すには

改訂前 (rev2) の状態は最初のコミットにそのまま記録してあります。 タグ rev2 / rev2.1 から参照できます。

text
git show rev2 --stat      改訂前の内容
git diff rev2 rev2.1      今回の改訂差分

git 導入前に使っていた手動チェックポイント (*.before-gy521, *.before-4layer など) とローカルのフルバックアップは、履歴で代替できるため追跡対象外にしています (.gitignore 参照)。

詳細な作業記録は docs/superpowers/plans/2026-09-19-buckboost-and-4layer.md。

Parts

45
QtyValueFootprintReferences
80.1uCapacitor_SMD:C_0603_1608MetricC3, C4, C5, C6, C7, C8, C9, C12
5SS24Diode_SMD:D_SMAD1, D2, D3, D4, D5
410kResistor_SMD:R_0603_1608MetricR3, R4, R5, R6
4150Resistor_SMD:R_0603_1608MetricR7, R8, R9, R10
4AO3400APackage_TO_SOT_SMD:SOT-23Q1, Q2, Q3, Q4
4MountingHole_2.2mmMountingHole:MountingHole_2.2mmMH1, MH2, MH3, MH4
2100kResistor_SMD:R_0603_1608MetricR1, R2
1100uCapacitor_SMD:CP_Elec_6.3x5.3C2
110uCapacitor_SMD:C_0805_2012MetricC10
12.2uHInductor_SMD:L_APV_ANR3015L1
1220uCapacitor_SMD:CP_Elec_6.3x5.3C1
122uCapacitor_SMD:C_0805_2012MetricC11
1BATTConnector_JST:JST_PH_S2B-PH-K_1x02_P2.00mm_HorizontalJ1
1BMP280Package_LGA:Bosch_LGA-8_2x2.5mm_P0.65mm_ClockwisePinNumberingU3
1GY-521Connector_PinHeader_2.54mm:PinHeader_1x08_P2.54mm_VerticalU2
1MOTOR_FLTestPoint:TestPoint_2Pads_Pitch2.54mm_Drill0.8mmJ2
1MOTOR_FRTestPoint:TestPoint_2Pads_Pitch2.54mm_Drill0.8mmJ3
1MOTOR_RLTestPoint:TestPoint_2Pads_Pitch2.54mm_Drill0.8mmJ4
1MOTOR_RRTestPoint:TestPoint_2Pads_Pitch2.54mm_Drill0.8mmJ5
1TPS63002Package_SON:VSON-10-1EP_3x3mm_P0.5mm_EP1.65x2.4mm_ThermalViasU4
1XIAO_ESP32C3seeed:XIAO-ESP32-C3-DIPU1

Similar boards

  • 2 layers100 × 100 mmPowerSubmodule, the printed circuit board in 3D

    PowerSubmodule

    SarahTallack/Power_Submodule

    Power submodule design for perch scale design project. Custom power supply PCB.

    59 parts
  • 4 layers23 × 54 mmXiao c3-ir rf, the printed circuit board in 3D

    Xiao c3-ir rf

    gjcourt/lab

    A curated list of 140 multidisciplinary engineering and skill-building projects

    15 parts
  • 2 layers52 × 32 mmSar pager, the printed circuit board in 3D

    Sar pager

    KingCountySAR/iot-beepers

    Bringing back our favorite pager alarms for those late night callouts

    17 parts
  • 2 layers163.5 × 163.5 mmSkull badge, the printed circuit board in 3D

    Skull badge

    b1uN7/DEFCON-26-Flying-Skull-Badge

    DEFCON 26 Flying Skull Badge

    111 parts15
  • 2 layers100 × 100 mmIapx432-sbc, the printed circuit board in 3D

    Iapx432-sbc

    quasiengineer/iapx432-sbc

    Board to run iAPX 432 GDP

    113 parts6
  • 2 layers65 × 45 mmSticky pi hat, the printed circuit board in 3D

    Sticky pi hat

    sticky-pi/sticky-pi-device

    Hardware and software for the Sticky Pi devices

    41 parts4
  • 4 layers98.5 × 193.5 mmSchematics, the printed circuit board in 3D

    Schematics

    apistol78/retrodack

    RetroDäck, handheld game console

    120 parts1MPL-2.0
  • 4 layers70 × 40 mmLora daq module, the printed circuit board in 3D

    Lora daq module

    danielkm-ee/lora_daq_module

    This board is powered by the Seeed Studios Wio-E5 LoRA module for use with it's designated antenna.

    81 parts1MIT

Questions

How big is the Minidrone fc PCB?

It measures 50 × 64 mm and has 4 copper layers, 0.8 mm thick.

What parts does the Minidrone fc use?

45 parts, built around the BMP280, TPS63002DRC, XIAO ESP32C3 and SS24. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.

Where can I download the Minidrone fc KiCad files?

From the yisikawa/minidrone_fc repository on GitHub, at the commit this page was made from: the board is minidrone_fc.kicad_pcb and its schematic minidrone_fc.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Minidrone fc design in my own project?

Its repository states no licence, so its author keeps all rights: ask yisikawa before reusing the design.