前回書いたこちらの記事の後編記事となります。
PCBWayに発注していた基板と3Dプリントケースが届いたので、今回はパーツの実装からファームウェアの書き込み、完成までの製作過程をご紹介したいと思います。

GP2040-CEを使って、スーパーファミコンのコントローラーをUSBゲームパッド化するためのカスタム基板とケースを設計しました。
上記前回の記事では、GP2040を使ったスーファミコントローラー用のUSBゲームパッド化基板の設計やType-C端子に対応させたカスタムケースの設計、そしてPCBWayに発注していた基板と透明カラーケースが到着したところまでをご紹介しました。
今回はその続きとして、到着した基板のパーツ実装からファームウェアの書き込みや設定、そして動作確認から完成までの製作過程をまとめていきます。
朝活、この前作った自作コントローラーのブログを書いてたのだが…
なぜだか遊んでる…🎮 https://t.co/xDUoDL0BVF pic.twitter.com/Ig0R4YUFko— ガジェット大好き!! (@smartphone_jp1) August 22, 2025
GP2040-CEを使ったスーファミコントローラーUSBゲームパッド化基板の製作!
前回の記事でご紹介しましたが、PCBWayから届いた3Dプリントパーツは非常に綺麗な仕上がりとなっていました!
設計段階からカスタムケースを作るなら透明なカラースケルトンケースで作りたいと思っていたのですが、ここまで綺麗に仕上げてくれるともう大満足です。
PCBWayではUTR-8100という透明マテリアル(レジン)が扱われていますが、さらに染色オプションを付けることにより、このように希望の色味のカラー透明ケースとして仕上げることが出来ます。
色味はPANTONEカラーコードから指定出来るので、膨大な色数の中から自分のイメージに合った色味を選択することが出来るので、CADのレンダリングイメージに近いものを製造してもらうことが出来ます。

これまで何度かPCBWayでの透明レジンの染色を試していますが、どれも非常に綺麗な仕上がりで、そして反りや大きな収縮といったものもこれまで発生していないようなので、その造形精度は高いようです。
僕が最近PCBWayの3DPサービスにハマってる理由③
自作ゲーム機のカラースケルトンケースとか作る時の相性は抜群👌
・・・今後も増えていくでしょう…🤤 https://t.co/i8gcuNkcID
— ガジェット大好き!! (@smartphone_jp1) July 19, 2025
PANTONEカラーを指定して透明カラーレジンでの造形物を製造出来るのは、現状おそらく他社では出来ない?PCBWay独自のサービスなのかなと思います。
個人レベルの製作物で、これだけクオリティーの高いケースや造形物を作ることが出来れば、いろいろと活用出来ると思います!
スーファミコントローラー型ゲームパッドの基板とType-Cカスタムケースが完成したよ🎮
僕もかなりモデリング頑張ったんけど、PCBWayで作ったケースが超絶綺麗で全て持ってかれた感じかな!
本家コントローラーに入れても使えるようにPCB作ってるので、もう1枚基板は作る・・・📝 pic.twitter.com/Ibzr3LX6dW
— ガジェット大好き!! (@smartphone_jp1) August 18, 2025
ただ、染色オプションを付けるとそこそこ高額な製造料金となってしまうのは、自作で製作するプロジェクトにおいて少し痛い部分ではありますが・・・
パーツの実装
それでは基板のパーツ実装です。
リフローでの実装を想定していたので、基板と一緒にステンシル(メタルマスク)も発注していました。
いつものようにステンシルを使いはんだペーストを塗布します。
本基板は、カスタムケースを使ってType-C端子&ケーブルで使うことや、またUSBケーブル(Type-A)を接続し本家コントローラーのケースとの組み合わせでも使えるように基板設計しています。
カスタムケースを使わず本家コントローラーのケースをそのまま活かして使いたい場合は、Type-C端子など一部実装不要なパーツが出てきますが、今回の実装では面倒なので全てのパーツを実装してしまいました。
ただRGB LEDは本家ケースでは点灯が完全に見えなくなってしまうので、未実装にしておいても問題ありません。(詳しくは後述します)
RP2040やType-C端子といったピッチの狭いパーツがいくつかありますが、実装スペースに余裕があったのでブリッジ等の修正がしやすいようにある程度パーツ間のクリアランスを取っているので、はんだ作業に慣れた方なら本基板の実装はそれほど難しいものではないと思います。
ちなみに、ステンシルを使ったはんだペーストの塗布ではいつもこれを使っています。
パーツの実装は、MHP50というミニリフロー装置を使いました。
PD電源が使えコンパクトで作業スペースの邪魔にもなりにくい、自作基板製作でいつも愛用している非常に便利なホットプレートです。

