きっかけは単純だった。Arduinoプロジェクトで何度も何度も回路図を修正する羽目になって、毎回CADソフト立ち上げるのが面倒になってた。「コードで書けたら、もう試行錯誤なんて秒速だなあ」と思いながら、何かないかなと探してたらTscircuitに出会った。
触ってみるとセットアップは意外とスムーズ。npm install tscircuitして、簡単なサンプルを動かしたら、もう3D表示される。TypeScriptで書いた回路の定義がブラウザに立ち上がる。最初は「えっ、これCADじゃなくてコードなの?」って驚いたけど、一度書き始めるとエディタだけで完結するのがめっちゃ楽。コンポーネントの値を変えたり、接続を付け替えたりするのが、文字列の編集と変わらない速度で進む。
特に良かったのはバージョン管理の話。Gitで回路の変更履歴を残せるし、GitHubで共同編集もできる。これまでは「どの版の回路図が最新?」という問題がずっと付きまとってたけど、ソフトウェア開発と同じく問題がなくなった。デプロイ前に回路図レビューをプルリクで回したりとか、CADツール時代には考えられなかった効率化が実現してる。シミュレーション機能も組み込まれてるから、Gerberファイルに落とす前に動作検証ができるのは心強い。
気になった点は、ドキュメントがまだ発展途上ってことと、複雑な基板設計になると限界が見えるかもしれない。あと出力フォーマットの対応状況をもう少し整理してほしいなとも思う。ただこの手のOSSプロジェクトにしてはコミュニティの反応が早いし、改善は続いてる感じがある。
要は、Arduinoとか小規模基板設計で何度も試行錯誤する人には、本当に試してほしい。ハードウェア開発の敷居がぐっと下がるし、エンジニアだからこそコードで設計できる楽さが分かると思う。自分はもう回路CADに戻れない。