
Internal Controller Board
jeffqchen/Famicom-Expansion-Port-Switcher
Enable switching role of controller connected to the Famicom expansion port

Enable switching role of controller connected to the Famicom expansion port
Twins Main PCB is an open-source printed circuit board by jeffqchen, from the jeffqchen/Famicom-Expansion-Port-Switcher repository on GitHub, published under the CC-BY-SA-4.0 licence. It is a 2-layer board of 44.1 × 11.9 mm with 31 parts on 16 nets, routed with 136 tracks and 21 vias.
It is built around the SN74AHCT1G08DBVR(AT). Its parts include 14 connectors, 8 resistors and 2 ICs.
The expansion ports on the Japanese Famicom consoles have a problem - some western games are incompatible with the controllers connected to this port, due to the fact that this expansion port did not exist on the NES, and therefore was ignored by some devs.
Significant Titles Affected:
I created the FamiCoun and the TwinDiamond a few years ago and both suffered from this programming oversight by these devs. So it is only natural for me to take matters into my own hands to fix it.


This switcher mod will enable you to switch the role of the expansion controllers between internal and external. It requires experience in console modding and might not be friendly for everybody. Please keep this in your mind before attempting.
Details are provided in the Project Wiki, separated by console models and motherboard revisions.
Voultar (for insisting on a proper logic circuit implementation)
Redherring32 (for providing the board scan of Famicom GPM for reference)
Zoggins (for spotting the problematic Twin Famicom motherboard rev)
This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.
| Qty | Value | Footprint | References |
|---|---|---|---|
| 4 | 100K | Resistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolder | R5, R6, R7, R8 |
| 4 | 220 | Resistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolder | R1, R2, R3, R4 |
| 2 | MERGE | Jumper:SolderJumper-2_P1.3mm_Open_RoundedPad1.0x1.5mm | JP1, JP2 |
| 2 | REPLACE | Jumper:SolderJumper-2_P1.3mm_Open_RoundedPad1.0x1.5mm | JP3, JP4 |
| 2 | SN74AHCT1G08DBVR | DA15_Fix:SOT95P280X145-5N | U1, U2 |
| 1 | GND | DA15_Fix:Single Pad Pin | GND |
| 1 | LOGO | LOGO | G*** |
| 1 | P1D0 IN | DA15_Fix:Long Via | J1 |
| 1 | P1D0 OUT | DA15_Fix:Long Via | J5 |
| 1 | P1D1 IN | DA15_Fix:Long Via | J2 |
| 1 | P1D1 IN | DA15_Fix:Landing Pad | J9 |
| 1 | P1D1 OUT | DA15_Fix:Long Via | J6 |
| 1 | P1D1 TO GATE | DA15_Fix:Landing Pad | J10 |
| 1 | P1D1 TO SELF | DA15_Fix:Landing Pad | J11 |
| 1 | P2D0 IN | DA15_Fix:Short Via | J3 |
| 1 | P2D0 OUT | DA15_Fix:Short Via | J7 |
| 1 | P2D1 IN | DA15_Fix:Short Via | J4 |
| 1 | P2D1 IN | DA15_Fix:Landing Pad | J12 |
| 1 | P2D1 OUT | DA15_Fix:Short Via | J8 |
| 1 | P2D1 TO GATE | DA15_Fix:Landing Pad | J13 |
| 1 | P2D1 TO SELF | DA15_Fix:Landing Pad | J14 |
| 1 | VCC | DA15_Fix:Single Pad Pin | Vcc |

jeffqchen/Famicom-Expansion-Port-Switcher
Enable switching role of controller connected to the Famicom expansion port

jeffqchen/Famicom-Expansion-Port-Switcher
Enable switching role of controller connected to the Famicom expansion port

jeffqchen/Famicom-Expansion-Port-Switcher
Enable switching role of controller connected to the Famicom expansion port

ekundo/combolite
ComboLite: плата расширения для «Вектора-06Ц» — квазидиски, IDE, дисковод, AY, VGA, Wi-Fi

liorknafo/power-feed-manual-mill
DIY stepper power feed for a SIEG X3.5D mill: electromagnetic clutch, RP2040 controller PCB, Rust firmware, build123d CAD


nathanfraske/CEC-Platform
ONE board file, kept current by the wave (owner directive 2026-07-25: "the current best should be placed into a candidate folder per board and kept current with only one board ideally so we have a reference").

joeycastillo/Sensor-Watch
A board replacement for the classic Casio F-91W wristwatch

hoglet67/RGBtoHDMI
Bare-metal Raspberry Pi project that provides pixel-perfect sampling of Retro Computer RGB/YUV video and conversion to HDMI

hackclub/OnBoard
💡 Join 1,000 teenagers and make your first PCB with a $100 grant!

openwch/ch32v003
CH32V003 is an ultra-cheap RISC-V MCU with 2KB SRAM, 16KB flash, and up to 18 GPIOs that sells for under $0.10
It measures 44.1 × 11.9 mm and has 2 copper layers, 1.6 mm thick.
31 parts, built around the SN74AHCT1G08DBVR(AT). The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.
From the jeffqchen/Famicom-Expansion-Port-Switcher repository on GitHub, at the commit this page was made from: the board is KiCAD/Twins/Twins Main PCB/Twins Main PCB.kicad_pcb and its schematic KiCAD/Famicom/GPM/DA-15 Board/DA-15 Board.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Its repository publishes it under the CC-BY-SA-4.0 licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).