KiCAD Tips

ピン名の上にバーを入れる

ピン名を ~ (チルダ) で始める。~RESET など。もう一度 ~ を入れると、それ以降はまたバーなしになる。

電源パーツ作成

フィールドリファレンスを #PWR にする。さらに、ピンに番号 1 を指定し、ピン名をコンポーネント名と同じ名前にする。コンポーネントのプロパティで電源シンボルにチェックを入れる。

3D モデルの指定に環境変数を使用

${ENV} などと指定する。以下のようにするとプロジェクトのアドレス相対となる。

${KIPRJMOD}/models/foo.wrl

3D ビューの原点を調整

3D ビューの原点は全てのコンポーネントの中心になるようです。そこで、Dwgs.User レイヤーに原点を中心とする四角形などを描くことで原点位置を調整できます。

mm 単位で作成した 3D wrl ファイルの倍率

各方向 0.3937 倍。

フットプリントの割り当てが反映されない時

KiCAD BZR 5800 の頃に Eeschema (回路編集)と Cvpcb (フットプリント割り当て)の関係が変更されてフットプリントの割り当てがうまくいかない気がすることがあります。以下のような手順で Eeschema から Pcbnew (基板編集) までを行います。

  1. Eeschema で回路編集、ここでネットリストを出力する必要なし (以前は Cvpcb に移る前にネットリストを出力していた)
  2. Cvpcb でフットプリントを割り当て、保存すると Eeschema に変更が送られる
  3. Eeschema でネットリストを出力、Cvpcb からの変更が反映されているので、回路図のファイルも保存すること
  4. Pcbnew に移り、ネットリストを読み込む

Eeschema でフットプリントの割り当て

普段はフットプリントの割り当ては Cvpcb で行いますが、Eeschema でも割り当てることができます。

コンポーネントの編集ダイアログで Footprint フィールドの値がフットプリントの割り当てになります。
右端にあるフットプリント割り当てボタンで割り当てられます。Footprint フィールドの表示をオフにしておかないと回路図中に表示されてしまいます。
コンポーネントコンテキストメニュー - コンポーネント編集 - フットプリントからも設定できます。

ゾーン内にゾーンがあるエラーが出るとき

ゾーン内に他のゾーンがあるときに DRC エラーが出る場合、ゾーンに優先順位を指定してやります。

  1. ゾーンの編集ダイアログを開く
  2. Priority level を1以上にする

無名のトラックを他のトラックに繋ぐ

サブトラックを削除していると無名のトラックができたりします。名前付きのトラックなどに繋ぎたい時には、一時的に "Disable design rule checking" を選択、トラックを接続した後でデザインルールチェックを掛けます。
配線時のデザインルールチェックはオンに戻しておいたほうがいいでしょう。

IDFv3 ファイルを FreeCAD で STEP ファイルに変換

3D CAD ソフトなどにボードの外形を取り込みたい場合、IDFv3 フォーマットで保存して FreeCAD などで互換性のあるフォーマットに変換します。どの形式のファイルがインポートできるかは利用する CAD ソフトに依存します。

  1. Pcbnew - File - IDFv3 Export
  2. パスを選択して保存
  3. FreeCAD で *.emn ファイルを開く
  4. Board_outline オブジェクトを選択
  5. File - Export... から STEP などの形式を選択してエクスポート
  6. 対象のソフトでインポート

マクロで行うには次のようにします。以下のコードは Idf モジュールで FreeCADGui モジュールを使用しているため、コマンドラインのみのインターフェースでは動作しません。idf_to_step.FCMacro ファイルとして保存して FreeCAD - Macro - Macros... から実行します。

path = u"/mnt/hd/docs/kicad/LT/data.emn"
out_ = u"/mnt/hd/docs/kicad/LT/data.step"

doc = App.newDocument("Unnamed")
App.ActiveDocument = doc
Gui.ActiveDocument = doc
import Idf
try:
    Idf.process_emn(doc, path)
except Exception as e:
    print(e) # no footprints_models.csv
__objs__=[]
__objs__.append(doc.getObject("Board_outline"))
#Gui.SendMsgToActiveView("ViewFit")
import ImportGui
ImportGui.export(__objs__, out_)
del __objs__

