
Type e
google/mozc-devices
Circuit diagrams and firmware source code for Gboard DIY keyboards

SNES gamepad adapter to usb
Snespad2usb is an open-source printed circuit board by mistepien, from the mistepien/snespad2usb repository on GitHub, published under the GPL-3.0 licence. It is a 2-layer board of 55 × 90 mm with 16 parts on 26 nets, routed with 61 tracks and 93 vias.
Its parts include 3 resistors, 2 diodes, 2 connectors, 2 switches and 1 IC. It belongs with the retro computing and games and keyboards and input boards and the AVR (ATmega, ATtiny) boards of this library.
SNES gampepad adapter to USB.
Adapter is actually a shield for Arduino Pro Micro based on ATmega 32U4.
ATmega 32U4 has a hardware support for fullspeed USB, thus polling rate 1000Hz is not an issue for that chip.
You can use the gerber file to order the PCB. [blocked]
[blocked]Attached [blocked]code uses port registers so that is quite efficient. The code was tested with SN30 2.4g wireless gamepad for original SNES/SFC and original SNES and SFC gamepads. Everything works flawless!
One footprint is not trivial: SNES gamapad socket (J1). Footprint is DIY.
J2 is redundant -- you can use it to add some new features like autofire switch or sth.
Sometimes during uploading code to Arduino board you may face some issues -- then you will need to use RESET -- so SW1 can be useful if you like to develope your own code.
SW2 can be usefull to have a so-called "Hot key" -- you can need it eg. in Batocera.
LED D1 shows is SNES gamepad connected at all. LED D2 is just a status LED (turn on in setup() function of firmware).
BOM:
| Qty | Reference(s) | Description |
|---|---|---|
| 2 | D1, D2 | LEDs 3mm |
| 1 | J1 | SNES gamepad make connector |
| 1 | J2 | 2x4 Pinheader. pitch terminal: 2.54mm |
| 1 | R1, R2 | resistors for D1 and D2 |
| 1 | R3 | 10KΩ PULL-UP resistor for DATA gamepad pin |
| 1 | SW1,SW2 | Tact switches from Arduino breadboard projects |
| 1 | U1 | DIP20 socket (width 15.24mm) + Arduino Pro Micro |
| Qty | Value | Footprint | References |
|---|---|---|---|
| 4 | MountingHole | MountingHole:MountingHole_3.5mm | H1, H2, H3, H4 |
| 2 | LOGO | misc:SNES_LOGO_50x23mm | G***, G*** |
| 2 | RxΩ | misc:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_Horizontal_Oval | R1, R2 |
| 1 | Arduino_Pro_Micro | Package_DIP:DIP-24_W15.24mm_Socket_LongPads | U1 |
| 1 | CTL-ON | misc:LED_D3.0mm_Oval | D1 |
| 1 | Conn_02x04_Odd_Even | Connector_PinHeader_2.54mm:PinHeader_2x04_P2.54mm_Vertical | J2 |
| 1 | HOT KEY | Button_Switch_THT:SW_PUSH_6mm_H4.3mm | SW2 |
| 1 | R10KΩ | misc:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_Horizontal_Oval | R3 |
| 1 | RST | Button_Switch_THT:SW_PUSH_6mm_H4.3mm | SW1 |
| 1 | SNES-GAMEPAD-SOCKET | misc:SNES_gamepad_connector_L_horizontal | J1 |
| 1 | STATUS | misc:LED_D3.0mm_Oval | D2 |
It measures 55 × 90 mm and has 2 copper layers, 1.6 mm thick.
16 parts. 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 mistepien/snespad2usb repository on GitHub, at the commit this page was made from: the board is snespad2usb.kicad_pcb and its schematic snespad2usb.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Its repository publishes it under the GPL-3.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).

google/mozc-devices
Circuit diagrams and firmware source code for Gboard DIY keyboards

conorpp/u2f-zero
U2F USB token optimized for physical security, affordability, and style

rusefi/rusefi
rusefi - GPL internal combustion engine control unit

VoronDesign/Voron-Hardware
Cool Hardware designed by the Voron Design group

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!

