プログラミング
初めてのPCBの設計と組み立て
Designing and assembling my first PCB (vilkeliskis.com)
要約
この記事は、著者が初めてプリント基板(PCB)の設計と組み立てを行った体験談です。Arduino Nano ESP32開発ボードから始まり、LLMの助けを借りてLEDを点滅させ、コマンドラインからファームウェアをビルド・フラッシュできるようになりました。その後、LCDとBME280センサーモジュールを接続し、より本格的な開発のために、BME280センサーモジュールを自分で設計することに挑戦しました。KiCadを使用して回路図とPCBレイアウトを作成し、DigiKeyで部品を調達し、JLCPCBにPCB製造を依頼しました。最終的には、はんだ付けツールを使って自分で組み立てました。
全文翻訳
初めてのPCBの設計と組み立て 公開日:2026年7月11日
始まり
数ヶ月前、私はArduino Nano ESP32開発ボードを購入しました。ハードウェアをいじりたいという衝動に駆られたのです。10年以上前にIoT企業でファームウェアを扱った経験はありますが、それ以外にはこの分野での経験はほとんどありません。しかし、長年たくさんのソフトウェアを書いてきました。Arduino IDEとLLMの助けを借りて、内蔵LEDを点滅させるのに驚くほど早く成功しました。その後、カスタム抽象化に対処することなく、コマンドラインから直接ファームウェアをビルドしてフラッシュする方法を理解することに進みました。私はCLIから操作するのが好きです。それも比較的簡単で、コードを扱うための通常のツール(nvim)に戻れる自信を与えてくれました。
開発ボード自体には、それほど多くの機能はありません。次に周辺機器を手に入れようと思い、小型LCDとBME280温度・湿度センサーのブレークアウトボードを注文しました。これら両方をESP32チップに配線し、I2Cプロトコルで通信させることができました。
図1:Arduino Nanoとブレッドボード経由で接続されたランダムなものといじっている様子。
当然ながら、様々な理由で既存のモジュールを組み立て続けることはできません。プロトタイピングには素晴らしいと思いますが、プロトタイピング段階からはできるだけ早く抜け出し、より「リリース」または「プロダクション」のワークフローに入りたいです。Arduinoボードをこれらのコンポーネントすべてを配線して再現し、ブレッドボードを捨てようかと考えました。それは素晴らしいアイデアでしたが、少し野心的すぎると感じました。コンポーネントが多く、すべてをテストするのが難しくなるでしょう。代わりに、BME280センサーモジュールを作成することにしました。これにより、回路図から始まりカスタムPCBで終わる設計に必要なものを把握できるでしょう。上の写真には、Amazonから購入した小さな茶色のボードが見えますが、それはBME280センサーボードで、わずかなコンポーネントしかありません。すべてが計画通りに進めば、カスタムボードに交換しても、以前と同じようにすべてが動作するはずです。それが計画でした。
回路図とPCB設計
回路図/PCB設計にはいくつかのツールがあるようです。Mac OSで動作し、無料のものを必要としていました。EasyEDAを称賛する人もいれば、KiCadを好む人もいます。このトピックについてはあまり調査しませんでしたが、どちらも要件を満たすだろうと思いましたが、無料のGPLライセンスソフトウェアであるKiCadを選びました。
すべてのセンサー、チップ、コンポーネントには、データシートと呼ばれるものが付属しています。データシートは、メーカーが提供する技術文書で、コンポーネントの機能、動作温度、リフロー(はんだ付け)温度曲線、サイズと正確な寸法、配線例、その他コンポーネントによって異なる多くの情報が記載されています。私のセンサーモジュールでは、プラグアンドプレイにするために、BME280をI2Cインターフェース用に配線する必要がありました。Amazonで購入したモジュールは、実際にはI2CとSPIの両方をサポートしています。したがって、私がやっていることは正確なコピーではなく、より狭い実装です。BME280のデータシートは、38ページからピン配置と接続図を提供しています。実際、SPIとI2C接続の両方の例が提供されています。私は提供されたI2C接続図を取り、それをKiCadに転送しました。
図2:私のセンサーモジュールの回路図設計。
KiCadを初めて使うユーザーにとって最も直感的なアプリケーションとは言えないでしょう。しかし、データシートに示されている通りの正確な回路図を描くことができました。回路図をPCBに転送するには、各コンポーネントに対してフットプリントと呼ばれるものを選択する必要があります。例えば、BME280センサーは1種類しかなく、利用可能な形状/サイズ(別名フットプリント)は1つしかありません。抵抗器やコンデンサのような一般的な汎用コンポーネントの場合はそうではありません。選択するフットプリントは、ボードのサイズ、組み立ての容易さ、そしておそらく私が知らない他の多くの要因(熱放散など)を決定します。
私の調査を通じて、SMDとTHTコンポーネントに最も一般的に遭遇することを発見しました。THT、つまりスルーホールコンポーネントは、より昔ながらの技術(古いわけではありませんが)で、一般的にサイズが大きく、コンポーネントの足をPCBの穴に通して、後ではんだ付けしてボードに取り付けます。これはほとんどの場合、通常のはんだごてで行うことができます。SMDは表面実装デバイスの略で、ほぼすべての最新の電子機器に見られます。それらはサイズがはるかに小さく、サイズが小さくなるにつれて、取り付けにはより専門的な機器が必要になります。
KiCadのフットプリントライブラリを見始めたとき、使用しようとしているコンポーネントの正確なブランドのフットプリントを見つける必要があるのかどうか、すぐに明確ではなかったため、非常に混乱しました。多くの一般的なSMDコンポーネントは標準化されたフットプリントを持っています。それらは1206、0805、0603などの標準コードに従っており、これは1206コンポーネントの場合、0.12インチx 0.06インチ(3.2mm x 1.55mm)の寸法に相当します。私は0805サイズを選びました。これは手はんだ付けに適しているように見えましたが、限界に近いものでした。
各コンポーネントにフットプリントを割り当てた後、それらをPCBエディタにインポートしてPCBをレイアウトできます。
図3:KiCad PCBエディタでの私のセンサーモジュール。
図4:モジュールの3Dプレビュー。
レイアウトプロセスはそれほど複雑ではないように見えましたが、配線のルーティング方法には注意が必要です。そうしないと、他の配線が目的地に到達できなくなる可能性があります。私はボードの前面レイヤーにすべてをレイアウトすることができました。私が特別に行ったこと(おそらくそれほど特別ではないかもしれませんが)は、前面と背面の空きスペースをグラウンドで埋め、次にビアを使用して前面と背面を接続することでした。これは、PCB設計で一般的に使用されるパターンです。そうでなければ、私が作っているような小さくてシンプルなボードでさえ、配線をブロックせずにルーティングするのは非常に難しくなる可能性があります。
コンポーネントの調達とPCBの注文
コンポーネントの検索も興味深いものでした。私はDigiKeyからコンポーネントを購入しました。ただし、在庫が限られている場合に備えて、複数の電子部品店にアカウントを持っているのがおそらく最善です。BME280センサー自体を除いて、DigiKeyですべてのコンポーネントを見つけることができました。BME280センサーはいくつかのサイトで在庫切れで、バックオーダーの処理に数ヶ月かかるように見えました。私はBME280をスキップし、以前購入したAmazonモジュールから剥がすことにしました。抵抗器とコンデンサは比較的簡単に見つかりました。正しいフットプリントと設定(抵抗値など)を選ぶのに注意するだけでした。
KiCadは部品表(BOM)を生成することもできます。これは、コンポーネントとその設定、およびそれらが配置されるべき場所のリストにすぎません。PCBメーカーは、BOMを提供すれば、場合によっては組み立てを代行してくれます。私はそうせず、自分で組み立てて感触を得たかったのです。
図5:BOM。
PCBを注文するには、ガーバーファイルとドリルファイルをエクスポートする必要があります。ガーバーファイルはトレースレイアウトを定義し、ドリルファイルはCNC加工用です。私は両方をデフォルト設定でエクスポートし、ZIPファイルにパッケージ化してJLCPCBに提供しました。そこから注文フォームを完成させます。私は多くの変更を加えませんでしたし、デフォルト設定を使用しました。JLCPCBは中国の会社で、注文からドアまでの配達は約2〜3週間で、10ドル未満でした。より速いオプションもありますが、配達費用が高額になります。
私のツールと組み立て
現在のホームラボの一部として、私は2つのはんだ付けツールとマルチメーターしか持っていません。Hakko FX888DX-010BY
図6:Hakko FX888DX-010BYはんだごて。
このはんだごてを購入したのは、温度を制御でき、レビューがかなり良いためです。非常に速く加熱します。通常、はんだごては650F(約343℃)で使用します。しかし、温度調整は重要なので、コンポーネントを損傷しないように、正確な温度を知ることが重要です。Quick 861DW
図7:Quic