モジュール - リファレンス間のへその緒の色を変更

pcbnew でリファレンスを移動させたときに結び付けられたモジュールを示す青線はへその緒と呼ぶらしい。
黒色の背景に細い線は見えにくいため色を変更する。色はソースコードに決め打ちのため、変更して再コンパイルが必要。

pcbnew/pcb_painter.h

// Line 1056
    // Draw the umbilical line
    if( aText->IsSelected() )
    {
        m_gal->SetLineWidth( m_pcbSettings.m_outlineWidth );
        m_gal->SetStrokeColor( COLOR4D( 0.0, 0.0, 1.0, 1.0 ) );
        m_gal->DrawLine( position, aText->GetParent()->GetPosition() );
    }

COLOR4Dの指定を変更する。

テンプレートの作成方法

既存のプロジェクトをテンプレート化します。

  1. 必要な設定を行ったプロジェクトを用意、ここでは Project ディレクトリに保存されているものとみなします。
  2. テンプレート用のディレクトリを作成、ここでは templates/ とします。
  3. テンプレート用ディレクトリにプロジェクトをディレクトリごとコピー
  4. プロジェクトディレクトリ/meta/ ディレクトリを作成
  5. meta/ ディレクトリ以下に info.html および icon.png ファイルを作成

ディレクトリ構成は以下のようになります。

+ templates/
|- Project/
 +- meta/
 |+- info.html
 |+- icon.png
 +- Project.pro
 +- ... 以下略

info.html ファイルは簡単な HTML でかまいません。

<html>
<head>
<title>Tutorial - footprint1</title>
</head>
<body>
<h1>Template for footprint1 tutorial</h1>
<p>This template provides basic settings for footprint1 tutorial.</p>
<h2>License</h2>
<p>Public domain.</p>
<p>You can use this template for your project or your new template without any notice.</p>
</body>
</html>

icon.png ファイルは小さめの PNG ファイルを用意すればよいようです (幅高さ 50 pixel くらい?)。

この方法で作成したテンプレートは File - New Project - New Project from Template から利用できます。
Project Template Selector ダイアログの Template path で Browse ボタンを押して templates ディレクトリを選択してください。ダイアログの上半分に選択可能なテンプレート一覧がアイコンで表示されます。
利用したいテンプレートをクリックすると説明が表示されます。OK ボタンをクリックするとテンプレートから設定などのファイルが新しいプロジェクトにコピーされます。

基板の外形線を外部ソフトで

基板の外形線 Edge.Cuts は外部の CAD ソフトなどで編集すると楽にこなせます。CAD ソフトがサポートしている DXF ファイルを利用して外形線データを交換します。その時、外形線の原点がずれないようにすると、何度でも簡単に行き来できます。

基板をケースに合わせる場合や複雑な外形の基板には便利です。CAD ソフトでは角丸なども容易にこなせます。

まだ pcbnew 上でコンポーネントを配置していない場合、CAD ソフトで先に外形線を作成しておくと楽に進めます。
すでにコンポーネントを配置してしまった場合、位置合わせのために角を描いておくか、おおまかな外形線を作成しておきます。

  1. pcbnew のメニューから File - Plot を選択。DXF ファイルを出力します。
  2. Plot format で DXF を選択します。
  3. Included layers から Edge.Cuts にチェックを入れます。
  4. DXF options から Plot all layers in outline (polygon) mode のチェックを外します。このオプションが選択されていると、円が多角形に置きかえられてしまいます。
  5. 出力先のディレクトリを指定します。
  6. Plot ボタンを押します。
  7. DXF ファイルを開くことができる CAD ソフトで開きます。
  8. 編集して保存しておきます。
  9. 既存の外形線が Edge.Cuts にある場合、Edit - Global Deletions - Board outlines を利用して削除しておきます。
  10. pcbnew のメニューから File - Import - DXF File を選択。DXF ファイルを取り込みます。
  11. 外形線を保存したファイルを選択します。
  12. Place DXF origin (0,0) point: から Upper left corner of page を選択します。ズレがある場合は User defined position で選択します。
  13. Layer から Edge.Cuts を選択します。
  14. OK ボタンを押します。