KiCAD(Mac版)でFreeroutingを使って自動配線する (2021年1月時点最新手法)


はじめに

オープンソース開発環境、かつ、ハードウェアを開発する環境として、充実の機能を提供をしてくれるKiCADについて、さらにより良く開発を進めるための思考錯誤を記録しています。
(誰かの何かに役立てば。。)

この記事は

KiCADで部品数が多いなどある程度の規模になってきた際に、実際に民生品や産業用と向け商用開発とかで良く行っている、部品間の配線つなぎを可能な限り自動でやりたい!と感じて、纏めている記事となります。

先人の方々のお陰でKiCAD-自動配線ツールのダウンロード・インストール方法を筆頭に、参考となる良記事(文末参考文献をご参照)がありますが、いずれもWindowsでの実施方法であり、Macにて自動配線を行う場合には、いくつか工夫が必要でしたので、本記事纏めております。
なお、この記事では

  • KiCAD(Mac版) Version: (5.1.8-0-10_14), release build
  • Freerouting Version: 1.4.4
  • JAVA Version: openjdk version "11.0.9" 2020-10-20

にて実施しています。

どういった人向けか

KiCADを使って基板(PCB(=Print Circuti Board)とも言います)を設計している方向けの記事です。

まずぶつかった壁

KiCADで自動配線を行うためにはFreeroutingというツールをインストールし、KiCADと組合せて使う必要があるのですが、Mac版のFreeroutingは

のいずれかにてMac向けのfreerouting-1.4.4-macos-x64.dmgという.dmg形式のインストールファイルが入手できるので、その流れでインストールを進めても

といった形で"Freerouting.appは壊れているため開けません。"となってしまい、インストールが上手く出来ませんでした。(Macに.appファイルをコピーして実行しても同様…)

どう乗り越えたか

何度実施してもダメなため、Freeroutingについては、Java版を用いる事としました。
以下がインストール(および実行)手順です。

Freerouting Java版の入手

Freerouting Java版はこちらにて入手可能です。
このページにて

の様な形でfreerouting-1.4.4-executable.jarをダウンロードしてください。
これで、Java版の実行ファイルの入手が出来ました。

Freerouting Java版実行の事前準備(JAVA 11を有効化)

次に重要だったのが、Java版での実行となるため、Macに適切なJAVAバージョンを有効化しておく事が必要となります。
ハードエンジニア寄りの当方にとって、Javaについては当方もまだ学びの最中で詳しく無いのですが、単純にGUIインストールしたりbrewインストールしただけだと、現行最新版がインストールされてしまうと思います。
このまま進めてしまうと、今回のFreerouting Java版は動作不可でしたので、JAVA11をインストール、かつ有効化する事をまずは進めます。
JAVA11の有効化については以下が非常に参考となりました。

当方としては、jenvを用いて、Freeroutingを用いる際にJAVA11にスイッチングする形をとりました。以下がその動作例となります。(この例では、JAVA11を有効化しつつ、JAVA8にいつでも切り替えられるイメージです)

Freerouting Java版の実行方法

ここまで来たら後はFreerouting Java版の実行とのことでfreeroutingでKiCadのPCBを自動配線する時に、手動で最後のひと押しをする方法を参考にしつつ、以下コマンドを打つことで、Freerouting GUIが立ち上がると思います。

java -jar freerouting-1.4.4-executable.jar

やっと立ち上がった様子がこちら。

いざKiCADとの連携

で、いよいよ、ここからのKiCADとの連携については

KiCAD-自動配線ツールの使い方

が非常に分かりやすいですので、こちらを参考とさせて頂きながら

  1. KiCADのpcbnewにて、specctra DSN(.dsn)ファイルをエクスポート(出力)
  2. Freeroutingにて、1.でエクスポートしたspecctra DSN(.dsn)ファイルをインポート(読み込み)
  3. Autorouterボタンをクリック
  4. Freeroutingにて、specctra session fileをエクスポート(出力)
  5. KiCADのpcbnewにて、5.でエクスポートしたspecctra session fileをインポート(読み込み)
  6. 自動配線完了!

の流れで出来ると思います。
なお、まれにAutorouterボタンをクリックしてエラーになったことがありましたが、エラーとなっている結線のみを手動で一本引いてあげる事で、エラー回避してそれ以外は自動配線完了、という事も出来ましたのでご参考まで。

さいごに

Mac環境においても、無事、部品間の配線つなぎを可能な限り自動で行うことが実現出来ました。

参考文献・リンク