KiCad 2.50mmピンヘッダーフットプリント

Category: 電子工作
Tag: KiCad

Note

完成したライブラリや使い方はこちらで公開しています。
https://git.moris.day/moris/KiCad_PinHeader_2.50mm

ヤードポンド法を滅ぼせ

回路設計をしていると2.54という数字を目にすることが多々あります。2.54mmはおよそ0.1インチで、ヤードポンドが主流の時代の名残(?)です。
しかし、時代はメートル法。最近のSMD部品などはmm単位であることが多く、0.1インチピッチでは不都合が生じることがあります。
2.54mmでは微妙、2.50mmならメートル法でキリが良いのに...

ということで、2.50mmピッチのフットプリントを作ることにしました。
もちろんフットプリント上の話なので、実際のピンヘッダのサイズは相変わらず2.54mmですが、0.04mmくらいなら誤差みたいなものなので数ピン程度なら問題ないでしょう。

Tip

後でKiCad上で試したところ、通常の2.54mmピンヘッダでも4ピンまでは刺さるようです。
また、秋月で販売されている細ピンヘッダなら10ピンまで刺さります。

しかし、作ろうにも標準のライブラリではピッチごとに100種類以上ものフットプリントがあり、手作業で全て作るのは現実的ではありません。
流石に自動化されているだろうとピンヘッダのフォットプリントをテキストエディタで見てみると、generator "kicad-footprint-generator"とあり、やはりツールで自動生成しているようです。
以下のリポジトリがそのツールのようです。
KiCad Footprint and 3D model Generator · GitLab

ピンヘッダ以外にも抵抗やコンデンサのフットプリントを生成するスクリプトもあります。

生成手順

生成したフットプリントは公開していますが、一応、生成の手順も記しておきます。

Note

  • macOS
  • brew, python3導入済み

導入

リポジトリをクローン

git clone https://gitlab.com/kicad/libraries/kicad-footprint-generator.git

cd kicad-footprint-generator

仮想環境の作成

python3 -m venv venv

source venv/bin/activate

依存関係のインストール

brew install coreutils

./manage.sh update_dev_packages

実行

PinHeader

cd scripts/Pin-Headers_Socket-Strips/

./generate.sh

実行するとカレントディレクトリにいろんなピッチのフットプリントが生成されます。

しかし、今回欲しいのは2.50mmピッチのフットプリントです。
見てみればわかりますが、シェルスクリプトの中身は同じディレクトリのmake_pin_headers.pyを実行しているだけです。make_pin_headers.pyでは変数を宣言→生成を愚直に繰り返しているので、値が2.54となってるそれっぽい変数を2.50に置き換えれば良さそうです。

再度実行すると先ほどのフットプリントに並びConnector_PinHeader_2.50mm.prettyが生成されました。
これをKiCadのグローバルライブラリに追加し、フットプリントエディタで確認すると2.50mmピッチのピンヘッダができていることがわかります。

PinSocket

先ほどのディレクトリにmake_socket_strips.pyというファイルがあり、ピンヘッダも生成出来そうですが、generate.shにコメントで

These are now generated by Connector_PinSocket

とあり、このpythonファイルを実行する部分がコメントアウトされています。

ピンヘッダではコード中の変数でサイズを定義していましたが、こちらはsize_definitionsディレクトリのyamlファイルで定義する形式になっています。
SMD用とTHT用の2種類があるので両方ともそれっぽく書き換えてgenerate.shを実行すると2.50mmピッチのピンソケットが生成されます。

cd scripts/Connector_PinSocket/

./generate.sh

Note

書き換えたピンヘッダのpythonスクリプトとピンソケットのyamlファイルはフットプリントと一緒に公開しています。
https://git.moris.day/moris/KiCad_PinHeader_2.50mm