The head's hands cheat sheet
Printable: NES controller-port bridge, v1b: drawing package TM-NESB-001 rev P (PDF).
Generated by tools/cheatsheet.py --sheet bench-v1b-head. The jumpers, the wiring
list and each module's bench column are read out of the schematic's third sheet
(bench-v1b-3.svg); the breakout leads come from the bring-up tool's own table; the
only authored text is what each module pin does on the part, kept in one place in
that tool and refused if the schematic names a pin differently. Which two ways of
the breakout are the reset pair was metered at the console on 2026-09-17, and the
J3 table below is where that reading is written down.
The same wiring at right angles: wiring-v1b-head.svg.
Sheet: bench-v1b-head.
Every wire on sheet 3
One row per net, read off the schematic. RST_HI is 3 orange and RST_LO is 4 yellow, the reset button, orange the higher of the two. PWR_BROWN and PWR_RED put the relay across the front panel's power switch, which stays off while the head runs the power.
| net | from | to |
|---|---|---|
| LAN | PI ETH | SCPI over the LAN |
| PI_USB | PI USB-A | USB to the Pi |
| PWR_BROWN | K1 COM | J3-1 1 brown, power |
| PWR_DRIVE | PI GPIO27 (position 13) | K1 IN |
| PWR_RED | K1 NO | J3-2 2 red, power |
| RST_DRIVE | PI GPIO17 (position 11) | OK1 INPUT + |
| RST_HI | OK1 OUT | J3-3 3 orange, reset + |
| RST_LO | OK1 GND | J3-4 4 yellow, reset - |
| GND | PI GND (position 6) | OK1 INPUT -; K1 GND |
| PI_5V | PI 5V (position 2) | K1 VCC |
The head's four jumpers
Four Dupont leads off the Pi's header, no breakout (2026-09-10). Positions are the Pi's own numbering, odd on the inside row; the far end is read off sheet 3. No wire from here to the console: the Pi's ground reaches it through the UNO's USB cable only.
| Pi pin | pos. | to | role |
|---|---|---|---|
| 5V | 2 | the PI_5V rail | the coil's supply |
| GND | 6 | the GND rail | the one ground lent |
| GPIO17 | 11 | OK1 INPUT + | reset, 100 ms high |
| GPIO27 | 13 | K1 IN | power: high is on |
The power and reset breakout, J3
Five ways straight through, colour for colour with the front panel's harness, pin 1 at the back, tapped in parallel with the panel. What each way is was metered 2026-09-17; no way is ground. Orange sits 4.40 V above yellow with the console on and the button released (2026-09-17), so OK1's OUT goes on orange and its GND on yellow.
| pin | NES harness | breakout lead | what it is |
|---|---|---|---|
| 1 | brown | brown | power switch |
| 2 | red | red | power switch |
| 3 | orange | orange | reset, + side (4.40 V) |
| 4 | yellow | yellow | reset, - side, and LED |
| 5 | white | white | LED |
OK1: PC817 module
One optocoupler on a carrier: an LED behind a series resistor on the input side, a phototransistor on the output side, nothing joining the two but light. The carrier adds a pull-up from OUT to VCC; with VCC left open OUT is the bare collector and GND the emitter, so the output side is a switch to its own GND and nothing more: the reset button, closed by the head. INPUT + high (3.3 V from a Pi pin is enough) lights the LED and closes the switch.
| side | pin | on the part | on this bench |
|---|---|---|---|
| input | INPUT + | LED anode via the series resistor: high turns it on | RST_DRIVE: PI GPIO17 (position 11) |
| input | INPUT - | LED cathode, the input side's return | the GND rail |
| output | OUT | collector: pulled to GND while the LED is lit | RST_HI: J3-3 |
| output | GND | emitter, the output side's own ground | RST_LO: J3-4 |
| output | VCC | pull-up supply for OUT; open, so OUT is open collector | no connection: left open on purpose |
K1: relay module, 5 V coil
A 5 V coil relay on a carrier with an opto-isolated input, driving the coil's transistor. The coil takes about 80 mA from VCC, which is why it is on the Pi's 5 V pin and not a GPIO. The contact is a changeover, COM to NO or NC. MEASURED 2026-09-17 at the console rather than read off the module: GPIO27 HIGH powers the console and LOW turns it off, which is why the boot config rests it low.
| side | pin | on the part | on this bench |
|---|---|---|---|
| coil | VCC | coil and carrier supply, 5 V | the PI_5V rail |
| coil | GND | coil and carrier return | the GND rail |
| coil | IN | control: GPIO27 high is the console on (measured) | PWR_DRIVE: PI GPIO27 (position 13) |
| contact | COM | the contact's common | PWR_BROWN: J3-1 |
| contact | NO | normally open: meets COM while the coil is on | PWR_RED: J3-2 |
| contact | NC | normally closed: meets COM while the coil is off | no connection: left open on purpose |
The two steps, as the bring-up tool runs them
From tools/bringup.py, the same table docs/build-guide.md is written from. One command each, on the Pi:
cd ~/nes-bench && yes '' | python3 tools/bringup.py --step 6.2 --bridge /dev/ttyACM0 --scope SCOPE --operator NAME
cd ~/nes-bench && yes '' | python3 tools/bringup.py --step 6.3 --bridge /dev/ttyACM0 --scope SCOPE --operator NAME
6.2 The reset optocoupler pulses the console
- The breakout J3 is five ways straight through, colour for colour (1 brown, 2 red, 3 orange, 4 yellow, 5 white); 3 orange and 4 yellow are the reset button, orange 4.40 V above yellow with the console on (MEASURED 2026-09-17).
- PC817 module: OUT to 3 orange, its GND to 4 yellow, VCC unconnected, and the Pi's GPIO17 to INPUT + with INPUT - to the Pi's GND. The front panel's button stays wired in parallel.
6.3 The power relay switches the console
- The relay's COM and NO across J3's 1 brown and 2 red, the front panel's power switch (metered 2026-09-17), in parallel with it. The front switch stays OFF for this step. MAINS SAFETY: nothing here is ever on the mains side.
- Relay module VCC to the Pi's 5V pin, IN to GPIO27 (high powers the console, MEASURED 2026-09-17), GND to the Pi's GND.
Pulled at build time from nes-bench/docs/cheat-sheet-head.md; the repository is the one copy. The reports use some working words of their own: Words the reports use.