6502tinymachines

ベンチの部品表

印刷用: 図面一式「NES controller-port bridge, v1b」TM-NESB-001 版 P (PDF、英語)、組み上がった v1b、写真の上に検査箇所を書き出したもの (PNG)、図面一式「NES controller-port bridge, v2b」TM-NESB-002 版 A (PDF、英語)。

tools/draw-schematics.py から tools/parts.py が生成する。回路図を描くのと 同じファイルだ。ここで手で打たれているのは状態の列だけ。図面には引き出しの 中身が分からない。

コンソール、Pi、スコープ、リレーの接点、ポートのコネクタはシートの上で conn=True で描かれている。これは買う部品ではなく、ベンチが接続する先だと いう印で、この一覧はそのためにそれらを飛ばす。だから以下はすべて、シートを 組む前に引き出しの中に存在していなければならないものだ。

集めるもの

全シートにわたる部品の種類すべてと、それがどこにあるか。

部品状態備考
74HCT04手元にあるSN74HCT04N、2026-09-09 に届いた一本
74HC165手元にあるTI の袋。v2b にはもう一つ要る
100nF手元にあるv2b では七つ使う
1k手元にあるR2、クロックピンの直列素子、2026-09-15 に配置
100pF手元にあるC4、クロックピンのフィルタ、2026-09-15 に配置
Arduino UNO R3 (ATmega328P)手元にある山の中
74HC595手元にある30 個入りの箱
100R手元にあるトリガ用
PC817 module手元にあるモジュール、リセットのパッド用
relay module, 5 V coil手元にある5 V コイル、オプト入力
LM1881N要発注本当に発注が要るのはこれ一つ。古い National の部品で、いまはほぼ再販業者しかない: 二つ買う
680k確認LM1881 の RSET。抵抗 1 本
74HCT165手元にあるC6 のシートのレジスタ。あちらが HCT なのは、C6 が 3.3 V で駆動するからだ
74LVC245手元にあるC6 のシート専用。UNO のシートはもうどれも使わない
ESP32-C6-DevKitC-1 v1.2手元にあるDevKitC-1 v1.2、代替の組み方
10k手元にあるパッドアダプタ専用。2026-09-27 に P4 の組み立てに配置。最初にそこに付いた部品は 10 オームだった: 色帯を読むこと
TP4056 + protection発注予定パッドアダプタ専用
MCP1700-3302 LDO発注予定パッドアダプタ専用
slide発注予定パッドアダプタ専用、電源スイッチ
power発注予定パッドアダプタ専用、電池
+330R確認パッドアダプタ専用、LED
ESP32-WROOM-32 devkit手元にあるブレッドボード上の 30 ピンの devkit。2026-09-30 から BLE 版

bench-v1b

まずこれを作る。 UNO のブリッジ、ポート一つ、すべて 5 V。

記号部品シートの上では
U174HCT04 at +5Vしきい値 2.0 V: NMOS の OUT0 で安全
U274HC165 at +5V (TI の袋)H が最初に出る
C1100nF+5V から GND へ
C2100nF+5V から GND へ
C3100nF+5V から GND へ
R21kCON_CLK から CP へ
C4100pFCP から GND へ
A1Arduino UNO R3 (ATmega328P)5 V ロジック、16 MHz
U374HC595 at +5VRCLK の 1 エッジ = 1 バイト
R1100RTRIG から EXT_TRIG へ

bench-v1b-head

v1b のシート 3: ヘッド (ベンチを駆動する側) の手、Pi からのリセットと電源 (立ち上げの 6.2 と 6.3)。

記号部品シートの上では
OK1PC817 moduleリセットボタンに並列のオープンコレクタ
K1relay module, 5 V coil実測: GPIO27 を高にするとコンソールに電源が入る

bench-v2b

次にこれを作る。 一本の SPI チェーンにポート二つ、シンクも数え、UNO は 一つのまま。

