TL;DR: AIコーディングエージェント(Codex)に、Raspberry Pi CM4用のMini-ITX I/OボードをKiCad CLI経由で2日間設計させてみた。回路図ERCはエラー0、5V電源レールは486条件のDC解析を通過、配線も始まった。一方で電源設計は手強く、IRドロップや起動シーケンスと格闘中。開発ログ第1回として、現時点のスコアボードを正直に公開する。
英語版を dev.to にも投稿しています: https://dev.to/tomoyacreater/i-let-an-ai-agent-design-my-raspberry-pi-cm4-board-486-checks-later-heres-the-scoreboard-3094
やっていること
Raspberry Pi Compute Module 4(CM4)用のキャリアボードを設計している。正確に言うと、設計しているのは私ではなくAIエージェントだ。
エージェントは kicad-cli と自作の検査スクリプトを回し、ERC/DRC、回路図と基板のネット整合チェック、電源レールのDC解析を行い、引っかかった箇所を修正して再検査する、というループを回し続けている。私の仕事は検査レポートと描画結果を読むこと。「チャットボットに聞く」というより、寝ずに働いて全部記録してくれる、非常に速くて非常に素直な新人エンジニアを監督している感覚に近い。
仕様(少し変態)
- フォームファクタ: Mini-ITX、電源は ATX 24ピン
- DisplayPort ×1、HDMI ×1
- USB-A ×2、USB-C ×2
- PCIeスイッチ配下に PCIeスロット ×2 + M.2 ×2
CM4を知っている人ならすぐ分かる通り、CM4のPCIeはGen2 x1が1レーンだけ。DisplayPortもネイティブには無い。そこにATXのソフト電源制御まで含めて Mini-ITX に詰め込む、制約の塊みたいな題材をあえて投げている。
ループの道具立て
すべてCLIとスクリプト経由。GUIは開かない。
kicad-cli sch erc board.kicad_sch # 電気ルールチェック
kicad-cli pcb drc board.kicad_pcb # デザインルールチェック
# + 独自スクリプト: ネット整合、電源DC解析(公差込み)
検査 → 修正 → 再検査を数百イテレーション回している。
2日時点のスコアボード
- 回路図ERC: エラー0件、警告3件
- 回路図 ↔ 基板のネット不一致: 0件
- CM4 5VレールのDC解析: 486条件(基準電圧・抵抗の公差、温度係数、入力バイアス等)→ 出力範囲 4.909〜5.092 V。CM4の 5V ±5% 要求の内側で、低側マージンは約0.16 V
- メーカー電源モデルによる起動解析: 2回とも実行時間上限で中断。 起動・安定性は未判定のまま。本人は(エージェントは)それをはっきり「分からない」と言う。分からないことを分からないと言う道具は信用できる
- 配置段階では 未配線1,464区間、DRCエラー244件。配線が始まったので、この数字がようやく動き出した
8mm × 10mm のドラマ
このログを書こうと思ったきっかけが、電源部のクリアランスチェックだ。表面銅箔の信号配線(D4 TX N)が、裏面に実装されたMOSFET(電流シャント R900 の隣の Q901)のドレインパッドの投影領域を避けて通らなければならない。ドレインは大電流の電源ネットなので、エージェントは裏面パッドを表面ビューに投影し、1点ずつクリアランスを確認しながら配線を引いている。
地味で目立たない作業。でも、基板が動くかどうかを決めるのは結局こういう作業だ。
負けているところ(現時点)
- IRドロップ。 負荷時に電源レールが想定より落ちる。エージェント自身が検出し始めた
- 1.1Vレール の電圧降下もまだ大きい
- 拡張カード向けの電源シーケンス が未完成。CM4が起動してもPCIeカードがブラウンアウトしたら文鎮になる
- 電源段のMOSFET選定がまだオープン。 Rds(on) の損失に直結するので、IRドロップ問題と表裏一体。エージェントが候補を調査中
ちなみに現在のレイアウトのシルクには「UNROUTED ENGINEERING DRAFT / DO NOT FABRICATE」と書いてある。その通りである。
経験者の方に質問です
CM4キャリアボードを設計したことがある方:
- 下流のPCIeデバイス向け電源シーケンス、どう処理しましたか?
- 入力電源段のMOSFET、結局何に落ち着きましたか?
絶賛募集中です。自分で傷を負うより、先人の傷跡から学びたい。
第2回は配線が終わった頃か、起動解析が(タイムアウトせずに)完走した頃に書く予定。

