Skip to content

筐体組立手順書(設計の要点つき) ​

筐体を先に完成させ、nes-rom-reader(#13)は後から足すための手順書。上から順に進めれば組み上がるように書いてある。 寸法の正は cad/params.scad、締結の正は cad/README.md、ピン割当の正は firmware/pico-lever/main.py、実測値は 02 実測値。

2026-09-22 時点の前提

  • 仮組み: 側板は印刷済みのものを使い、受けレールを後付けで接着する。後日、レール一体の側板を再印刷して側板ごと交換する(STEP 11)
  • CAD は 現物では未確認の部分がある。各 STEP の「判定」で NG が出たら、そこで止めて issue にコメントする
  • 関連 PR: #36(レール)/ #44(底板・back・Dock 裏返し)/ #46(LED ホルダー)/ #32(ボタン)/ #40(レバー)/ #38(LED ファーム)/ #42(シミュレーター)

設計の要点 ​

項目決定理由
筐体の締結側板内面に受けレールを接着し、各パネルを M3 でネジ留め(#34)元の CAD にパネル同士の固定が無かった。側板は印刷済みなので後付け
Dock は裏返し(部品面が下・下面 z 30)底板の高さ 27 のポスト ×4 に M2.5 で固定(#43)LCD を外向きに付けると FPC の接点面が DISPLAY コネクタと合わない(実機で確認。bitstream では直らない)。FPC は約 45mm で、30mm の高さで少したるむ
底板は下からネジ止め側板に接着した bottom_nut ×4 へ、下から M3 × 12。ネジ頭は座掘りに収まるDock が裏返しでメンテしづらいので、底板+Dock+Pico+分岐基板を 1 ユニットで下へ抜けるようにする
LCD の保持lcd_strap(LCD 裏面の帯)を側板のブロックへネジ留めbezel は座掘りに入れるだけで、裏から押さえる物が無かった
電源は USB 1 本・ケーブル直出し外の USB ケーブル → back の穴 φ5.5 → 中で切る → 5V 分岐基板 → Dock / Pico 2 / アンプ / LEDパネル取付の Type-C(UCF2P-CB21)は内蔵回路で約 0.45V 下がり、Dock に電源が入らなかった。直結なら起動する
Dock への給電分岐基板 → 切った USB-C プラグ → L 型 USB-C アダプタ(口を上向き) → USB-JTAGDock 後端〜back は 22mm しかなく、ストレートのプラグは入らない(L 型の飛び出しは 11.0mm)
アンプとボリュームM8403VD を back の棚に載せ、サムホイールの縁を back の横長スロットから回すボリュームは縁を指で回す部品(φ15.8・基板から 3.5 はみ出す)
マーキー窓の裏の marquee_led_holder に WS2812 ×15(5 列 × 3 段)。音に合わせて光る(#45)ミニ LCD は不採用。音は Dock の 3.5mm の L → 10kΩ → Pico GP28
nes-rom-readerback の内面に直付け(下段 = ボス 4.5 + 金属スペーサー 10、上段 = 基板の上縁をワッシャで挟む)。back を外すだけで足せる寸法はガーバー実値(83.82 × 77.47・穴ピッチ 77.724 × 70.74)。上段の穴はカセット開口に掛かるので使えない
後付け用の配線nes-rom-reader 用の予備配線(4 本: 5V / GND / Pico GP13 / GP14)を作って未接続で置くM5Stamp → Pico → Dock の中継にすると、カート無しの時に内蔵 ROM へ戻せる

全体の見た目と位置関係は 3D シミュレーター(「背面確認」「電源配線」「レール確認」ボタン)で確認できる。

図6 組立順序

図7 筐体内の配線ブロック図


印刷物 ​

STL は cad/out/print_0921/(レール類)と cad/out/print_0922/(底板・back・LED)。

パーツ個数材料状況・注意
side_l / side_r各 1PLA 白✅ 印刷済み(仮)。後日レール一体版で再印刷
front1PLA 白✅ 印刷済み。front_jig で φ3.4 を 2 箇所ドリル
rail_front・rail_top(右用)各 1PLA✅ 印刷済み
rail_front_l・rail_top_l(左用)各 1PLA右用の鏡像。区間ごとに幅が違うので同じ物は使えない
rail_back_lo2PLA左右共用
rail_gauge / front_jig各 1PLA段差ゲージ / front の穴あけテンプレート
bottom(再設計版)1PLA 白Dock 用ポスト 27・Pico 2 の M2 台座・分岐基板のリブ・FPC 用のアクセス窓。旧底板は使わない
bottom_nut4PLA側板に接着。M3 インサートは上面から
lcd_strap / lcd_strap_block1 / 2PLALCD の押さえ帯と、側板に接着する受けブロック
bezel(黒)/ speaker_bar / top各 1PLA通し穴入り
panel1PLA 白表面をベッドに伏せて印刷。通し穴入り
lever_plate / button_plate / ball各 1PLAレバー・ボタンの押さえ、レバー球
marquee_led_holder1PLA 白LED 5 列 × 3 段のライトボックス
back_captive1PETG最後でよい。ケーブル穴・ボリュームのスロット・アンプの棚・nes-rom-reader の取付部つき。取付部が上を向く姿勢で印刷

旧 bottom_clamp は使わない(すでに貼ってあれば外さなくてよい。bottom_nut とは 4mm 離れている)。board_mount は印刷しない。

部品と工具 ​

部品必要数備考
M3 熱圧入インサート24(+後付け用 4)レール 18・bottom_nut 4・lcd_strap_block 2。back の取付部 4 は後日でも可。在庫 30
M3 なべネジ 8mm20front 2・panel 4・bezel 4・top 4・back 4・lcd_strap 2
M3 なべネジ 12mm4底板(下から)
M2.5 なべネジ 6〜8mm4Dock → ポスト
M2 なべネジ 6mm10lever_plate 2・button_plate 4・Pico 2 ×4
Pico 2(ファーム一式入り)1main.py lever_logic.py rom_boot.py marquee.py rom/
Tang Primer 20K Dock + LCD1DIP スイッチ 1 番 ON。bitstream は内蔵 Flash 済み
RKJXV122400R / 12mm タクト 赤 2・黒 2 / LS601 赤 1・青 11 / 4 / 2
アンプ M8403VD + φ27 スピーカー ×2 + 3.5mm ケーブル1 式ケーブルは切って使う
WS2812 φ515aitendo 10 + 秋月 5
導電性高分子コンデンサ 1000µF 16V1足の長い方が +
抵抗 330Ω ×3 / 10kΩ ×1—照光 LED ×2・WS2812 の DIN / 音の取り口
穴あき基板 PU26×4415V 分岐基板(底板のリブにはまる)
USB-A – USB-C ケーブル(切って使う)1このケーブルは 白 = 5V・赤 = GND(テスターで確認済み)
L 型 USB-C 変換アダプタ(上下タイプ)1飛び出し 11.0mm
XH 2P / 3P / 4P / 5P、ジャンパ線、AWG24〜28、熱収縮、結束バンド—

工具: 半田ごて(インサート圧入は 200〜220℃)、テスター、ノギス、ドライバー(M2 / M2.5 / M3)、φ3.4 ドリル、瞬間接着剤(ゼリー状)、剥がせる両面テープ、紙やすり #240、フォームテープ 1mm、マスキングテープとペン。


STEP 1. 机の上で動かしてから、半田付けする ​

筐体に入れると手が入らない。1-A でブレッドボードに挿すだけで全部動かし、1-B で同じ配線を半田付けに置き換える。信号がどこへ行くかの一覧は図9、ブレッドボードの挿し方は図11、半田付けの分け方は図12。

図9 全配線の一覧

1-A. ブレッドボードで試験する(半田付けなし) ​

図11 ブレッドボード試験

写真と同じ 830 穴のブレッドボード(USB を上にして Pico を 1〜20 行に挿す)。中央の a〜e / f〜j は「同じ行の 5 穴」がつながり、両側の + / − レールは縦に全部つながる。Pico の左の列(1〜20 番)は a〜c の穴、右の列(21〜40 番)は h〜j の穴が延長。そこにジャンパ線を挿す。

コンパネから来る線を、どの穴に挿すか ​

押しボタンは「押すと 2 本の足がつながる」だけの部品。片方の足を Pico の入力に、もう片方の足を GND につなぐと、Pico が「押された」と分かる。この「もう片方の足」が、表で言う GND。

行番号はブレッドボードの脇の数字、列はその上の文字(USB を上にして Pico を 1 行目から挿している前提)。左のピンは a〜c のどこでも、右は h〜j のどこでも同じ。

コンパネの線挿す穴Pico のピン
ボタン A(赤・手前)の片方の足10 行 bGP7
ボタン B(黒・手前)の片方の足11 行 bGP8
A 連射(赤・奥)の片方の足12 行 bGP9
B 連射(黒・奥)の片方の足14 行 bGP10
ボタン 4 個の「もう片方の足」13 行 b(1 本にまとめる。まとめないなら 13 行 a・b・c と 8 行 a〜c に分けて)GND
レバー X の中点(真ん中の足)10 行 iGP26
レバー Y の中点(真ん中の足)9 行 iGP27
レバーの中央プッシュの片方の足20 行 i(使わなくてよい — 下記)GP16
レバーのポテンショの片端(X・Y の 2 本)5 行 i(f〜j の空いた穴に 1 本ずつでよい)3V3
レバーのポテンショのもう片端(X・Y の 2 本)8 行 i(同上)AGND
Start(赤 LED)の片方の足Pico に挿さない → Dock の T11—
Select(青 LED)の片方の足Pico に挿さない → Dock の P11—
Start / Select のもう片方(まとめて 1 本)Pico に挿さない → Dock PMOD の GND—
赤 LED の+330Ω を通して 3V3 へ(下記)—
青 LED の+330Ω を通して +レール(5V)へ(下記)—
LED 2 個の−(まとめて 1 本)右の −レール—

「まとめて 1 本」は、コンパネの裏で足どうしを裸線でつないで、線を 1 本だけ引き出すこと。まとめていなければ、同じ行の a・b・c に分けて挿せばよい(同じ行の 5 穴はつながっている)。

レバー(RKJXV)の 8 本から、使う線を見分ける ​

RKJXV の端子は X のポテンショ 3 本・Y のポテンショ 3 本・プッシュ SW 2 本の計 8 本。データシートの端子番号は実装の向きで変わるので当てにせず、テスターで実物を見分ける。

プッシュ SW は使わなくてよい。 Start は Select と同じ LS601 のボタンから Dock の T11 へ直結するので、レバーのプッシュが無くても困らない。ファームは GP16 を内蔵プルアップの入力にしているので、未接続なら「押されていない」と読む(押しっぱなしにはならない。ファームの変更も不要)。使わない 2 本は先端を絶縁しておく。

つなぐのは 6 本だけ:

レバーの線挿す穴
X の中点10 行 i(GP26)
Y の中点9 行 i(GP27)
X の両端の片方 + Y の両端の片方(2 本)5 行 i の行(3V3)
X の両端のもう片方 + Y の両端のもう片方(2 本)8 行 i の行(AGND)

同じ行の f〜j は 5 穴つながっているので、3V3 と AGND には 2 本ずつ別の穴に挿せばよい。両端のどちらを 3V3 にするかは、どちらでも構わない(逆だと方向が反転するだけで、あとから INVERT_X / INVERT_Y で直せる)。

見分け方(テスターを抵抗レンジにする):

  1. SW の 2 本を除ける — 他のどの線と当てても OL(∞) になる 2 本が SW。押した時だけその 2 本の間が導通する
  2. 残り 6 本を 3 本ずつに分ける — X と Y は別々のポテンショなので、違うグループどうしは OL。互いに 10kΩ 以下が出る 3 本が 1 グループ
  3. 各グループで両端と中点を見分ける — レバーを倒しても 10kΩ のまま変わらない 2 本が両端。残りの 1 本が中点(両端の片方と当てると 0〜10kΩ に変化する)

どちらのグループが X(左右)か Y(上下)かは、ここでは決めなくてよい。 とりあえず片方を 10 行 i、もう片方を 9 行 i に挿して、下の段 4 で確認して入れ替える方が早い。

照光 LED の 330Ω をどこに入れるか ​

330Ω は「3V3 の穴に挿す」のではなく、LED へ行く線の途中に直列で入れる。ブレッドボードでは空いている行を 2 つ使う:

5 行 i(3V3)── ジャンパ線 ──> 25 行 f ──[330Ω]──> 26 行 f ── 線 ──> 赤 LED の +
                                                                     赤 LED の − ── −レール

青 LED は 3V3 ではなく +レール(5V) から同じように引く(青は Vf ≈ 3.1V で、3V3 ではほとんど光らない)。LED は後回しでよい — 段 7 まで来てから付ければ足りる。

GND の集約: Pico の GND ピンは 8 本あり、全部同じ。相手ごとに一番近い GND の列に挿せばよく、集約用の線は要らない。

相手使う GND ピン
5V の電源38 番(VSYS の隣)
Dock の PMOD3 番(GP0 / GP1 の隣)
ボタン 4 個13 番(GP7〜10 の隣)
レバー33 番 AGND(GP26 / GP27 の隣)

ボタン 4 個の GND は、コンパネ側でスイッチの片方の足を裸線で渡り配線して 1 本にしてから引き出す。レバーは AGND へ行く 2 本(ポテンショ ×2 の片端)をまとめてもよい。XH ポストは使わなくてよい(動作確認だけならコンパネの線を直接 Pico の列に挿す)。

5V と GND: 右の + レールを 5V、− レールを GND にする。切ったケーブルの白(5V)/ 赤(GND)・Dock 行きプラグ・1000µF・アンプの電源・LED の電源は全部このレールへ。Pico は VSYS(39) → +、GND(38) と AGND(33) → −。左右のレールは別なので、左側も使うならジャンパ線で渡す。

つなぐ順番(1 段ごとに確認。全部つないでから電源を入れると、動かない時に原因が分からない):

段挿すもの確認
1+レール / −レール → Pico の VSYS(39) / GND(38)。1000µF(長い足 = +)テスター: +–− が鳴らない → USB-A を電源に挿して +レールが +5V(マイナスなら線の色が逆)
2Pico の GND(3) → Dock PMOD の GND、GP0(1) → J16、GP1(2) → J14(オス–メスのジャンパ線で PMOD に直接)。Dock の DIP スイッチ 1 番 ON、LCD の FPC—
3+レール / −レール → 切った USB-C プラグ(白 = 5V)→ L 型アダプタ → Dock の USB-JTAGグレー画面 → 約 17 秒でゲーム。3 回入れ直して 3 回とも
4レバー 6 本: 3V3(36) ×2・GP26(31) X の中点・GP27(32) Y の中点・AGND(33) ×2(プッシュ SW は使わない)DEBUG = True で確認。右に倒して y が動いたら X と Y が逆 → 9 行 i と 10 行 i を入れ替える。右で left なら INVERT_X = True、下で up なら INVERT_Y = True。起動から 1 秒はレバーに触らない(中立を測っている)
5ボタン: GP7(10) A・GP8(11) B・GP9(12) A連射・GP10(14) B連射・GND(13)。タクトは対角の 2 本Pico の LED が点く / 連射で明滅
6Pico → Dock の残り 7 本: GP2〜5(4〜7) → P6 T7 P8 T9、GP6(9) → T11、GP11(15) → R8、GP12(16) → T6ゲームでレバー・A・B・連射・Start が効く
7Start / Select(LS601): 対角の片方を Dock の T11 / P11、もう片方を PMOD の GND。照光 LED は赤 = 3V3(36) → 330Ω、青 = +レール → 330Ω効く・光る。LED 端子とスイッチ端子が導通していないことを先に確認
8音: Dock の 3.5mm → アンプ入力 L / R / GND、+レール / −レール → アンプ電源、端子台 → スピーカー ×2。スピーカーの − を GND に繋がない音が出る。ホイールで音量が変わる
9LED: +レール / −レール → WS2812 の 5V / GND、GP15(20) → 330Ω → 1 番の DIN(図10)。音の取り口: 3.5mm の L → 10kΩ → GP28(34)1 色で点灯 → 音が出ると動く。常に全灯なら AUDIO_FULL_SCALE を上げる
10そのまま 10 分遊ぶケーブル・アンプが熱くない。画面が乱れない

動かない時は段を戻る。グレー画面のまま = 段 2(GP0 → J16 / GND)か DIP スイッチ。真っ暗 = 段 3(給電・線の色)。REPL に rom_boot: ... skipping = J14 未接続、DDR3 still failing = 電圧不足。Pico の LED はレバー・ボタンの入力がある時だけ点く(5V が来ているかは LED では分からない → テスターで)。

判定: USB 1 本で、ゲームが起動し、レバー・A・B・連射・Start・Select・音・LED が全部動く。確認が終わったら DEBUG = False に戻す。

1-B. 半田付けに置き換える ​

図12 本番の半田付け

ブレッドボードで動いた配線を、そのまま半田付けに移す。抜ける必要があるのは「別のパーツに付いている物」との間だけ。それ以外は半田で固定する。

区分線付け方
半田で固定分岐基板 ↔ Pico の VSYS / GND直接(Pico 側はメスのジャンパ線でも可。Mac の USB を挿す時に抜けるように)
半田で固定分岐基板 ↔ 切った USB-C プラグ直接
挿しっぱなしPico ↔ Dock PMOD の 9 本オス–メスのジャンパ線(Dock を裏返す前に挿す)
半田で固定LED 15 個の間、コンパネの中直接
コネクタコンパネ → Pico / DockXH 5P(レバー)・XH 5P(ボタン)・XH 3P(Start / Select)
コネクタback ↔ 分岐基板XH 2P(外のケーブル = J1)・XH 2P(アンプ電源 = J2)
コネクタtop → 底板ユニット / backXH 3P(LED の 5V / GND / DIN)・XH 2P ×2(スピーカー → アンプの端子台)

5V 分岐基板を作る ​

図8 5V 分岐基板

穴あき基板 PU26×44(横置きで 16 × 9 穴)。底板のリブにはまる。4 行を 5V、5 行を GND のレールにして、縦に並んだ 2 穴に 1 系統ずつ付ける。

記号つなぐもの付け方
J1外から来る USB ケーブルXH 2P のポスト。back を外す時に抜く
J2アンプの 5V / GNDXH 2P のポスト。back を外す時に抜く
DDock 行き(切った USB-C プラグ側)直接半田。白 → 4 行、赤 → 5 行(このケーブルの場合)
PPico 2 の VSYS(39 番)/ GND(38 番)直接半田(Pico 側はメスのジャンパ線でも可)
LWS2812 の 5V / GND直接半田
Nnes-rom-reader 用の予備配線の 5V / GND10 列の 3 行(5V)と 6 行(GND)。先端は絶縁。省略可
+ −1000µF14 列の 3 行(長い足 = +)と 5 行(−)。逆向きに付けると壊れる
  1. 表に「5V」「GND」とペンで書く(裏返すと左右が反転する)
  2. XH ポスト ×2 と 1000µF を挿して半田付け → 裏で 4 行・5 行のレールをつなぐ(スズメッキ線か部品の足の切れ端を沿わせて数か所を半田。使うのは 2〜14 列だけでよい)。10 列と 14 列は 3 行へ、10 列は 6 行へ 1 穴ずつ延ばす
  3. テスター: 4 行と 5 行の間が鳴らない(隣り合う行なので半田ブリッジに注意)
  4. D・P・L の線を付ける。線の色は信用しない。切ったケーブルの両半分に「5V」「GND」の印を付けてから
  5. 電源だけ挿して 4 行が +5V → その後で Dock のプラグを挿す

Pico に Mac の USB を挿す時

VSYS にダイオードを入れていないので、筐体の電源が切れたまま Pico に USB を挿すと、Mac の 5V が分岐基板経由で Dock やアンプへ流れる。先に筐体の電源を入れておくか、VSYS のジャンパ線を抜いてから挿す。

コンパネ側 ​

タクト ×4 の片方の足と、LS601 ×2 の片方の足を裸線で渡り配線して GND を 1 本に。レバーはポテンショ ×2 の片端を 1 本に(プッシュ SW を使う場合はその片方も同じ GND に)。信号線と一緒に XH のハウジングへ圧着する(XH の端子は、爪をハウジングの窓側に向けて「カチッ」と鳴るまで押し込む)。

判定: 半田付けしたあと、1-A と同じ 10 段の確認がすべて通る。


STEP 2. インサートを圧入する ​

200〜220℃。垂直に当て、面一で止める。

場所個数向き
rail_front / rail_front_l各 4パネルが載る面(側板の縁に近い外向きの面)から。前面 1・コンパネ 2・ベゼル下 1。コンパネ部(幅 6)は肉が 0.9mm — 押しすぎない
rail_top / rail_top_l各 4同上。ベゼル上 1・天面前 1・天面後 1・背面上 1
rail_back_lo各 1筐体の後ろを向く面から
bottom_nut各 1(計 4)上面から
lcd_strap_block各 1(計 2)筐体の後ろを向く面から
back の取付部4(後日でも可)内側(取付部の先端)から。back を外面を下に寝かせて上から

シミュレーターの「レール確認」で、真鍮色の印と赤い矢印(入れる向き)が見られる。

STEP 3. レール・ブロックを側板に貼る ​

  1. まず剥がせる両面テープで仮止めし、パネルを載せて面一を見る。位置が決まってから瞬間接着剤に切り替える
  2. レールの位置 = 側板の稜線 → レール受け面の段差を rail_gauge で合わせる。2 面で合えば残りも合う
面bezelコンパネ帯・マーキー・天面frontback
段差(mm)33.545.57
  1. 左の側板には _l のレール。幅 6 のコンパネ区間が側板に密着していれば正しい(浮いていたら左右が逆)
  2. rail_back_lo は底板の上面に載る高さ・側板後端から 7mm
  3. bottom_nut ×4 は、底板(Dock を載せる前)に下から M3 × 12 で仮止めし、その状態で側板に当てて接着する(位置が自動で決まる)。固まったらネジを外して底板を抜く
  4. 接着面は #240 で荒らして脱脂。瞬間接着剤は保持 1 分・ネジ締めまで 30 分

判定: レールをこじっても動かない。パネルを載せて側板の稜線と面一。back が、top を付けたまま後ろへまっすぐ抜ける。

STEP 4. 前面と画面 ​

  1. front: front_jig の縁を長辺に掛けて表側にテープ固定 → φ3.4 を 2 箇所(表から裏へ)→ M3 × 8 ×2
  2. bezel の裏の座掘りに LCD を入れる(画面は外向き・FPC は下へ)→ M3 × 8 ×4
  3. lcd_strap の凸部にフォームテープ 1mm を貼り、LCD 裏面の中央に当てる。lcd_strap_block ×2 を帯の両端の位置で側板に接着 → 後ろから M3 × 8 ×2

判定: 筐体を傾けても LCD が動かない。FPC がレールに当たらない。

STEP 5. マーキー(LED・スピーカー・top) ​

図10 マーキー LED の配線

  1. marquee_led_holder に WS2812 ×15 を裏から挿す。下段・中段 = aitendo の 10 個、上段 = 秋月の 5 個(混ぜない)
  2. データは 1 → 15 の一筆書き(前の DOUT → 次の DIN)。下段 左→右、中段 右→左、上段 左→右(正面から見て)。始点は板の裏の角の切り欠き。裏から見ると左右が反転する
  3. 5V・GND は 15 個とも並列(段ごとに裸線を渡らせて端で束ねる)。まず 1 番だけ配線して点灯を確かめてから残りを足す
  4. 足の並び(DIN / 5V / GND / DOUT)は品種で違う。1 個目を付ける前に確認し、2 種類が同じ並びかも見る
  5. ホルダーを top の裏面の窓の位置に貼る(左右はスピーカーの取付リングの間で決まる)
  6. top にスピーカー ×2 を固定。speaker_bar を rail_top に接着 → top を M3 × 8 ×4
  7. LED の 3 本(5V / GND / DIN)とスピーカー線を speaker_bar の穴から下ろす

判定: 音に合わせて LED が動く。上段だけ赤と緑が逆なら main.py の LED_SWAP_RG_ROWS = (2,)。

STEP 6. コンパネ(筐体の外で完成させてから載せる) ​

  1. レバー: RKJXV の端子 8 本にリード線を直付け → 金属ケースをパネル裏の座掘りへ → 線を lever_plate の開放側へ出す → lever_plate を M2 × 6 ×2(締めすぎない)→ ball を軸に圧入。全方向に倒し切って引っ掛かりが無いこと
  2. ボタン: タクト ×4 を位置決め枠へ(端子が左右を向く向き)、LS601 ×2 を角穴へ → button_plate を被せる → 被せてから端子に半田付け(GND は渡り)→ M2 × 6 ×4
  3. 配線を XH にまとめる(レバー 5P・ボタン 5P・Start/Select 3P)→ 線を筐体に通してから panel を M3 × 8 ×4

判定: 6 個ともクリック感がある。A/B のキャップが約 2.5mm、Start/Select が約 1.2mm 出る。

STEP 7. 底板ユニット(筐体の外で組んで、下から入れる) ​

  1. 分岐基板を底板のリブの位置に両面テープで留める
  2. Pico 2 を M2 台座へ(USB 端を筐体の中央向き)。M2 × 6 ×4
  3. Dock の DIP スイッチ 1 番 ON を確認
  4. Pico ↔ Dock の PMOD 配線を先に全部挿す(Dock を載せると PMOD は下向きになって挿せない。部品面を上にして図9 のとおりに。GND から)
  5. Dock を部品面を下にしてポスト ×4 へ M2.5 ×4。ポスト先端(φ6)が Dock の部品に当たらないことを見る
  6. L 型アダプタを USB-JTAG に挿す(口を上向き = Dock の裏面側)→ 切った USB-C プラグを挿す
  7. コンパネ・LED・スピーカーからの線を Pico / Dock / 分岐基板へ繋ぐ(XH)
  8. 底板ユニットを下から入れ、アクセス窓から FPC を DISPLAY コネクタへ(ロックを起こす → 奥まで → 倒す)。30mm の高さで FPC が少したるむのが正常
  9. 下から M3 × 12 ×4。ネジ頭は座掘りに収まる

判定: 机に平らに置ける。FPC が突っ張っていない。

STEP 8. 背面(back)— 最後 ​

  1. アンプ M8403VD を back の棚に両面テープで固定。ホイールがはみ出す辺を back の内面に当てる(ホイールの縁がスロットから見える)
  2. 外の USB ケーブルを back の穴に外から通し、内面のブリッジに結束バンドで縛る → 中で切って XH 2P(分岐基板の J1 へ)
  3. アンプの線を繋ぐ: 電源(J2)・入力(Dock の 3.5mm)・スピーカー ×2。back を外す時に抜けるようコネクタに
  4. nes-rom-reader 用の予備配線(4 本・下の表)を背面の内側に丸めてテープで留め、ラベルを付ける。先端は絶縁(時間が無ければ省略可)
  5. STEP 9 を全部通してから、back を後ろから M3 × 8 ×4

nes-rom-reader 用の予備配線(後付けの時に繋ぐ 4 本) ​

nes-rom-reader の基板には電源や UART 用のコネクタが無い(5V は M5Stamp の USB から取る設計で、UART の G43 / G44 は「空けておく」とだけ決まっている)。後付けの時は、M5Stamp を載せているピンヘッダの足に線を直接半田付けする。そのため、筐体側は XH ではなく **2.54mm の 4 ピン(メスのジャンパ線 ×4 か QI 4P ハウジング)**で終わらせ、基板側に後日 4 ピンのオスのピンヘッダを付けた短い線(ピグテール)を半田付けして繋ぐ。

番号筐体側の接続元nes-rom-reader 側の半田付け先(後日)役目
1分岐基板の 5V(N の 3 行)M5Stamp の 5V ピン基板とカートの電源(USB の代わり)
2分岐基板の GND(N の 6 行)M5Stamp の GND ピンGND
3Pico GP13(17 番)M5Stamp の G43(UART0 の TX)カートから読んだ ROM を Pico へ送る。3.3V 同士なので直結
4Pico GP14(19 番)M5Stamp の G44(UART0 の RX)予備(Pico → M5Stamp への要求)
  • 長さは Pico から back の内面まで + 10cm。背面の内側に丸めてテープで留め、「ROM リーダー用」とラベルを付ける
  • 1 番には 5V が来ているので、先端が金属に触れないようにテープで覆う
  • 現行の Pico ファームは GP13 / GP14 を使わないので、未接続でも動作に影響しない
  • 展示には不要。時間が無ければ、分岐基板の N の穴を空けておくだけでよい
  • M5Stamp のどの足が 5V / G43 / G44 かは、基板を組む時に #13 で確認する(右列は上から 3V3, G46, G43, G42, G44, G41, EN, G40, G0, G39, GND — GOROman/nes-rom-reader の組み立てガイドより)

STEP 9. 通電確認(back を留める前に) ​

  • [ ] 電源を挿す前に、分岐基板の 5V–GND 間が短絡していない
  • [ ] USB を挿す → グレー画面 → 約 17 秒でゲームが起動(3 回入れ直して 3 回とも)
  • [ ] レバー 4 方向・Start・Select・A・B・A連射・B連射
  • [ ] 音が出る。背面のスロットからホイールを回して音量が変わる
  • [ ] LED が音に合わせて動く。無音で約 3 秒たつと虹色の待機表示になる
  • [ ] 10 分放置して底面・背面が触れる温度
  • [ ] nes-rom-reader 用の予備配線(作った場合)が絶縁され、ラベルが付いている
  • [ ] back を付けて外してもう一度付ける(ネジ 4 本・中の XH が抜き差しできる・線が噛まない)
  • [ ] 底板ユニットを外してもう一度付ける(下の「分解の順序」のとおりにできる)

判定: 全部 ✅ → back を留めて完成。結果を #7 にコメント(写真つき)。


分解の順序(メンテナンス) ​

目的手順
Pico のファーム更新・Dock へ Mac を繋ぐ① back の M3 ×4 を外し、少し引いて中の XH(J1・アンプ)を抜く → 後ろへ抜く ② 底板のアクセス窓から FPC のラッチを外す ③ 底の M3 × 12 ×4 を外して底板ユニットを下へ。back を先に外す(アンプの棚が Dock の後端と重なるため)
コンパネの修理panel の M3 ×4 を外し、XH(5P・5P・3P)を抜く
LED の修理top の M3 ×4 を外す

STEP 10.(後日)nes-rom-reader の後付け ​

前提: nes-rom-reader が単体でカートを読める(#13)。Pico の中継ファームができている。

  1. back を外す(上の分解の順序 ①)
  2. back の内面に基板を直付け: 下段 2 本 = ボス(高さ 4.5・インサート)に金属スペーサー 10mm をねじ込み、基板の穴へ M3 × 6。上段 2 本 = 基板の穴は使わず、スタンドオフ先端に M3 × 6 + 大径ワッシャ(φ8〜10)で基板の上縁を挟む。部品面・カードエッジを back 側へ
  3. 予備配線の 4 本を基板へ: M5Stamp の 5V・GND・G43・G44 の足に、オスの 4 ピンヘッダ付きの短い線を半田付けして繋ぐ。Pico を中継対応のファームに更新
  4. L 型アダプタを左右タイプに交換し、口を筐体の中央へ向ける(上向きのままだと基板の下端に当たる)
  5. 通電: カート無し = 内蔵 ROM で起動 / カートあり = カートの ROM で起動 → back を戻す

M5Stamp の USB-C は基板の下辺から下向きで背面には出ない。書き込みは back を外した状態で行う。

STEP 11.(後日)側板を正式版に交換 ​

レール一体の側板(side_l_integrated / side_r_integrated)を印刷したら、back → 底板ユニット → panel → top → bezel → front の順にネジを外し、新しい側板で STEP 4 以降を組み直す。穴位置は共通なので、パネル類・配線・底板ユニットはそのまま使える。


未決事項・現物で確認すること ​

項目状態
レール・bottom_nut・lcd_strap の現物確認(面一・back 着脱・FPC 干渉・インサートの保持力)CAD 上のみ確認。結果を #34 / #43 へ
Dock の取付穴まわりの部品とポスト先端(φ6)の干渉未確認 → #43
lever_plate(RKJXV 底面の中央 9 × 9 が平らで台座に座るか)未確認 → #39
LS601 の端子位置と button_plate の穴推定値で設計。合わなければ #31
LED の色の順番・足の並び(aitendo と秋月)1 番を点けて確認。違えば LED_SWAP_RG_ROWS
LED の感度 AUDIO_FULL_SCALE・操作ループ 10ms の維持実機で調整 → #45
カセット開口(112 × 19)の目隠しnes-rom-reader が入るまで素通し
Parts Manager への在庫移行miniArcade にはまだ一部しか入っていない。台帳(03_inventory.md)を正とする