GP2040-CE でTwinStickをUSB汎用コントローラーへ改造する方法
はじめに
バーチャロンいいですよね。特徴的なツインスティックでバーチャロイドを操作し戦う。バーチャロイドのデザインも、カトキハジメ先生と最高の組み合わせでした。(オフィシャルページの、バックストーリーキャラデザは、竹先生なので実質〇〇〇〇(笑)) 当時欲しいと思っていたロボットゲームはまさにこれでした。ゲーセンに通うきっかけになったゲームです。セガサターンに移植され当時は珍しいネット対戦に対応。夜中のテレホーダイで自宅に居ながら対戦。続編オラトリオタングラムでは、スピード感がアップし僕のゲーム人生で一番遊んだゲームではないかと思います。こちらもドリームキャストに移植され通信対戦を楽しみました。ちなみに愛機はフェイ・イェン
前置きが長くなってしまいましたね。今はPS4とX-BOXで遊べるのですが(買えない(´;ω;`))僕はDC、SS実機もありますが、ほぼDCエミュ機でオラタンを遊んでいます。でもやっぱりツインスティック使いたいですよね。手持ちのサターン用ツインスティックとラズパイピコを使って、USB接続の汎用コントローラーにしましたので、その記録です。
本文内にアフィリエイトリンクを含みます。
本内容に基づき作業された結果(不具合やケガ)についての責任は負えませんで、自己責任でお楽しみください。
作り方
使ったのはこちらです。GP2040 CE Multi-Platform Gamepad Firmware for RP2040
RaspberryPi PICO(以下、ラズパイピコ)というマイコンを組み込むことで互換コントローラーにできてしまうファームウェア
全てで試していませんが、公式サイトではPC、PS3、PS4、PS5、Nintendo Switch、Xbox One、Steam Deck、MiSTer、Androidと互換性があるとのこと。各種コンバーターを通せばレトロゲーム機にも使えます。
メイン用途はアケコンなのですが、こちらをツインスティックに埋め込みます。
サイトの説明は英語ですが、最近の翻訳機能の進化で簡単に読むことができるようになりました。詳しくは、サイトを見ていただくとして、簡単な手順を紹介します。
まずはラズパイピコの新品を用意します。既に持っている場合、なんやかんやでディスクとしてマウントしないといけないようです。(ボタンを押しながらUSB接続する)
ディスクとしてマウントされたら、サイトからpico用のファームウェア(.uf2)をダウンロードしルートにドラッグアンドドロップ。自動でアンマウント後、コントローラーとして認識されます。
動作は各ピンをGNDに接続すると入力信号がでます。製作元に書かれていますがこちらのサイトが動作確認に便利でした。
本体の加工
本体の改造です。セガサターン用ツインスティックです。昔PSのコントローラを埋め込んだものを再利用します。結線が甘かったのか動かなくなり放置してありました。
中古では現在8000円弱するようです。4000円位で見つけられるといいですね。改造済みのものもフリマやオークションで買えますが、壊れたときの修理とかを考えると自分でがんばって加工したほうがいいかもです。
その前に不足するボタンの穴をあけます。
不足するボタンは6つです。別件で購入したこちらのボタンをつかいました。LR3はおそらく使わないので省略してあります。必要な穴はφ12mmもともとあるスタートボタンの穴も再利用できます。
そして、オラタンを遊ぶにはスティック間のスタートボタンが大事です。アーケードで使われるボタンを用意しました。有名な三和製を選択、サイズはφ30mm色は実際と同じ黄色を選びました。
φ30mmの穴加工は自宅にあったステップドリルを使ったのですが、切削油が無いと歯が立ちません。さらに引っかかり、金属天板が回転したりとかなり危険を伴います。しっかり固定して回転しても体を切ることが無いように十分注意して行ってください。今回の加工の中で一番苦労しました、また、切削油が天板のシートにしみこみだめにしてしまいました。いろいろ見るとホールソーを使うのが、おそらく最適ではないかと、もう1個作りりたいので次回試したいと思います。
元々PSコントローラーのスタートボタンを設置するのに加工していた穴があったので、3Dプリンタで蓋を作るとともに、ボタン穴を2個設置しました。
配線
配線は各ピンとGNDの間にスイッチを付けます。スイッチを押すとピンがGNDに落ちて(電流が流れて?)ONと判定されます。
元のコネクタから差し替えできればよかったのですが、対応コネクタが入手できず切断して、対応しました。
そのままハンダ付けが簡単かとおもいますが、今回はコネクタ接続を採用してバラしやすくしてあります。また、接続間違いも修正しやすいですしね。実際何度も差し替える場面がありました。下の図は配線先の参考です。
接続はmicroUSBです。穴にあわせるのが大変なのでケーブルをつないでおきます。
最終的にはこのように、前回の改造で使用したコネクタを再利用したのでちょっと騒がしいですね。ナイロンバンドでまとめると落ち着きます。
基板を固定する台も3Dプリンタで作成しました。データはこちらに用意してあります。プリント品も用意出来ますのでよろしければご利用ください。
天板の作成
切削油でだめにしてしまいましたので。それっぽいものを作ります。
スティックは天板にネジ止めされているのですが、ネジを外してスティックも分解してと大変なのでそこは省略することにしました。といっても外周の6個のナットを裏から外します。
CADで外形データを作成、Inkscapeにて、追加の編集をしました。イラストはバーチャロンオフィシャルサイトで配布している壁紙を使いました。
ベースとなるInkscapeのデータはこちらにありますのでよろしければ使ってください。(もちろん壁紙データは入っていませんのでご自分でご用意を)センターボタンの位置決めテンプレートにも使えるかも。
写真用紙に印刷します。外周をカットし、ラミネート後各穴を切り抜きます。カットの際は表面に傷がつきやすいので、紙で保護しながら作業しました。丸穴はこちらのカッターが便利。角カット用に点を用意したのでこちらを中心にカットします。ツインスティックを避けるように一部をカットし天板を止めるビスを利用し固定します。カット部が浮くのが気になる場合は両面テープにて固定でよいかと。ラミネート代を残すため外周を5mmオフセットしたので下地が見えるので後日対策したいとこです。
まだ改良、機能追加の余地はありますが、まずは遊びたいので最低限ここまで
まとめ
スタートボタンを加工している時引っかかりプレートが回転し危険な目にあったり、切削油をぶちまけた時はTANITAのでも十分お値打って思いました。でも、コンパクトさが良いのと、スティック自体のデザインが好きなので結果として作って良かったです。
従来だと他のコントローラーを分解は基板に半田付けで乗っ取りという手法でした。半田がむづかしいというところがありました。ラズパイピコははんだ付けもしやすく、ファームのアップデートも続いているので将来の互換性もよいのではないかなと勝手に思ってます。
ドリームキャスト用のコントローラもデザインが良くスタートボタンの位置もいいのでより加工しやすいと思うのですが、記憶では一部スティック部品が壊れやすかったような?今なら3Dプリンタで比較的簡単ににつくれそうですので2号機はそちらも選択肢かなと思っています。
今後使用レポートや改造レポートも紹介できたらと考えています。
いかがでしたでしょうか作ってみたくなりました?もしわからないところがあればコメントください。詳細を追加します。
また、部品の一部をリンク先から購入していただけるとちうれちいです。
読んでいただきありがとうございました。
今後、使用方法や設定をまた記事にしたいと思います。
ラズパイは何をするにも自前でプログラミングが必要とばかり思っていたので、記事を拝見して「 ルートにドラッグアンドドロップ。自動でアンマウント後、コントローラーとして認識 」とありましたので素で驚きました。
返信削除また、加工の仕方や素材の入手方法などもご案内下さり感謝です。
自作する機会が訪れた際の参考資料としてブックマークさせて頂きます~(*´ω`*)
使用レポートや改造レポートの記事を拝見するのが今から楽しみです。
ブックマークありがとうございます。
削除専用のファームウェアが作られているんです。しかもアップデートもされてるので、末永く利用できるかと。古いアケコンの再利用にも使えます。スイッチつなぎ変えるだけなので。他はドリルで穴開けとはんだ付けで動作はするようになりますので難易度はそんなに高くないと思います。是非お試しを