NextPCB さんからプリント基板をご提供いただいたので、発注から到着までの経緯や製造品質について紹介してみようと思います。基板提供のきっかけは NextPCB の広報担当の方が elchika で私の記事を読んだことだそうです。ありがたや~。この記事はスポンサードではありますが、悪かったところも含めて正直に報告します。
Raspberry PiのUARTでMIDI送信 で実験した MIDI 送信の回路をベースに、Raspberry Pi の拡張ボードとして設計したものを発注しました。基板にスペースが残ったので、受信回路も組み込み、送受信どちらも出来る拡張ボードに仕立て上げました。
この他に、CPU+コンパイラ自作ワークショップで使った CPU 基板 も作ってもらいました。この基板は以前 ALLPCB で製造したものと同じなので、後ほど両者の比較を行います。
NextPCB の良かったところは大きく 2 点あると感じました。
製造品質ですが、まず基板が配送されてきた箱は綺麗な状態でした(下図)。
この箱がビニールに包まれ、その外側を透明なテープでぐるぐる巻きにされていました。中国から到着する荷物によくある梱包ですね。
下図に NextPCB と ALLPCB で製造した CPU ボードの比較写真を示します。
どちらも十分に品質は高いと思います。写真だと分かりづらいですが、細かいところで違いがありました。具体的には
これらの違いは今回だけなのか、いつもこのような差が出るかは分かりません。どちらのメーカーでも基板は除湿剤とともにプチプチに包まれ、真空になっていました。
基板発注から到着までの時系列を示します。全体で 2 週間以上かかりました。比較的大きな部分を占めたのは問題解決のための担当者とのやり取りの時間ですので、この後詳しく紹介します。
日付 | できごと |
---|---|
12/10 | ガーバーをアップロードし Wait for Review 状態になる |
12/12 | Wait for Review から Waiting for Payment の状態に遷移する |
12/13 | シルク非表示問題(後述)に関連し、ガーバーを担当者に送信する |
12/14 | NextPCB 側の問題により非表示になっていると報告が来る |
12/15 | 配送先住所を入力する |
12/16 | 最終確認のためのガーバーが送られてくる |
12/17 | ガーバーのファイル名について問い合わせる |
12/19 | ガーバーのファイル名について回答が来る |
12/20 | 半田マスク非表示問題(後述)に関連し、担当者とやり取りする |
12/20 | NextPCB からのガーバーと KiCad の相性が悪いことが判明する |
12/21 | 担当者が COVID-19 に感染し 1 週間程度療養する |
12/26 | NextPCB から出荷完了メールが着信する |
12/28 | 自宅に荷物が到着する |
出荷完了から自宅に届くまではかなり早いですが、これは FedEx を選んだからですね。もっと安い配送手段を選んでいたら、当然もっと遅くなったはずです。
発注から到着までに発生した大きな問題としては「シルク非表示問題」と「半田マスク非表示問題」があります。前者から説明していきます。
回路と基板の設計に KiCad 6 を使いました。OSS で無償で使えるうえに大変使いやすくて良いソフトですね。KiCad では回路の設計からガーバーの出力までを行います。ガーバーファイル一式を Zip で固めてアップロード、というのは今どきの中国の基板メーカーに発注する際のスタンダードな手順でしょう。過去に ALLPCB で基板を作ったことがありますが、NextPCB さんもほぼ同じ手順でした。
いつもの通り設計して KiCad のバーガービューアーで確認すると、次図の通り問題は無さそうです。Zip で圧縮して NextPCB へアップロードしました。
NextPCB にはプレビューの機能があり、提出したデータが NextPCB 側できちんと認識されているかを確認出来ます。その画面で見たところ、シルク印刷の一部が表示されないことが分かりました。表面の U1 や R1 などの部品番号がまったく表示されていません。裏面は大丈夫なようですが。
広報担当の方にシルク印刷が表示されない件について相談したところ、調査するのでガーバーを一式送って欲しいとのことでした(システムにアップロードしたファイルは、このような調査に気軽には利用できないような仕組み?)。
ガーバーを送って 23 時間くらいで返答が来ました。この後もそうなのですが、サポートの返答が割と早いのは評価できるポイントかなと思いました。返答の内容は微妙なことが多かったですが、返事が来なくてやきもきすることは少なかったです。
最初のサポートからの返答は、筆者が送ったガーバーの中に部品番号のシルクが含まれないために表示されていない、ということでした。筆者の手元の KiCad ガーバービューアーで確認すると表示されるのでデータは含まれるはずだ、と反論しました。反論したのが 17:09 のことです。すると同日 18:20 に返答が来ました(早い!)。返答内容は、確かにデータとしては含まれているが、表層ではない別のレイヤに行っているとのことでした。納得いきません。筆者からは「xxx-F_Silkscreen.gbr」という名前のファイルに確かに部品番号が含まれているのだから、ファイル名からして表層である、と反論しました。最終的に 19:04 に再度返答があり、NextPCB 側で使っているビューアーに問題があり、上手く表示できていなかった旨を伝えられました。これにて一件落着です。KiCad が生成するガーバーが NextPCB のシステムと互換性が良くないのかな、とこの件から感じました。
筆者に限らず、今後 KiCad のデータを使って基板を作る人が同じ問題に遭遇するのではないかと心配しましたが、広報担当の方曰く、迅速に修正するとのことでした。期待しましょう。
シルク印刷の問題が解決したため、製造されるのを待っていたときです。サポートの担当者からメールが来ました。最終的な製造ファイルができあがったので、確認してくれとのことです。添付ファイルに含まれていたガーバーファイルの名前がよく分からなかったのでサポートの方に聞いてみました。次の通りの対応だそうです。
ファイル名 | レイヤー |
---|---|
gbl | 裏面銅 |
gbo | 裏面シルク印刷 |
gbs | 裏面半田マスク |
gko | 基板外形 |
gtl | 表面銅 |
gto | 表面シルク印刷 |
gts | 表面半田マスク |
KiCad ガーバービューアーで gts ファイルを開いてみたところ、一部の半田マスク(Solder Mask)が表示されないことに気付きました。
ピンソケットの取り付け場所 J2 は 2×20 個の丸が規則正しく並んでいるはずなのですが、上図ではぽつぽつとしか丸が表示されていません(上図のオレンジ色の線で囲んだ部分)。
結論としては、欠けている部分の図形もデータとしては gts ファイルに含まれるものの、データ形式が古く(deprecated)、KiCad のガーバービューアーが対応していないらしいことが分かりました。具体的には 2022 年 2 月版のガーバー形式の仕様書 の "8.3.1 Combining G01/G02/G03 and D01 in a single command." に該当する行が NextPCB から来た gts ファイルに含まれていて、それが表示されていませでした。仕様書によれば 2015 年 6 月版の仕様から deprecated になっているとのことで、確かにそんなに古いなら KiCad がサポートしないのも分かるなあという感じがします。ユーザーとしては、そのような行が含まれていたら「deprecated なコマンドがあるよ」という警告を出しつつも表示はして欲しいですけどね。
P板.com さんの CADLUS Viewer で同ファイルを開いてみたところ、下図のようにきちんと表示されました。
ちなみに、ガーバーフォーマットの開発元である Ucamco 社の Reference Gerber Viewer でもちゃんと表示されました。「リファレンス」というだけあって、ガーバーの確認では信頼できそうな感じがします。オンラインサービスなので、ソフトのインストールが不要なのもいいですね。
まとめると、半田マスク非表示問題の原因は大きく 2 つありました。NextPCB が内部的に取り扱うガーバーのフォーマットに古い文法が混じっていることと、KiCad のガーバービューアーが古い文法に対応していないことです。もしかしたらこの問題は NextPCB だけではなく、他の基板メーカーでも起こるかもしれません。KiCad 以外で作成されたガーバーの確認には、KiCad 以外の閲覧ソフトを併用するのがよさそうです。
作ってもらった基板がたくさん余っているので、そのうち 筆者の BOOTH ショップ で頒布しようかと思います。万が一これらの基板が欲しい方はたまにチェックしてください。