2018年3月30日金曜日

KiCad5に開発リポジトリのライブラリを紐付ける方法


背景

KiCadとは基板の設計ができるプログラムです。
Windows, Mac, 複数のLinuxディストリビューションなど、多くのOSに向けてリリースされています。

Download | KiCad EDA

そのKiCadには、4種類のライブラリが提供されています。

  • 回路部品(シンボル)
    回路図を作るのに使います。
  • フットプリント
    回路部品と紐付ける半田面であり、基板に配置する部品です。
  • 3Dモデル
    完成予想を表示するのに使います。
  • テンプレート
    ArduinoやRaspberry Piなど、メジャーなボード向けの基板レイアウトが既に作られているプロジェクトです。

Ubuntu17.10で確認したKiCad5にはこれらのライブラリが含まれていましたが、開発リポジトリで管理されている最新版ではありませんでした。
そのため、最新版のライブラリを利用したい場合は、開発リポジトリのライブラリを紐付ける必要があります。
(Nightly Build(開発版)には、これらのライブラリは含まれていません。)

備忘録と情報共有を兼ねて、開発リポジトリのライブラリをKiCadと紐付ける方法を紹介します。

全体像

  1. 使ったもの
  2. ライブラリをダウンロード
  3. パスを設定
  4. 設定ファイルを置き換え
  5. ライブラリのアップデート
  6. まとめ
  7. 参考

使ったもの

KiCad

プリント基板を設計できるプログラムです。
Version5.0で動作を確認しました。

使っているOSの説明に従ってインストールしてください。

Download | KiCad EDA

git

gitとはバージョン管理プログラムです。
KiCadのライブラリはgitでバージョン管理されています。
ライブラリはzipファイル形式でもダウンロードできるのですが、gitを使っておくと下記のような利点があるので、この記事ではgitを使います。
  • ライブラリのバージョンアップがzipファイルを使うより楽
  • KiCadのライブラリとして自分の作った部品を公開したいと思ったときに、zipファイルより行いやすい

欠点としてはコマンド操作が必要になることですが、パスの取得やファイルの移動などはコマンドの方が手軽な場面もあるので、初めての方も試してみる価値はあると個人的に思います。

ということで、それぞれのOSでのgitの設定方法を説明します。

Windows

下記のサイトからgit for Windowsのインストーラをダウンロードして、インストールします。

GIT for Windows

この記事で説明するファイル操作に関するコマンドは、このgit bashで実行できます。

下記のコマンドをgitbashに入力すると、gitのバージョンを確認できます。
git --version


Mac

デフォルトでインストールされているので、ターミナルにコマンドを入力することで利用できます。

下記のコマンドでバージョンを確認できます。
git --version


Ubuntu

ターミナルで下記のコマンドを実行すればgitをインストールできます。
sudo apt install git

下記のコマンドでバージョンを確認できます。
git --version



ライブラリをダウンロード

下記のコマンドで、ディレクトリ(gitprojects)の作成と、ライブラリファイルのダウンロードを行います。
「--depth 1」は、最新版だけをダウンロードするためのオプションです。
mkdir ~/gitprojects
cd ~/gitprojects
git clone https://gitlab.com/kicad/libraries/kicad-symbols.git
git clone https://gitlab.com/kicad/libraries/kicad-footprints.git
git clone https://gitlab.com/kicad/libraries/kicad-packages3D.git
git clone https://gitlab.com/kicad/libraries/kicad-templates.git

KiCad6の場合

cloneしたリポジトリはmasterブランチになっていて、2022年1月時点でそのブランチはv6用なので、そのまま利用できます。

KiCad5の場合

gitlabのmasterブランチはKiCad6用のファイル形式になっていてKiCad5だとエラーが発生して読み込めません。
KiCad5で利用する場合は、下記のようなコマンドでv5ブランチに切り替えてください。
cd ~/gitprojects/kicad-symbols
git fetch -p
git checkout --track origin/v5
cd ~/gitprojects/kicad-footprints
git fetch -p
git checkout --track origin/v5

masterに戻りたい場合は下記のコマンドで戻れます。
git checkout master

一度v5ブランチを有効にして別のブランチに移動したあとv5に戻りたい場合は、--trackオプションなしのcheckoutコマンドで戻れます。
git checkout v5

パスを設定

KiCadを起動し、Preferences -> Configure Paths を選択します。


パスの設定画面が出るので、それぞれのライブラリをダウンロードしたパスを設定します。


KICAD_SYMBOL_DIRに設定する回路部品ディレクトリのパスは、下記のコマンドで確認できます。
cd ~/gitprojects/kicad-symbols/
pwd

KICAD_TEMPLATE_DIRに設定するテンプレートディレクトリのパスは、下記のコマンドで確認できます。
cd ~/gitprojects/kicad-templates/
pwd

