『ESPboy』というESP8266開発ボード(WeMos D1 Mini)で動かす携帯ゲーム機を先日ブレッドボードを使って作ったのですが、これが非常に面白かったので基板を製作して組み直し完成させました!
ESPboyはオープンソースハードウェアとして開発が進められているようで、いくつかのバージョンがあります。
ESPboy公式サイトには初代バージョンにあたるESPboyやその改良版にあたるESPboy2が製品版として販売もされています。
オープンソースなプロジェクトなので上記公式サイトには回路図や基板データなど詳細な情報が公開されています。
サイトに公開されているこれら情報を参考に、製品版として販売されているESPboyと同じ仕様のものを自分で作ることや、カスタマイズさせて自分仕様のオリジナルESPboy互換機を作ることもでき、ESPboy用に作られた専用ゲームやレトロゲームなどのゲームデータをインストールして遊ぶことが出来ます。
ESPboyの回路構成は簡単です。
電子パーツも比較的入手しやすいものばかりなので、ブレッドボードやユニバーサル基板を使って簡単に試すことが出来ます。
私もまずブレッドボードで組んで動かしてみました。
この投稿をInstagramで見る
ESPboyで使われているWeMos D1 Mini(Lolin)はESP8266開発ボードとして使いやすく普段よく使っています。
普段よく使っているマイコンボードでこのようなゲームを楽しむことが出来る・・・非常に面白かったので、操作しやすいようにユニバーサル基板を使って組み直したりもしました。
この投稿をInstagramで見る
興味ある方は比較的簡単に作ることが出来るので、まずはブレッドボードやユニバーサル基板を使って組んで遊んでみるのがおすすめです!
そして今回は、基板を製作して製品版として販売されているESPboyとほぼ同仕様のものを作った話となります。
先述のようにESPboy公式サイトには基板データ(ガーバーファイル)なども公開されています。
いくつかのバージョンがありますが、これらデータを使い製品版として販売されているESPboyと同仕様のものやさらにカスタマイズさせてオリジナルのESPboy互換機を作ったりも出来ます。
携帯ゲーム機なのでこのように基板を製作して完成させた方が操作性は非常に良くなります。
また拡張ポートを使ったデバイス接続など出来る事の幅も広がります。
この投稿をInstagramで見る
目次
PCB基板を製作しESPboyを完成させる!
冒頭でご紹介したように、ESPboyはESP8266開発ボードを使った携帯ゲーム機です。
マイコンを使って動かす携帯ゲーム機は非常に面白く前々から興味を持っており、最近KiCadを使った基板設計も行うようになったことからいろいろと試しています。
ESPboy公式サイトにはゲームプレイ動画なども多数アップされ紹介されています。
懐かしいレトロゲームを見ているだけでもワクワクしますよね!
ESPboyのサイトから製品版を購入する事も出来ますが、回路構成は簡単で通常のスルーホールパーツを使えば比較的簡単にブレッドボードやユニバーサル基板を使って組むことが出来ます。
前回、ブレッドボードやユニバーサル基板を使って組んだ時の回路構成です。
公式サイトで紹介されている簡易回路構成では上手く動作しない部分があったので一部修正しています!
そして今回は、公開されている基板データを使い製品版として販売されているESPboyと同仕様のものを作ってみました。
PCB基板を製作し製品版と同仕様のESPboyを作る!
ESPboy公式サイトには基板データも公開されています。
これを使い製品版として販売されているものと同仕様のESPboyを作ることが出来ます。
もちろん回路設計など出来る方は、さらにカスタムさせてオリジナル仕様のESPboy互換機を作る事も出来ます。
公開されているデータはいくつかのバージョンがありますが、公式サイトのリンクを辿っていくとV4.3が最新のものになるようです。(2022.11月現在)
使用されているパーツやそのサイズなどバージョンによって若干違いがあるようなので、製作する際はバージョンに合ったパーツを入手する必要があるので注意して下さい!
今回このV4.3のデータを使い基板を製作しました。
少し基板製作の流れもご紹介しておきます。
今回JLCPCB(中国のPCB製造メーカーです)に発注して基板を製作しましが、JLCPCBさんでは海外からの送料を入れても500円程でこの基板を作ることが出来ます。
この価格で基板が作れちゃうのは驚きで、ユニバーサル基板で完成させるよりコスパはいいと思いますが、表面実装パーツとなるので当然はんだ作業の難易度は上がります!
回路構成および基板データの確認
基板発注までの流れを見ておきます。
こちらが今回使わせて頂いたV4.3のページです。
上記V4.3のページに詳細な回路図および基板データが掲載されています。
まず回路構成を確認しておきます。
先程のブレッドボードやユニバーサル基板を使って組んだ時の簡易回路と構成はほぼ同じですが、TP4056を使ったリポバッテリー充電回路や拡張ポートなど細かい部分がいくつか追加されています。
[Open in editer]をクリックするとEasyEDA(Webで動作する基板設計ソフト)で確認する事ができます。同様に基板データもPCBの項目にある[Open in editer]をクリックしEasyEDAから確認する事が出来ます。
今回このV4.3のデータをそのまま使い基板を発注しました。
使われているESP8266開発ボードとなるWeMos D1 Miniは技適の問題もあるので技適取得済みのESP-WROOM-02を使った回路構成にカスタマイズさせたり、さらに基板形状自体を変更しオリジナルのものを作ったりしてみるのも面白いと思います。
JLCPCBでの基板発注
EasyEDAでのガーバーファイル(基板データ)のエクスポート方法です。
EasyEDAで上部にある[G]マークをクリックするとこのような画面が表示されます。
デザインルールチェックは公開されているもので問題ないと思いますが、[Yes,Check DRC]をクリックします。
[Generate Gerver]をクリックするとガーバーファイル(zipファイル)をPCにダウンロードする事が出来ます。
基板製作依頼の際にこのダウンロードしたガーバーファイルを基板製造メーカーのサイトにそのままアップロードすれば基板の発注を行うことが出来ます。(JLCPCBを使う場合、上記画面で[One-click Order PCB/SMT]から直接発注することも出来ます)
今回はダウンロードしたガーバーファイルをJLCPCBさんのサイトに直接アップロードして行っていきます。
基板発注が初めてという方でもユーザー登録無しで料金やプレビュー等の確認を行うことが出来ます。
下記ページはJLCPCBの日本語トップページとなります。
ユーザー登録がまだの方はこちらから初回特典クーポンを入手する事が出来るので更にお安く基板を製作できます。
基板発注方法は簡単です。
上記日本語トップページの[JLCPCBロゴ]をクリックし本来のトップページに移動します。
先程ダウンロードしたガーバーファイル(zipファイル)をアップロードすれば、基板製作料金および送料の確認ができます。
このサイズの基板(10cm×10cm以下)だと送料区分にOCS NEPを選択すれば500円程度で製作でき、10日前後で到着します。
この料金&日数で製作出来るJLCPCBは非常に魅力的ですね。
基板設定はほぼデフォルトで問題ありません。
基板色(PCB Color)はお好みで選択して下さい。
私は青色で製作しました。
あと[Remove Order Number]の項目は[Specify a location]を指定して下さい。
これは基板発注の際のオーダー番号がランダムな位置に入るのを防ぎ指定した位置に入るようにするためです。
V4.3の基板データではピンソケットが取り付けられる位置にオーダー番号が入るように指定されています。
[Specify a location]を選択することにより[JLCJLCJLCJLC]の部分にオーダー番号が入ります。ピンソケットで隠れる位置なのでオーダー番号が任意の位置にシルクプリントされ見栄えが悪くなるのを防ぎ追加料金もかかりません。
基板設定は以上です。
あとは実際に発注するわけですが、これにはユーザー登録や支払い方法・発送先住所の登録等必要になってきます。
JLCPCBでの発注に関してはこちらの記事で詳しく解説しているので参考にして下さい!
基板製作料金と送料合わせて500円ほどで製作でき、10日前後で基板が手元に届きます。
必要なパーツ一覧
V4.3の基板では0805サイズのパーツが使われています。(他のバージョンの基板では若干異なる場合があります)
JLCPCBではPCBAサービス(パーツ実装)を利用することも出来ますが、今回全て個別でパーツを入手しました。
海外サイトを利用しないと入手出来ない物も多いため、パーツ一覧のリンクも載せておきます。
パーツ | 個数 | リンク |
1.タクトスイッチ(SMD) 6×6×6mm | 6 | Aliexpress |
2.コンデンサ10μF(0805) | 1 | Amazon / Aliexpress / 秋月電子 |
3.Wemos D1 Mini | 1 | Amazon / Aliexpress |
4.フューズ(0805) | 1 | 秋月電子 |
5.ピンソケットL型(2×10) | 1 | Amazon / 秋月電子 |
6.LCD TFT1.44インチ(128×128) | 1 | Amazon / Aliexpress |
7.LED RGB WS2812B | 1 | Aliexpress / 秋月電子 |
8.サイドボタン(SMD) | 2 | Amazon / Aliexpress |
9.UMH3N | 1 | Aliexpress |
10.抵抗10Ω(0805) | 1 | Amazon / Aliexpress |
11.抵抗4.7kΩ(0805) | 2 | Amazon / Aliexpress |
12.抵抗470Ω(0805) | 1 | Amazon / Aliexpress |
13.抵抗12.1kΩ(0805) | 1 | Amazon / Aliexpress |
14.可変抵抗300Ω(SMD) | 1 | 秋月電子 |
15.スピーカー | 1 | Aliexpress |
16.スライドスイッチ(SMD) | 2 | Amazon / Aliexpress |
17.TP4056 | 1 | Amazon / Aliexpress |
18.MCP4725 | 1 | 秋月電子 |
19.MCP23017-E/SO(SMD) | 1 | Aliexpress |
20.リポバッテリー | 1 | 容量はお好みで! |
パーツ実装
基板及び必要なパーツが揃えば実装していきます。
0805サイズのパーツがメインとなりこのサイズくらいまでならはんだゴテを使った手はんだでも可能ですが、UMH3NやMCP4725といった非常に小さなチップやスイッチなどの取り付けがあるため結構大変だと思います。
これらパーツは拡大鏡など使わないとチップの向きなどを確認するのも肉眼では困難なくらい小さなパーツとなりますが、私はヒートガンを使って全て行いました。
最近初めてとなるヒートガンを購入したのですが、この基板はいい練習基板となりました。
手はんだでは私の技量ではかなり面倒な作業になりそうですが、ヒートガンを使えば非常に綺麗にパーツの取り付けが出来ました。
KiCadを使った基板設計もこれから勉強していこうと考えており、そしてはんだ作業では1台ヒートガンを持っていると非常に重宝しますね!
パーツ実装の注意箇所
基板にパーツを実装する際にいくつか注意箇所があります。
基板発注前にCADで確認した際に気になっていましたが、ゲームデータを書き込む際にWemos D1 MiniのUSB端子とPCを接続しますが、使われるケーブルによっては干渉する場合が多くなると思います。
数ミリWemos D1 Miniの取り付けを上げると問題なくなるので、ピンヘッダーの固定部分(プラスチック部分)をこのように2枚重ねて嵩上げしました。
これによりUSBケーブルを挿し込む際に手前のタクトスイッチと干渉することなく行うことが出来るようになります。
同様にディスプレイも少し嵩上げする必要が出てくるので、ピンソケットを取り付けて対応させました。
これでUSB端子の接続も上手く行えると思います。
あとリポバッテリー充電用のTP4056モジュールの取り付けですが、裏面のタクトスイッチがある位置に取り付け穴があるため、タクトスイッチ取り付け後、ピンヘッダーを上手くはんだ付けして最終的にこのように金属部分だけを残す感じにすると上手く取り付けができます。
リポバッテリーのサイズはお好みで!
パーツの取り付けも綺麗にでき大満足です!
ゲームデータのインストール
基板にパーツの実装が出来たらゲームデータの書き込みです。
ESPboyに対応したゲームデータは多数公開されています。
その中のごく一部となりますが、ゲームデータのインストール方法をまとめているのでこちらの記事を参考に行って下さい。
ゲームデータの書き込みが完了したら動作確認です。
初めて電源を入れる時が一番緊張しますね。
動かなければ原因箇所を探すため非常に多くの時間を割かれてしまいます・・・
パーツ取り付けも綺麗にでき無事動かすことが出来ました。
この投稿をInstagramで見る
最後に!
ESPboyの回路構成は簡単なので、興味ある方はまずブレッドボードやユニバーサル基板を使って組んで動かしてみるのがいいと思います。
基板データも公開されているので、今回のように基板を製作し製品版として販売されている同仕様のものやカスタムしたオリジナルのESPboy互換機を作ってみるのも面白いかと思います。
ブレッドボードで組んで遊んでみて非常に面白かったので、ユニバーサル基板を経て今回PCB基板を製作し完成させました。
最近では基板製作は驚くほどお安い価格で作ることが出来るのもいいですね。
マイコンを使ったこのような面白い携帯ゲーム機は他にもいろいろとあるようです。
ファミコン(NES)エミュレーターをESP32で動かすゲーム機にも挑戦しているのですが、こちらはまだ上手くコンパイルが通らず苦戦しています。(追記:完成しました!)
またATtiny85という小型なAVRマイコンを使った『Tiny Joypad』というミニゲーム機も作ってみました。
これもマイコンを使った面白いミニゲーム機なので、興味がある方はこちらの記事も見て頂ければと思います。
マイコンを使って動かすミニゲーム機、なかなか面白く他にもいろいろと挑戦してみようと考えています。
また機会があればご紹介できればと思います。
コメントを残す