
PowerSubmodule
SarahTallack/Power_Submodule
Power submodule design for perch scale design project. Custom power supply PCB.

KiCADによるdrone基板作成
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.
1S LiPo / 8520コアレスモーター×4 / 目標58g・上限70g
回路図は生成済みです。手で描く必要はありません。
D:\KicadProjects\ などに置く(D:\Kicad
の中には置かないでください。KiCad更新時に消える可能性があります)minidrone_fc.kicad_pro をダブルクリック.kicad_sch)を開くKiCad 10で開くとファイル形式の変換確認が出ます。 このプロジェクトはKiCad 7形式で生成されているためです。 「はい」で変換してください。以後は10形式で保存されます。
U1のフットプリントは意図的に空欄にしてあります。 XIAOはKiCad公式ライブラリに含まれず、環境によってライブラリ名が 変わるため、こちらで決め打ちできませんでした。
手順:
Seeed Studio XIAO Series Library/ 内の .kicad_sym を
設定 → シンボルライブラリを管理 から追加.pretty フォルダに入っていないと認識されません。
単体の .kicad_mod ファイルの場合は Seeed_XIAO.pretty という
フォルダを作って中に移動してから、
設定 → フットプリントライブラリを管理 で追加Seeed_XIAO:XIAO-ESP32C3-SMD のような実際の名前を入力U1のシンボル自体はこのプロジェクト内の minidrone.kicad_sym に
同梱してあるので、シンボルライブラリの導入は必須ではありません。
必要なのはフットプリントだけです。
このプロジェクトは生成後、KiCadのエンジン(kicad-cli)で 以下を実機検証しています。
| 検証項目 | 結果 |
|---|---|
| 回路図ファイルの読み込み | 成功 |
| 基板ファイルの読み込み | 成功 |
| 部品点数 | 37点(設計意図と一致) |
| フットプリント割り当て | 全点一致(U1除く) |
| ネット数 | 22ネット |
| 接続点の総数 | 96点 |
| ネットリスト照合 | 全ネット完全一致 |
| 意図しない結線 | なし |
| 未結線ピン | 16点(すべてno_connect指定済み) |
つまり、書き出したネットリストが設計表と1本残らず一致することを 確認済みです。回路図の入力ミスはありません。
基板化の過程で判明した誤りを訂正しています。
| 項目 | 変更前 | 変更後 | 理由 |
|---|---|---|---|
| 極性コンデンサ | Device:CP | Device:C_Polarized | CPはKiCad 5時代の名前。現行ライブラリに存在しない |
| フライバックダイオード | SS14 | SS24 | SS14は1A定格。モーター電流1.62Aに対し余裕が乏しい。SS24は2A定格で、フットプリントは同じD_SMAなのでレイアウト変更不要 |
| C3〜C6の接続先 | Qのドレイン–ソース間 | VBAT–GND間 | 高周波電流ループを閉じるのは電源側。低側スイッチではこちらが標準 |
| PTCヒューズ・電源SW | あり | 削除 | 6.5Aでは直列抵抗による電圧降下が推力損失に直結する |
| XIAOピン | GPIO | ネット | 備考 |
|---|---|---|---|
| D0 | GPIO2 | 未使用 | ストラッピングピン。使用不可 |
| D1 | GPIO3 | BATT_SENSE | ADC1。Wi-Fi動作中も使える |
| D2 | GPIO4 | GATE_FL | |
| D3 | GPIO5 | GATE_FR | |
| D4 | GPIO6 | SDA | |
| D5 | GPIO7 | SCL | |
| D6 | GPIO21 | GATE_RL | |
| D7 | GPIO20 | IMU_INT | MPU6050のデータレディ割り込み |
| D8 | GPIO8 | 未使用 | ストラッピングピン |
| D9 | GPIO9 | 未使用 | BOOTピン |
| D10 | GPIO10 | GATE_RR |
A0はD0と同一ピンです。 そしてGPIO2はストラッピングピンなので、 電圧センスはD1(GPIO3)に置いてあります。またESP32-C3のADC2は Wi-Fi動作中に使えないため、ADC1に属するピンでなければなりません。
D7をIMU割り込みに使っているので、将来UART受信機を追加する場合は 再割り当てが必要です。
フライバックループの面積を最小化してください。 モーターOFFの瞬間、逆起電力が モーター → D → VBAT → モーター を 流れます。このループが囲む面積がそのままノイズの放射源になり、 MPU6050の読み値を汚します。D1〜D4は必ずモーターパッドの真横に、 ビアを挟まずに配置してください。
初版に対してERCを実行した結果、エラー3件・警告137件を修正しました。
| 症状 | 件数 | 原因 | 対応 |
|---|---|---|---|
power_pin_not_driven | 3(エラー) | XIAOの3V3ピンをpower_inと定義していた。実際はレギュレータ出力。またGND/VMCUに駆動源が明示されていなかった | 3V3をpower_outに修正。VBAT/GND/VMCUにPWR_FLAGを追加 |
endpoint_off_grid | 133(警告) | 部品座標が1.27mm(50mil)グリッドに乗っていなかった | 全部品を1.27mmグリッドにスナップ |
lib_symbol_mismatch | 4(警告) | AO3400Aは本来extends BSS138の派生シンボル。展開して埋め込んだためライブラリ本体と差異が出る | 下記参照 |
これは動作に影響しない表示上の警告です。KiCad 7の回路図フォーマットが
extends を受け付けないため、生成側で展開する必要がありました。
解消したい場合は、KiCad 10で ツール → シンボルをライブラリから更新 を実行してください。 埋め込みコピーがKiCad 10のライブラリ版に置き換わり、警告が消えます。 接続には影響しません。
改訂前の電源経路は次のとおりでした。
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 を捨てていたのが最大の要因です。
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)| 層 | 内容 |
|---|---|
| L1 F.Cu | 信号 + U1/U2 + 既存の VBAT ベタ4枚(そのまま残置) |
| L2 In1.Cu | ベタGND 全面 2949mm² |
| L3 In2.Cu | VBAT プレーン 全面 2811mm² |
| L4 B.Cu | 信号 + SMD部品 + GNDベタ |
改訂前は 6.5A を 0.6mm トレースで流していました。内層プレーン全面に変更。 GND スティッチングビアを 133本、衝突判定付きで自動配置しています。
VSON-10 は 0.5mm ピッチ・パッド幅 0.28mm でパッド間が 0.22mm しかなく、 VBAT が属する Power ネットクラスの 0.25mm 要求を物理的に満たせません。 Power の 0.25mm はモーター大電流の配線・ベタ向けポリシーであり、 ファインピッチ IC のピン間に適用する意図ではないため、 U4 のフットプリントにローカル上書きを設定しています。 JLCPCB の製造限界は 0.1mm なので 0.22mm は十分製造可能です。
| 項目 | 改訂前 | 改訂後 |
|---|---|---|
| DRC エラー | 0 | 0 |
| DRC 警告 | 32 | 37(増分5はすべてシルク重なり) |
| 未配線アイテム | 4 | 1(改善) |
| schematic_parity | 0 | 0(回路図と基板が完全一致) |
| ERC | warning 5 / error 0 | warning 5 / error 0(同一) |
| 既存部品のパッド-ネット変更 | — | D5 pad2 の VBAT→V5V のみ |
検証は kicad-cli pcb drc / kicad-cli sch erc で実施しています。
KiCad MCP の run_drc は未接続アイテムを検査しないため、
発注前の最終確認は必ず kicad-cli か GUI の DRC で行ってください。
改訂前 (rev2) の状態は最初のコミットにそのまま記録してあります。
タグ rev2 / rev2.1 から参照できます。
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。
| Qty | Value | Footprint | References |
|---|---|---|---|
| 8 | 0.1u | Capacitor_SMD:C_0603_1608Metric | C3, C4, C5, C6, C7, C8, C9, C12 |
| 5 | SS24 | Diode_SMD:D_SMA | D1, D2, D3, D4, D5 |
| 4 | 10k | Resistor_SMD:R_0603_1608Metric | R3, R4, R5, R6 |
| 4 | 150 | Resistor_SMD:R_0603_1608Metric | R7, R8, R9, R10 |
| 4 | AO3400A | Package_TO_SOT_SMD:SOT-23 | Q1, Q2, Q3, Q4 |
| 4 | MountingHole_2.2mm | MountingHole:MountingHole_2.2mm | MH1, MH2, MH3, MH4 |
| 2 | 100k | Resistor_SMD:R_0603_1608Metric | R1, R2 |
| 1 | 100u | Capacitor_SMD:CP_Elec_6.3x5.3 | C2 |
| 1 | 10u | Capacitor_SMD:C_0805_2012Metric | C10 |
| 1 | 2.2uH | Inductor_SMD:L_APV_ANR3015 | L1 |
| 1 | 220u | Capacitor_SMD:CP_Elec_6.3x5.3 | C1 |
| 1 | 22u | Capacitor_SMD:C_0805_2012Metric | C11 |
| 1 | BATT | Connector_JST:JST_PH_S2B-PH-K_1x02_P2.00mm_Horizontal | J1 |
| 1 | BMP280 | Package_LGA:Bosch_LGA-8_2x2.5mm_P0.65mm_ClockwisePinNumbering | U3 |
| 1 | GY-521 | Connector_PinHeader_2.54mm:PinHeader_1x08_P2.54mm_Vertical | U2 |
| 1 | MOTOR_FL | TestPoint:TestPoint_2Pads_Pitch2.54mm_Drill0.8mm | J2 |
| 1 | MOTOR_FR | TestPoint:TestPoint_2Pads_Pitch2.54mm_Drill0.8mm | J3 |
| 1 | MOTOR_RL | TestPoint:TestPoint_2Pads_Pitch2.54mm_Drill0.8mm | J4 |
| 1 | MOTOR_RR | TestPoint:TestPoint_2Pads_Pitch2.54mm_Drill0.8mm | J5 |
| 1 | TPS63002 | Package_SON:VSON-10-1EP_3x3mm_P0.5mm_EP1.65x2.4mm_ThermalVias | U4 |
| 1 | XIAO_ESP32C3 | seeed:XIAO-ESP32-C3-DIP | U1 |

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

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

KingCountySAR/iot-beepers
Bringing back our favorite pager alarms for those late night callouts





danielkm-ee/lora_daq_module
This board is powered by the Seeed Studios Wio-E5 LoRA module for use with it's designated antenna.
It measures 50 × 64 mm and has 4 copper layers, 0.8 mm thick.
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.
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.
Its repository states no licence, so its author keeps all rights: ask yisikawa before reusing the design.