Geminiにはんだ付けをサポートするサイトを作ってもらった
はじめに
はんだ付け初心者の友人に自作基板の実装を手伝ってもらったのですが、
- 設計通りの値の素子をつけたか自信がない
- 実装し忘れている部品がある
- 基板ごとに実装状況が異なる
などの珍事件(?)が多発してしまい、基板の動作確認になかなか入れないというエラーが発生しました。そこでこういった事態を防ぐべく、基板のはんだ付けをサポートしてくれるサイト(ソフトウェア)を開発したいと考えました。
しかしながら、私のWebに関する知識は初心者に毛が生えたレベルであったため、Geminiに制作のほとんどをお願いしました。すると、かなり良いものができたため、皆さんに共有すべく、記事を執筆しております。
作りたいもの
詳細な要件定義等はせず、見切り発車をしてしまいましたが、なんとなく作りたいなあと考えていたイメージは以下のような感じです。
- はんだ付けに関する技術さえあれば、基板の実装をスムーズに行えるようなサポートをする
-
*.kicad_pcb
のアップロードだけで使えるようにする - 素子を順に表示し、実装する場所や値(抵抗なら抵抗値)を表示する
- 後から、実装状況(ログ)をダウンロードできるようにする
ひとまず、これらのイメージを生成AIに投げつけるところから始めました。
Geminiによる生成
使用したGeminiに関する詳細は以下の通りです。
- モデル
- Gemini 2.5 Pro with Canvas
- プロンプト
- 今から自作基板のはんだづけをサポートするWEBアプリを作りたい。*.kicad_pcbをアップロードしたら、左側に基板の全体図が表示されて右側の上部につけるべき素子の型番やサイズ、値が表示され、下側に「つけた」・「すでについていた」・「未実装のまま」ボタンがあって、管理できるようにして欲しい。
Geminiのコーディング能力は凄まじく一発目からなかなか良いデザインのサイトを生成してくれましたが、肝心の*.kicad_pcb
の読み取りに失敗してしまいました。そこで、サンプルとして*.kicad_pcb
を送り、解析・改善してもらったところ、数回で自分のイメージ通りの働きをしてくれるサイトが完成しました。
しかしながら、まだユーザに優しいインターフェースにこだわった生成をすることが不得手なようで、無駄なスクロールが多かったり、はみ出しや不揃いなどのデザイン崩れが存在したりと残念な点が多かったので、そういった点は逐次Geminiにお願いしたり、自身で修正したりすることでどんどんと修正することができました。(GeminiのCanvas機能はなんとユーザがコードの編集をし、それを生成結果に反映させることが可能です!AIと共にコーディングを行う時代ってわけですね...。)
その後は自信が所属する衛星開発プロジェクトの友人に使ってもらい、意見を聞きながら、さまざまな機能(はんだ付けの順番変更機能など)を追加・修正し、初期版としてリリースできるレベルにまで到達することが出来ました!
本サイトの名前は『KiCad はんだ付けアシスタント』です。Geminiによる命名だと一瞬で見抜かれてしまいそうな名前ですが、その点を逆に気に入ったため、そのままGeminiによる命名を採用した形です。
Geminiとひたすら会話する様子
完成品
無事Geminiとの長い会話(喧嘩?)を終え、自信が満足できる初期版が完成したため、2025年8月27日に初期版をリリースしました。本サイトはフロントエンドのみで実装されているため、皆さんのパソコン上で簡単に利用することができますし、基板データが外部に送信されることもないため、安心して利用することができます。
KiCad はんだ付けアシスタントを利用する様子
ご利用はGitHubのリポジトリよりどうぞ。(導入方法などの詳細はREADME.md
をご覧ください。)
また、GitHub Pages でも公開しておりますので、ぜひお気軽にご利用ください。導入の作業が一切いらないため、基本こちらでの利用をお勧めします。
さいごに
自身でも何度か利用してみましたが、はんだ付けに慣れていない人が部品数の少ない基板を実装する際にはかなり有用なサイトになっているのではないかと思います。まだまだものづくりにも、Web開発にも未熟な私でありますので、改善点やバグ報告等ございましたら、先述のリポジトリのissue
やPull Request (PR)
よりお願いいたします。どんどんものづくりに優しいサイトへと進化させていくことができればと思います。
Discussion