KISYS3DMODに設定する3Dモデルディレクトリのパスは、下記のコマンドで確認できます。
cd ~/gitprojects/kicad-packages3D
pwd

KISYSMODに設定するフットプリントディレクトリのパスは、下記のコマンドで確認できます。
cd ~/gitprojects/kicad-footprints/
pwd



設定ファイルを置き換え

KiCad5は、回路部品一覧をsym-lib-tableで、フットプリント一覧をfp-lib-tableで管理しています。
ダウンロードしたライブラリにそれらのファイルが含まれるので、そのファイルへのリンクを作り、KiCad読み込ませるファイルを更新します。
ファイルのコピーではなくリンクの方が、ライブラリを更新した場合に一覧ファイルも自動的に更新されるので、便利だと思います。

注意: Windowsの場合は、gitbashでlnコマンドは実行できますが、ファイルがコピーされるだけでリンクにはなりません。
そのため、ライブラリを更新するたびに設定ファイルも置き換えるのが良いと思います。

既にファイルがあってリンクが作れない場合はファイルを削除してください。
削除前にバックアップを作っておくと元に戻せます。

操作後にKiCadを再起動すると、設定したパスやファイルから、ライブラリが読み込まれます。

KiCad6の場合

バックアップ
mv ~/.config/kicad/6.0/sym-lib-table ~/.config/kicad/6.0/sym-lib-table-back
mv ~/.config/kicad/6.0/fp-lib-table ~/.config/kicad/6.0/fp-lib-table-back

バックアップしなくて良いなら削除
rm ~/.config/kicad/6.0/fp-lib-table
rm ~/.config/kicad/6.0/sym-lib-table

ライブラリのファイルへのリンクを作成
ln -s ~/gitprojects/kicad-symbols/sym-lib-table ~/.config/kicad/6.0/
ln -s ~/gitprojects/kicad-footprints/fp-lib-table ~/.config/kicad/6.0/

KiCad5の場合

バックアップ
mv ~/.config/kicad/sym-lib-table ~/.config/kicad/sym-lib-table-back
mv ~/.config/kicad/fp-lib-table ~/.config/kicad/fp-lib-table-back

バックアップしなくて良いなら削除
rm ~/.config/kicad/fp-lib-table
rm ~/.config/kicad/sym-lib-table

ライブラリのファイルへのリンクを作成
ln -s ~/gitprojects/kicad-symbols/sym-lib-table ~/.config/kicad/
ln -s ~/gitprojects/kicad-footprints/fp-lib-table ~/.config/kicad/

ライブラリのアップデート

git pullを実施することで、ダウンロードしたライブラリをアップデートできます。
cd ~/gitprojects/kicad-symbols/
git pull
cd ~/gitprojects/kicad-footprints/
git pull
cd ~/gitprojects/kicad-packages3D/
git pull
cd ~/gitprojects/kicad-templates/
git pull

設定ファイルをリンクでなくコピーしていたり、Windows(ファイルのリンク機能が使えない)を使っている場合は、設定ファイルも再度置き換えてください。

KiCadを再起動すると、更新したライブラリを読み込むと思います。

まとめ

KiCad5にgithubのライブラリを紐付けれました。

参考になれば嬉しいです。

参考

KiCad Libraries
Download Libraries
What is Git Checkout Remote Branch? How It Works, When to Use It, Examples, Tutorials, & More

変更履歴

2018.09.02
KiCad5.0がリリースされたので、それに合わせて「使ったもの」の「KiCad」の記述を変更しました。
KICAD_TEMPLATESがKICAD_TEMPLATES_DIRに変わっていたので、パスの設定方法を変更しました。

2019.09.02
コマンドの一部で「gitprojects」を「gitporjects」と間違えていたので修正しました。

2019.12.01
git clone時に「--depth 1」オプションを付けていましたが、それをするとgit pullができないことがあるので、オプション無しのgit pullに変更しました。

2021.03.13
KiCadのライブラリの管理がgithubからgitlabに移っていたので、記事内のurlをそれに合わせて変更しました。ライブラリ本体はgitlabでの管理になりましたが、説明ページはgithubでの運用が続いているようなので維持しています。
記事名を「KiCad5にgithubのライブラリを紐付ける方法」から「KiCad5に開発リポジトリのライブラリを紐付ける方法」に変更しました。

2021.03.23
gitlabのsymbolのmasterブランチはKiCad6向けのファイルに変更されていたため、KiCad5で利用する場合のためにv5ブランチを利用するコマンドを追加しました。

2021.01.25
KiCad6.0向けの手順を追加しました。

2 件のコメント :

Unknown さんのコメント...

mkdir ~/gitp`or'jects
ではなく
mkdir ~/gitp`ro'jects
ではないですか?

Asuki Kono さんのコメント...

仰るとおりです。
該当箇所を修正しました。
指摘ありがとうございます。