Githubの基板版:「InventHub」に基板データを上げてみた

こんにちは。
早速関係ない話で申し訳ないのですが、めでたく、月間PVが150を上回りました! ありがとうございます!
Google先生に認識されるようになると、めちゃくちゃ見られるようになるんですね。 皮肉なことに、一番最初に投稿した開発系じゃない記事が人気でショックを受けています。
ともかく、今後も良い知見を皆さんに共有して参りますので、引き続きよろしくお願いします。



さて本題に移りますが、最近twitterを覗いていると、時々「InventHub」というGithubの回路図や基板版のwebサービスが話題に挙がっているのを見かけました。

inventhub.io

なんでもInventHubでは、基板関連のバージョン管理ができるだけでなく、基板や回路を視覚的にDiffを見ることができるみたいです。また、他人の作品で間違っている箇所をコメントしたりもできます。つまりGithubのissueにあたる機能が、annotationという機能で使えるようになっています。 ↓ 公式HPより。

https://inventhub.io/static/media/discuss_changes.bb4a0b32.png

私はKiCADしか利用したことがないですが、KiCADにはDiffを見る機能がありません。また、Githubを使っても視覚的に見ることはできませんから、「安定性を上げるために回路をいじくったけど、基板サイズが大きくなるからやっぱり戻したい!」みたいな状態に陥ったときに役立つと考えられます。
issue的な機能があることから、見知らぬ人super engineerから基板の問題点についてアドバイスをしてもらえたりするかも?!



これから主流になってきそうなこのサービスを実際に使ってみたくなり、実際に自作の基板をInventHubのアカウントでpublicなリポジトリに上げてみました。

uploadした基板

いっぱいバッシングが来たら嫌だったので、↓ の世に晒したことがある基板をもう一度晒すことにしました。

f:id:ume-boshi:20200830201922j:plain:h300

qiita.com

ブレッドボード上のHigh/Lowをログ取得しようと思って作成したものです。I2Cで通信するだけでDigital I/Oのピン数が増やせる、PCF8574というI/Oエキスパンダを使用しています。 PCF8574を3個使って24ピン分増やし、23ピンをブレッドボード・1ピンをタクトスイッチに適用しました。

23ピン分、全てDigitalReadしたり、Writeしたりできる基板です。

基板をリポジトリに上げる

リポジトリの作成

Githubと同じ要領で、InventHubでもリポジトリを作成するところから始まります。私は未だGithubに基板データを上げたことがなかったので、InventHubだけでやることにしました。

作成したリポジトリの設定は下記のとおりです。


  • publicリポジトリ
  • MITライセンス
  • InventHubアカウントでの管理

後々考えると全て同じGithubアカウントで管理できるほうが便利だと思うので、皆さんはGithub側でリポジトリを作成し、commitしたほうがいいと思われます。ただし、この画面でGithubとアカウント連携する場合、Repository NameとDescriptionに書いた文章が消えてしまうので注意してください(頑張って書いた拙い英語の説明文が消えたらとても悲しいのである)。

f:id:ume-boshi:20200830202423j:plain:w400
せっかくなのでpublicで作成した。

first commitをする

では、リポジトリができましたので、ファイルをuploadしていきます。リポジトリを作成すると、↓ の画像のような画面に遷移します。親切ですね。

アップロードしたいデータがあるフォルダで git bash などを開き、画像通りのコマンドを入力していきます。

echo "# Testing" >> README.md 
git init 
git add README.md 
git commit -m "first commit" 
git remote add origin あなたのURL 
git push -u origin master 

f:id:ume-boshi:20200830203844j:plain:w400
画面通りに進めていく。

このとき、一番最後のpushの段階で認証させられるので、InventHub登録時のアカウント情報を入力します。 パスワード等を入力し間違えて、pushコマンドがエラーを吐き続けるようになったらこのサイトに従って認証情報を消したらうまくいきました。

pushできていますね。

f:id:ume-boshi:20200830203256j:plain:w400
;)

基板データをupload

リポジトリにuploadできる環境が整ったので、メインのファイルをaddしていきます。
この際に、全部addしても問題ないとは思いますが、下記のような内容で.gitignoreファイルを作成するとスッキリして良いと思います(.dsnファイルは要るかも)。何度も言いますがKiCADしか知りません。

fp-info-cache
sym-lib-table
*.bak
*.dsn
*.kicad_pcb-bak
*.sch-bak
*-rescue.dcm

あとはコマンドポチポチ。

git add .
git commit -m "add files" 
git push -u origin master 

ちゃんと上がっています。

f:id:ume-boshi:20200830203301j:plain:w400
ひゃっほい!

試しにmanyDC.kicad_pcbを開いてみると ↓ のような表示がされます。ちゃんとレイヤーを選択表示できるので、ドリル穴だけ表示したりシルクを非表示したりできます。ただ、ベタ塗の領域は配線と同じ銅レイヤーとして扱われており、その領域だけ消すことはできず。。。
ともかく、Maker新時代の到来を感じさせるサービスです。

f:id:ume-boshi:20200830205508j:plain:w400
みやびViewer

おわりに

基板データについて、Githubだとバージョン管理はできてもどの箇所がどう変化したかわからず、単にバックアップ的な意味で使っている方が多かったのではないでしょうか。

InventHubを今後も使っていくかはわかりませんが、バージョン管理を視覚的に行える点や、自分の知り得なかった問題点を見ず知らずの人から指摘してもらう学習機会が得られる可能性がある点など、大きなメリットがありそうです。ただし、プログラムとは違って、基板を実行するためには時間と多大な費用がかかりますから、publicで複数人で更新していくのは厳しいかもしれませんね。

あ、記事にするときに回路のスクショ画像を撮影しなくて済むのはいいかもなあ。



余談: 最近、色々と製作を進めてはいるのですが、あちこちに手を出しては引っ込めてをしている状態なので、どの作品もキリが悪い状態です。まとまりもないので、なかなかブログにまとめられなくてつらい状況です。研究の進捗も少ないし困ったな。。。