記号部品シートの上では
U174HCT04 at +5V余った入力 4 本を GND へ
U274HC165 at +5VH が最初に出る
U674HC165 at +5VH が最初に出る
C1100nF+5V から GND へ
C2100nF+5V から GND へ
C3100nF+5V から GND へ
C4100nF+5V から GND へ
C5100nF+5V から GND へ
C6100nF+5V から GND へ
A1Arduino UNO R3 (ATmega328P)Pi へのシリアル 115200
U574HC595 at +5Vポート 1 のバイト、2 番目に送り込まれる
U774HC595 at +5Vポート 2 のバイト、U5 から数珠つなぎ
U8LM1881N at +5V出力が 5 V: 245 は要らない
C7100nFVIDEO から VID_AC へ
R2680kRSET から GND へ
C8100nFRSET から GND へ
R1100RTRIG から EXT_TRIG へ

bench-v1

v1b の ESP32-C6 版。作るのはこれではない。

記号部品シートの上では
U174HCT04 at +5V余った入力 5 本を GND へ
U274HCT165 at +5VH が最初に出る
C1100nF+5V から GND へ
C2100nF+5V から GND へ
U374LVC245 at 3V3入力は 5V トレラント、A から B へ
C3100nF3V3 から GND へ
U4ESP32-C6-DevKitC-1 v1.2RISC-V、BLE 5、Wi-Fi 6
R1100RTRIG から EXT_TRIG へ
OK1PC817 moduleリセットに並列のオープンコレクタ
K1relay module, 5 V coilオプト入力、アクティブ低

bench-v2

v2b の C6 版。作るのはこれではない。

記号部品シートの上では
U174HCT04 at +5V余った入力 4 本を GND へ
U274HCT165 at +5VH が最初に出る
U674HCT165 at +5VH が最初に出る
U574HC595 at 3V3ポート 1 のバイト
U774HC595 at 3V3ポート 2 のバイト、数珠つなぎ
C1100nF+5V から GND へ
C2100nF+5V から GND へ
C3100nF3V3 から GND へ
C4100nF3V3 から GND へ
U8LM1881N at +5Vコンポジットシンクの出力
C6100nFVIDEO から VID_AC へ
R2680kRSET から GND へ
C7100nFRSET から GND へ
U374LVC245 at 3V36 本の線を 3V3 へ落とす
U4ESP32-C6-DevKitC-1 v1.2RISC-V、BLE 5、Wi-Fi 6
R1100RTRIG から EXT_TRIG へ

pad-adapter

純正のパッドを無線 HID デバイスにする。別のプロジェクトだ。

記号部品シートの上では
R110kPAD1_D0 から 3V3 へ
R210kPAD2_D0 から 3V3 へ
U1ESP32-C6-DevKitC-1 v1.2NimBLE HID。USB デバイスは無し
U2TP4056 + protectionLiPo 充電モジュール
U3MCP1700-3302 LDOまたは devkit 自身の VBUS からの 3V3
SW1slideMODE_SW から GND へ
SW2powerVBAT から VBAT_SW へ
LED1+330RLED から GND へ

pad-ble

C6 の設計。置き換わった。 パッド一つ、プルアップ一つ、USB 電源上の C6。この基板は一度も書き込みを受け付けなかった。pad-ble-p4 を見よ。

記号部品シートの上では
R110kPAD1_D0 から 3V3 へ
U1ESP32-C6-DevKitC-1 v1.2NimBLE HID キーボード。USB デバイスコントローラは無し
C1100nF3V3 から GND へ

pad-ble-p4

組むのはこれ。 同じ回路を、実際に書き込みの通る基板に載せたもの: Waveshare ESP32-P4-Module-DEV-KIT、ヘッダ P6 で配線する。

記号部品シートの上では
R110kPAD1_D0 から 3V3 へ
C1100nF3V3 から GND へ

pad-ble-esp32

BLE 版。自前の無線を持つ基板の上で。 同じ回路を、クラシックな ESP32-WROOM-32 の devkit に載せたもの。ピンは D25、D26、D27。C6 は死に、P4 は BLE ができない。

記号部品シートの上では
R110kPAD1_D0 から 3V3 へ
U1ESP32-WROOM-32 devkit30 ピン。ラベルは基板自身のシルク。D は GPIO
C1100nF3V3 から GND へ

ビルド時に nes-bench/docs/parts.md から取り込まれる。リポジトリが唯一の写しだ。報告書は独自の作業用語をいくつか使っている: 報告書で使われる言葉。