そして今回製作した基板はMHP50のホットプレートを超えるサイズ(約125mm×48mm)だったため、以前自作したこのようなMHP50専用のスタンドを使い作業を行いました。
MHP50を使ったリフローで、ホットプレートサイズを超える大きな基板にも対応することが出来るので大変便利です!

実装は綺麗にでき、動作確認も問題なく一発OKでした。
本家ケースとの組み合わせで使う場合
本家ケースとの組み合わせで使う場合、以下パーツは不要となります。
私は面倒なので全て実装してしまいましたが、以下赤枠部分のパーツはカット(未実装)しても問題ないパーツとなります!
【不要パーツ】
・J2(Type-C) ・R2/R4(抵抗) ・LED1~LED6(RGB LED) ・C15~C20/C12(コンデンサ) ・F1(ヒューズ)
カスタムケースとの組み合わせで使う場合
Type-C端子が使えるカスタムケースとの組み合わせで使う場合、以下パーツは不要となります。
赤枠部分のパーツはカット(未実装)しても問題ないパーツとなります。
【不要パーツ】
・C24(コンデンサ) ・F2(ヒューズ)
LR基板の取り付け
メイン基板のパーツ実装が出来たら、LおよびRスイッチの基板を取り付けます。
本家コントローラーに付属する基板を取り外して今回使いまわしました。(※LR基板のガーバーも用意しています)
LおよびR基板を本ボードにはんだ付けして基板の実装は完了です!
本プロジェクトに興味ある方は、そちらからダウンロードして下さい!
組み立て
カスタムケースで使用
今回PCBWayで製作した3Dプリント製のカスタムケースは、Type-C端子で使えるように設計しています。
スーファミコントローラー型のゲームパッドとして今風にType-Cケーブルが使え、透明ケースで作ればアクセントとなるRGB LEDの点灯も活かせる仕様となります。
スイッチやラバーパーツ、固定用ビスは全て本家スーファミコントローラーのものを流用しています。
アリエクなどでスイッチ部分の互換パーツが多数販売されているので、これを使ってみるのもいいと思います。

