【自作レバーレス】#2号機 RasPi Picoと100均部材で作るマルチレバーレスコントローラのDIY作成(第1回:導入・セットアップ編)


前回の「第5回:SOCD回路実装編」では、手持ちの基板を再利用した無線化にこだわり、極小スペースの中で汎用ロジックIC「74HC132」を2段スタック空中配線するという泥臭い死闘の末、無事に#1号機が完結しました。

左右同時押しでの「ニュートラル」は回路の実装でなんとかクリアしたものの、息子が使う「ためキャラ」に必要な上下同時押しの挙動変更(後押し優先への切り替えなど)をハードウェアで実装しようとすると、設計上は可能であるものの、ロジックICがさらに4個ほど増えてしまいます。あの狭いケース内で、ただでさえシビアな空中配線にさらにICを4個追加し、悩みながらちまちまとハンダ付けする作業の手間や苦労を考えると、あまりにも大変すぎることが目に見えていました。

「じゃ、もー、ワイヤレスは捨てて、ラズピコでええやん!」

というわけで、2号機となる息子専用機では「Raspberry Pi Pico(RP2040)」の互換基板を採用。ハードウェアでやると過酷な作業量になるSOCD(同時押し)の「後押し優先」切り替えを、ソフトウェアの力でスマートに解決していきます。

これにより、PC(Steam)の『スト6』はもちろん、実機のNintendo Switchで『ストリートファイター 30th アニバーサリーコレクション(アニコレ)』のストII、さらには実機のPS3で『ウルトラストリートファイターIV(ウルIV)』まで、本物のゲーム機(実機)をそのまま跨いで完全に遊び尽くせるマルチな仕様を賢くビルドしていきます。

今回は、「RP2040-Zero」基板へのファームウェアのインストールからオリジナル配線の登録、自然と覚えられるモード切り替えまでの初期セットアップの全工程を、余すことなくフルボリュームでお届けします。


🛒 開発裏話:カホパーツでの絶望と、アリエクでの「バッタモン」疑惑

まずは心臓部となる「RP2040-Zero」の調達です。地元のカホパーツセンターへ駆け込んだものの、お目当ての型番が店頭にありません。代わりに新型チップを積んだ「RP2350(Pico 2など)」を見かけたのですが、初めてのラズパイゆえに知識がなかった筆者には、形状が似ているだけの別メーカーのバッタモン(偽物)に見えてしまい、購入をスルーしました。

さらに、AI(Gemini)に互換性を聞くと「まだ公式バイナリがないから、自分でソースコードからビルド(コンパイル)し直しだよ」という少し古い回答をされ、面倒くさそうだなと判断(※実際には最新のv0.7.12で普通に対応していました)。

最終的に、実績があって使い慣れている2040ベースでいこうと決意し、アリエクスプレスの「Flextronics Store」で3個まとめ買いを敢行しました。自作工作では、壊れていたり自分で壊してしまったり、あるいは次の予備が欲しくなったりすることが日常茶飯事だからです。3個で1,222円という爆安価格でしたが、中国発送にもかかわらず、なんと7日間で手元に届くという嬉しい誤算がありました。


2号機セットアップの全4ステップ

手元に届いた「RP2040-Zero」の導入手順は、以下の4ステップを順番に進めるだけで完了します。

  1. ファームウェアのインストール
  2. お好みのコントローラーモード指定での起動
  3. ボタンの設定(ピンマッピング)
  4. SOCDモード指定での起動

Step 1:ファームウェアのインストール

まずはファームをダウンロードします。

GP2040-CEのサイトhttps://gp2040-ce.info/downloads/
から、自分の基板のタイプのものをダウンロードします。
私のはWaveshareのRP2040-Zeroの互換品なので「GP2040-CE_0.7.12_WaveshareZero.uf2」
ここになかったら、Githubのページから。https://github.com/OpenStickCommunity/GP2040-CE/releases/

