私はFF14に限らずPCゲームは必ずフルスクリーンでプレイしています。
理由はウィンドウモードだとゲームへの没入感が削がれるためです。
一方、FF14に関しては私はACTという外部ツールでDPSを計測しているのですが、ACTはゲームがウィンドウモードで動作していないと、そのゲームの画面上にDPS値等の表示ができない仕様になっています。
ACTでDPSを計測してもゲーム起動中にその数値が見れなければほぼ無意味なので、私はACTの計測値をUSBポート経由のシリアル通信で外部の液晶モニタに出力する機器を作成し、それを使ってDPS値をチェックしています。

この機器を作ったのは、ブログを読みなおすともう7年も前の事なんですが、今まで壊れることもなく動作し続けており、ユニバーサル基板むき出しのままずっと使っていました。
ですが、最近ではECサイトからPCB基板を安価に発注する事ができる業者が流行っており、電子回路設計ソフトも無料の非常に出来の良いものが出回っていて、電子回路のPCB基板化の敷居が非常に低くなっています。
また、3Dプリンタも昔は数十万円して出力品質もイマイチという、完全に好事家向けのポンコツ機械だったのが、最近では技術革新がすさまじく、FDM形式なら3万円台で非常に簡単操作、品質も趣味で使う分には十二分という製品が市場を席捲しています。
今回、以前作ったDPSモニターをPCB基板化し、3Dプリンターでケースを作成してみました。
KiCADによる回路設計
PCB基板を発注するために、無料ソフトKiCAD(Ver.9)で回路設計を行います。
今回作成する機器は2.8インチのTFT液晶モジュールとESP32-DEV-KIT-Cで構成します。
2.8インチのTFTモジュールはILI9341という規格で、480×320ドットの液晶にタッチパネルの機能とSDカードスロットを備えています。
今回のDPSモニターではタッチパネルとSDカードは使用せず、液晶に描画ができれば良いだけなので、以下のように配線しました。
TFTモジュールILI9341のピンアウトはどの製品でもまず同じですが、ESP32-DEV-KITのピンアウトは製品によって数も違えば配置も異なります。
今回使ったESP32-DEV-KIT-Cはピンが左右の側面に15個ずつ、合計30個のピンしか無いタイプです。
機能に対して必要なピンさえ存在していれば構わないので、パーツの値段を可能な限り安く抑えるためこの製品を選択しました。
今回は液晶上に文字が描画ができればそれで良いのですが、万一プログラムがハングアップした時に機器をリセットするためのリセットボタンとしてタクトスイッチを配置しました。
ILI9341とESP32の接続に関してはネットで検索すれば沢山情報がヒットするので、それらを参考にして配線しました。
リセットボタンの接続に関しては、電圧変動ノイズを抑えるためにRC回路によるフィルターを行った方が良いとの事なので、10Kオームの抵抗と0.1μFのコンデンサを配置しています。
KiCADの具体的な操作方法や回路設計に関する基礎知識に関しては私も素人でしたが、YouTubeやブログが山ほど存在するので、これらを参考にしました。
KiCADによるPCB基板設計
回路図を作成し、エラーチェックを行ってエラーが無い事を確認したら、KiCADのPCBエディタを起動してPCB基板を設計します。
回路図に配置されている部品と配線情報をPCBエディタにロードし、これを最終的な物理の基板上に配置する設計図を作成する工程となります。
表面の配線は以下のようになっています。
裏面の配線はこちら。
見ての通り、グラウンドはベタグラウンドにしています。
PCB基板は部品と配線が正しく配置されていればそれで良いというわけではなく、最終的にどういうケースに入れ、パーツはどの向きにどのように配置する事になるかを想像しながら設計する必要があります。
私はこういう電子機器は小さければ小さいほどクール、という考えなので、二層基板の表と裏に液晶とICを半田付けするよう基板を設計しました。
こうすることで回路全体の厚みを少しでも薄くしようとしています。
KiCADからガーバーファイルを出力してJLCPCBに基板発注
PCBの設計が終わり、エラーチェックでエラーが無い事を確認したら、業者にPCB基板を発注するためのデータファイルを出力します。
これもKiCADから簡単に行えます。
基板製作業者はJLCPCBがおすすめ
私はPCB基板の発注にJLCPCBという中国の業者を利用しています。
実はこのDPSモニター以外にも何度かちょっとした電子機器の基板を発注した事があるのですが、おすすめとは言っても、私はこの業者しか利用した事がありません。
JLCPCBはネットでPCB基板、発注と検索すると必ず上位にヒットする中国の会社です。
ここは、
- サイトが日本語対応している
- 決済にPayPalが使える
- 基板作成にかかる日数が1日~2日と早い
- 基板の製作費は5枚で\1,000程度。割引クーポンをしょっちゅうくれるので、トータルのコストは非常に安くなる。
- 仕事はしっかりしており、基板の品質でトラブったことがない
という、非常に信用のおける業者です。
唯一のネックは中国からの送料ですが、急ぎではない(発注から1,2週間後に届くペースで問題ない)場合は1番安い配送オプションを選択すれば、基板代、送料込みでだいたい\1,500程度で自分のオリジナル基板が手に入ります。
基板の発注枚数は最低でも5枚なので、基板1枚あたり送料込みで\300と考えれば非常に安価と言えるでしょう。
1番早く届く、1番高い配送オプションを選ぶと送料だけで\2,500程度かかり、完全に基板代より送料の方が高くなってしまいます。
なので私はいつも1番安いオプションを選んでいます。
配送オプションがこのようにニーズに合わせて複数用意されているのも、JLCPCBの良いところだと思います。
また、上にも書きましたが、何故かしょっちゅう割引クーポンを発行してくれるので、下手すると送料込みで\500ぐらいで基板が作れちゃいます。
届いた基板がこちら。
私は基板の品質を鑑定する技術を持っていないのですが、配置がおかしいとか、欠けているとかズレているとか、表面が剥離しているといった、素人目にも分かるレベルの不具合には全く遭遇した事がありません。
実際この基板上に部品を半田付けしても問題なく動作していますので、少なくとも趣味レベルでは十分な品質と言えるのではないでしょうか。
発注用のガーバーファイル出力方法
JLCPCBのサイトには、KiCADからガーバーファイルを出力する際の設定について説明ページが存在しています。
しかし、KiCAD Ver.8 の説明しかなく、最新のKiCAD Ver.9とは微妙に設定項目が異なっています。
差異はそこまで大きくないのでKiCAD Ver.8の説明ページを見ながら想像で補完すれば特に問題はありません。
ただ、私は初めてのガーバーファイル出力時にYouTubeの案件動画で紹介されていた設定を真似ていたのですが、このユーチューバーが、JLCPCBからの案件のくせに適当な動画を作ってるバカ野郎で、公式サイトの説明ページを動画で紹介しながら実際の設定は全くその通りに行っていないというゴミ動画でしたね。
糞ユーチューバー野郎ってホント信用ならねぇな、と痛感しました。
なので、YouTubeを参考にするのはおススメできません。
ちゃんと公式の説明ページを読んだ方がいいです。
特に難しい事は無いのですが、KiCAD Ver.9での私のガーバーファイル出力設定を紹介しておきます。
ドリルファイルも作成する必要があります。
「出力フォルダー」で設定されている通り、ガーバーファイルとドリルファイルはプロジェクトのフォルダの下にgerberというサブフォルダを作り、そこに出力しています。
フォルダ名はどうでも良いのですが、このようにサブフォルダを作ってそこに出力するのを公式のドキュメントでも推奨しています。
発注の際にはこのgerberフォルダをzip化し、分かりやすい名前にリネームします。
基板が届いたら半田付けして回路完成
このような箱に入れられて基板が届きます。
私は別に電子工作が趣味というわけではなく「あるものは利用するが、なければ自分で作る」のプログラマ的精神が染みついているのでこのような機器を作ってみたのですが、正直、自分のデザインした基板が届いても、初回こそ「おお~」と思うものの、すぐに「これから半田づけかぁ~。メンドくせ。」とゲンナリします。
ただ、今回PCB基板化を行ったわけですが、PCB基板ではなくユニバーサル基板にETFE電線でパーツ同士を結線しようとすると、電線を剥いていちいち両端を半田付けする必要があるわけで、それと比較するとPCB基板はあらかじめ空けられた穴にパーツを差し込んで半田付けすれば済むので遥かに楽ですね。
いや~こんな簡単に個人で基板を作れるようになるなんて、時代を感じますねえ。
これは、PCB基板に電子部品を全て半田付けした後の表面の状態です。
裏面はこんな感じで、液晶モニタ以外の全パーツは全て裏面に配置しています。
ESP32ユニットを基板の長辺に対して垂直方向に向け、基板端ののTFTモジュールのピンソケットと妙に離れているのは、TFTモジュールの裏に存在するSDカードスロットと基板上の半田付け面が干渉しないようにしているためです。
次回は3Dプリンタでケース製作
ちょっと記事が長くなってしまったので、今回はここまでとします。
次回は3Dプリンターで専用ケースを作成した経緯の記事を書きたいと思います。