PCBWayで製造したカスタムケースは、嵌め合いや強度など特に問題なく、非常にいい仕上がりでした!
本家ケースで使用
本家スーファミコントローラーのケースにもそのまま組み込めるように基板サイズやネジ穴の位置など最適化しています。
本家ケースのケーブル穴から4ピンUSBケーブルを引き出す構成で、外観はそのままに中身だけをアップデートしたUSBゲームパッドとして使うことが出来ます。
お手持ちのType-Aケーブルをカットして接続するか、市販されているUSB4芯ケーブルを使います。
USBの4芯ケーブルは、赤(VBUS) / 黒(GND) / 緑(D+) / 白(D-)となっているのが一般的です。
本基板の対応するパッドにそれぞれをはんだ付けします。
ファームウェアの書き込み
組み立てが完了したらファームウェアの書き込みです。
本ボードは、GP2040-CEファームウェアでの使用を前提としたハードウェア構成となっています。
Web Configuratorを使いWebブラウザ上で各種設定が行え、接続するハードウェアによりスイッチ割り当て(GPIOの割り当て)等を簡単に変更することが出来るので便利です!
GP2040-CEの詳細に関して詳しくはこちらの本家サイトをご覧下さい!
参考 Multi-Platform Gamepad Firmware for RP2040GP2040-CEそれではファームウェアの書き込みです。
本ボードはRaspberry Pi Picoで動作する標準キーマップでGPIOをハードウェア接続しています。
書き込むファームウェアは、以下本家サイトからRaspberry Pi Pico用の最新のものをダウンロードして使います。
今後ファームウェアのバージョンが上がった際に動作や操作方法等が変わってくる可能性もあるので、動作確認が出来ている現在(2025.08)の最新ファームウェア(GP2040-CE_0.7.11_Pico.uf2)を以下からダウンロード出来るようにもしておきます。
それではファームウェアを書き込みます。
本基板にUSBケーブルを挿し込みPCと接続します。
[BOOT]スイッチを押した状態で[RESET]スイッチを押すとDFUモードに入ります。
PCにUSBマスストレージとして認識されるので、あとは上記ダウンロードしたファームウェアをドラッグ&ドロップして書き込めば完了です。
Web Configuratorを使って各種設定
ファームウェアの書き込みが完了したら、Web Configuratorを使って本基板が動作する最低限の基本設定だけを行っておきます。
Web Configuratorを立ち上げる
Web Configuratorの立ち上げは、[START]スイッチを押した状態でUSBケーブルを差し込み通電するか、または[START]スイッチを押した状態で本基板の[RESET]スイッチを押します。
そしてブラウザで以下アドレスにアクセスするとWeb Configuratorが立ち上がります。
ここから最低限の設定だけ行っておきます。
入力モードの設定
まず[設定]の[入力モード設定]を[標準HID]に変更します。
GPIO端子割り当て設定
次に[構成設定]から[GPIO割り当て設定]へ進みます。
基本的に標準で割り当てられている設定からハードウェア構成(GPIO)は変えていないので変更する必要はありませんが、スーファミで使う12キー以外(使用していないGPIO)を削除しておきました。
LED設定
最後にLEDの設定です。
[構成設定]から[LED設定]へ進みます。
データ端子を28にしておきます。
最大輝度やステップはお好みで!
最後に、[ケースRGB LED]をこのように設定します。
RP2040の読み取り専用メモリ内に設定内容が保存されます。
以上で設定完了です。
ブラウザを閉じ、再起動すればゲームパッドとして使えます。
本基板が動作する最低限の設定しか行っていませんが、接続するデバイス(ゲーム機など)によりGPIOピンに割り振られたスイッチを変更したり、複数デバイスで使う場合プロファイルを登録したり・・・、GP2040-CEに関して詳しくは本家サイトを参考に設定して使って頂ければと思います。
LEDの点灯パターンの変更
本基板背面に、ケースLEDとして6つのRGB LEDを搭載しています。
点灯パターンを変更する場合、以下スイッチ操作による変更がデフォルトで設定されています。
| スイッチ操作 | 内容 |
| [START] + [Y] | LEDの明るさを上げる |
| [START] + [B] | LEDの明るさを下げる |
| [START] + [R] | 次の色に |
| [START] + [L] | 次のエフェクトに |
動作確認(遊んでみる)
接続するゲーム機やPC用エミュレータによってはスイッチの割り当てを変更する必要が出てくる場合がありますが、GP2040-CEではプロファイルを設定することにより切り替えたりも出来るので便利です。(詳しくは本家サイトを参考にして下さい!)
朝活、この前作った自作コントローラーのブログを書いてたのだが…
なぜだか遊んでる…🎮 https://t.co/xDUoDL0BVF pic.twitter.com/Ig0R4YUFko— ガジェット大好き!! (@smartphone_jp1) August 22, 2025
子供の頃はゲーム少年じゃなかったので(剣道少年でした)、大抵のゲームがお初で楽しい!
スーファミコントローラーのUSBゲームパッド基板とカスタムケース、可愛いのが完成した👌😘 pic.twitter.com/xCVWuFuHmN
— ガジェット大好き!! (@smartphone_jp1) August 22, 2025
出来る限り本家コントローラーの外観形状やスイッチ部分の作り込みを再現しているので、操作感もいいものが出来たと思います。
操作性確認のため遊んでる🎮
すごくいいのが出来たよ👍こういう曲線面はモデリングしたところで綺麗に造形出来ないのでこれまで作らなかったけど・・・
ここまで綺麗に仕上がるなら、こういうの今後いろいろと作りたくなるよね! pic.twitter.com/hdPX0zJ93u— ガジェット大好き!! (@smartphone_jp1) August 18, 2025
GPIO割り当てを変更しWeb Configuratorに入れなくなった場合の対処
以上でスーファミコンコントローラー型USBゲームパッドの完成です!
カスタムケースとの組み合わせで今風にType-C端子&ケーブルで使うか、または本家ケースを活かして使うか、お好みで選択することが出来ます。
あとGPIOの割り当てを変更してWeb Configuratorに入れなくなった場合の対処法を書いておきます。
RP2040でWebコンフィグだか立ち上げるためのピンを変更しちゃって入れなくなり…
ファーム書き直しても設定データは残ってるから入れず・・・
確かラズパイ公式さんのどっかにフラッシュ消去するuf2ファイルがあったような?
起きたら探せメモ📝
— ガジェット大好き!! (@smartphone_jp1) June 20, 2025
GP2040-CEでは各種設定をWeb Configurator経由で設定出来るので便利なのですが、先述の通りWeb Configuratorに入るには[START]ボタンを押した状態で通電(またはリセット)する必要があります。
そして接続するデバイスによりGPIOの割り当てを変更して使う場合、例えば[START]ボタンのGPIO割り当てを変更してしまいWeb Configuratorに入れなくなってしまった際は、以下手順により一度本基板で使われているマイコン(RP2040)を初期化(設定情報を消去)してから再度ファームウェアを書き込む事により初期状態に戻すことが出来ます。
- flash_nuke.uf2を書き込み、設定情報を消去 する
- 新たにGP2040-CEファームウェアを書き込む
本ボードの[BOOT]スイッチを押した状態で[RESET]スイッチを押すとUSBマスストレージとしてPCに認識されるので、ドラッグ&ドロップで以下ファイル(flash_nuke.uf2)を書き込み、まずRP2040を初期化します。
続いて同様の操作で上記GP2040ファームウェア本体(GP2040-CE_0.7.11_Pico.uf2)を書き込めば設定情報がデフォルト状態に戻るので、STARTボタンを押した状態で通電することによりWeb Configuratorに入ることが出来ます。
そして再度上記手順に従い設定を行って下さい!
使用パーツ一覧
今回使用したパーツの一覧です。
| パーツ | 定数 | 入手先 |
| コンデンサ (0603) | C1/C2/C5/C6/C7/C8/C9/C10/C11 C15/C16/C17/C18/C19/C20/C23 100nF C3/C4 1μF C12/C24 10μF C13/C14 15pF | AliExpress |
| コンデンサ (0805) | C21/C22 1μF | AliExpress |
| フューズ(1206) | F1/F2 500mA | AliExpress |
| USB端子 | J2 Type-C端子 | AliExpress / 秋月電子 |
| RGB LED (5050) | LED1~LED6 WS2812B(5050) | AliExpress / 秋月電子 |
| MOSFET | Q1 BSS138(SOT23) | AliExpress / 秋月電子 |
| 抵抗 (0603) | R1/R8/R10/R1R1 10kΩ R2/R4 5.1kΩ R3/R7 1kΩ R5/R6 27Ω R9 470Ω | AliExpress |
| タクトスイッチ (4P SMD) | SW13/SW14 3mm×4mm×2.5mm | AliExpress |
| フラッシュ | U1 W25Q128JVPIQ | AliExpress |
| ESD | U2 USBLC6-2SC6(SOT23-6) | AliExpress |
| MCU | U3 RP2040 | AliExpress / 秋月電子 |
| LDO(3.3V) | U4 XC6206-3.3V(SOT23-3) | AliExpress |
| クリスタル (3225) | Y1 12MHz | AliExpress / 秋月電子 |
最後に!
今回のスーパーファミコンのコントローラーをUSBゲームパッド化させるプロジェクトも、無事に完成させることが出来ました!
PCBWayで製作した基板と3Dプリントケースは設計段階で狙った通りの仕上がりとなり、Type-C端子やRGB LEDを搭載した今風の構成と、本家ケースを活かしたクラシックな使い方の両立を実現出来ました。
特にPCBWayの3Dプリントサービスでは透明レジンにPANTONEカラーでの染色が可能で、これは他社では対応出来ないポイントとなり、今回のように「レトロデザイン × カスタムカラーケース」といったユニークなプロジェクトを形にできたのも、このサービスのおかげだと感じています。
動作確認等が完了し問題ないことが分かったので、基板データやケースデータを前回の記事に追記しておきます。
興味ある方は前回記事も見て頂ければと思います。

前回のファミコン版に続いて、今回も自分なりのアレンジを加えた“今風なSFCゲームパッド”として完成させることが出来たのは、とても面白い経験となりました。

レトロなハードウェアって、本当に触っているだけでワクワクさせてくれる面白さがありますよね!
今回のように少し今っぽいアレンジを加えてみるだけで、昔の懐かしいデバイスがまた新しい形で楽しめるのも魅力だと思います。
これからも遊び心を大事にしつつ、レトロハードを題材にした電子工作や、自分なりのカスタムを加えたものづくりを楽しんでいけたらと思います。








































コメントを残す