次に、基板の頭脳となる「GP2040-CE」をマイコンに書き込みます。かんたんです。USBメモリにファイルをコピーするのと同じ。

  • PCにそのままUSB接続する
    工場出荷状態のまっさらな新品基板は、中にプログラムが一切入っていないため、BOOTボタンを押す必要はありません。ただUSBケーブルでPCに挿すだけで、自動的にファームウェア書き込みモード(RPI-RP2 ドライブ)としてパソコンに認識され、フォルダが立ち上がります。
  • ファームウェアをコピーする
    公式リリースページ等からダウンロードしてきた互換ファームウェア GP2040-CE_0.7.12_Pico.uf2 を、開いた RPI-RP2 ドライブの中に直接ドラッグ&ドロップ(コピー)します。
  • 自動でマウント解除
    ファイルを置くと数秒で書き込みが走り、自動的にウインドウがパッと閉じます。これでファームウェアのインストール自体は完了です。

このあと、GNDとどこかのPINをピンセットなんかでショートさせると、動作していることがわかります。今回、僕はUBUNTSUでやってるので、このアプリで確認してますが、Windowsであれば、純正のコントローラーのプロパティで確認できます。

たーのしぃー!



Step 2:ボタンの設定(ピンマッピング)

引きやすさを最優先して独自のオリジナル配線(変則ピン配置)にしている場合、初期状態のままだとボタン配置がぐちゃぐちゃになっています。内部の設定画面(Web Config)を開いて、自分の配線ノート通りにボタンを紐付けます。

管理画面(Web Config)への入り方

通常は「STARTボタンを押しながら挿す」必要がありますが、オリジナル配線だとどれがSTARTか分かりません。ここでも物理ショート技が最も手早いです。

  1. パソコン側で、あらかじめブラウザ(Chromeなど)を立ち上げ、アドレスバーに http://192.168.7.1 と入力して開いておきます(この時点ではまだ繋がりません)。
  2. 初期設定においてSTARTボタン(内部コードのS2 / 接続テスト画面の7番)の役割を与えられているピン(GNDの真向かいにある GP01 )と GND ピンをピンセットなどでショートさせます。
  3. ショートさせたまま基板の 「RESET」ボタン を1回押すと、基板内部で設定用のミニサーバーが立ち上がります。
  4. 先ほど開いておいたブラウザのページをリロード(再読み込み)すると、Web Configurator画面が出現します。

ピンマッピングの入力

  1. 画面が立ち上がったら、右上のメニューから言語を「日本語」にし、ボタン表記を「PS3」または「PS4」モードに切り替えます。これで画面が「Cross(×)」「Triangle(△)」「Options」といったおなじみの英語表記に変わります。
  2. お手元のオリジナル配線に合わせて、各ボタンの横にあるドロップダウンから、実際にハンダ付けした通りの「GP〇〇」の数字を1対1で割り当てていきます(今回の作例では、GP27にOptions、GP29にPSボタンを割り当てています)。
  3. すべて入力し終えたら、画面の一番下にある 「Save(保存)」 ボタンを必ず押します。画面に青い保存完了バーが出れば登録完了です。

【📸 スクリーンショット挿入:Web Configの『Pin Mapping(ピン割り当て)』画面。各項目にGP番号が入力され、下部に『保存完了!』の青いバーが表示されている画面】

Step 3:お好みのコントローラーモード指定での起動

ファームウェアが入った基板は自動で再起動し、ゲームパッドとして動き始めます。ここで、遊びたい実機や環境に合わせた「接続モード」へ切り替えます。

GP2040-CEのモード選択ルールには、「1(B1)がSwitch、3(B3)がPS3、4(B4)がPS4」という、数字とゲーム機が完全に一致した美しすぎる規則があります。これを覚えておけば、マニュアルいらずでいつでも一瞬で実機への対応切り替えが可能です。

  • X(B1)を押しながら起動: Nintendo Switch モード(SwitchのアニコレでストIIを遊ぶときはこれ!)
  • □(B3)を押しながら起動: PS3 モード(3だけにPS3!実機のPS3でウルIVを遊ぶときはこれ!)
  • △(B4)を押しながら起動: PS4 モード(4だけにPS4!PCでのスト6を使い慣れたPS4パッド表記環境で遊ぶときはこれ!)

ベア基板でのスマートな切り替え方

まだケースに入れる前のむき出し(ベア)の状態なら、ケーブルを抜き差ししなくても、通電したまま基板上のピン操作で一瞬で切り替えられます。

  1. パソコンにUSBを挿して通電した状態のままにします。
  2. 自分のオリジナル配線において、目的のモードに対応するボタン(例:PS4モードなら内部コードのB4にあたる GP06(△ボタン))と、すぐ近くにある GND(アース) ピンをピンセットなどで接触(ショート)させます。
  3. ショートさせた状態を維持したまま、RP2040-Zero基板上にある小さな 「RESET」ボタン をカチッと1回押します。
  4. 基板が瞬時に再起動し、脳内が指定の実機モードへと切り替わってフラッシュメモリに記憶されます。

Step 4:SOCDモード指定での起動

最後は、各格ゲータイトルや使用キャラクターに合わせて最も重要になる SOCD設定(同時押しルール) です。

PC版のスト6では「上下左右ともにニュートラル」が公式規約(CPTルール)として必須ですが、実機のPS3でウルIVの「ためキャラ」などを使う息子さんにとっては、左右や上下の入力で直前に押した方向が優先される 「後押し優先(Last Wins)」 が使えると、ため技の切り替えやステップの立ち回りが劇的に快適になります。

1号機では「空中配線4個追加」の過酷なハンダ作業とスペースの限界を避けるため見送ったこの機能も、ラズピコ(ソフトウェア)なら手元のシステムボタンの同時押し(ホットキー)だけで、ゲーム機やタイトルに合わせて一瞬で魂を切り替えることが可能です。

スト6用:SOCDニュートラルにするコマンド

通常起動(ゲームパッドモード)の状態で、以下のシステムボタンを同時に長押しします。

  • OPTIONS(GP27) + PSボタン(GP29) + 方向キー下(GP03)
    (※これで上下左右ともに完全ニュートラルに固定されます)

ウルIV・ためキャラ用:後押し優先(Last Wins)にするコマンド

同じく、通常起動の状態で以下の組み合わせを長押しします。

  • OPTIONS(GP27) + PSボタン(GP29) + 方向キー左(GP04)
    (※これで左右や上下で「後から押した方向」が優先され、ためコマンドの成立が格段にスムーズになります)

一度入力してしまえば、基板側のフラッシュメモリがしっかりと設定を記憶してくれるため、ゲーム機を跨いでもお好みの設定が維持されます。ハードウェアでの過酷な作業量を、ソフトウェアのエキスパートとしての判断で楽に、かつ高機能にクリアした瞬間です。


まとめ

ワイヤレスを捨ててRaspberry Pi Pico(RP2040-Zero)に移行した2号機は、驚くほどスマートにセットアップが完了しました。

  1. ファームウェアを落としてフォルダにコピーするだけ
  2. 「1はSwitch、3はPS3、4はPS4」で実機モード指定起動
  3. 管理画面(Web Config)でオリジナル配線をポチポチ登録
  4. 「OPTIONS+PS+方向キー」でスト6仕様やウルIV後押し優先へ瞬時切り替え

脳内(システム側)の準備はこれで完璧に整いました。マルチな実機ハードでストII、ウルIV、スト6すべてを最高の環境で遊び尽くせる仕様です。次回はいよいよ、この2号機の筐体(ケース)ビルドやキースイッチの組み込みといった、ハードウェア側の工作へと突入します。お楽しみに!