Skip to the content
2 layers71.2 × 22.6 mmNullWiiCon v2, the printed circuit board in 3D

AVR Firmware to convert Nintendo Extension port controllers to USB for use on Switch and PC

Size
71.2 × 22.6 mm
Copper layers
2
Thickness
1.6 mm
Parts
56
Nets
56
Pads
201
Tracks, vias
596, 53
Pours
2
Routed
Yes
KiCad
KiCad 5 (file 20171130)
Created
25 Jan 2020
Updated
18 Oct 2021

Overview

NullWiiCon v2 is an open-source printed circuit board by nullstalgia, from the nullstalgia/NullWiiCon repository on GitHub, published under the GPL-3.0 licence. It is a 2-layer board of 71.2 × 22.6 mm with 56 parts on 56 nets, routed with 596 tracks and 53 vias.

It is built around the ATMEGA32U4-MU and CAT24C256LI. Its parts include 13 resistors, 10 capacitors, 6 connectors, 4 ICs and 4 diodes. It belongs with the retro computing and games boards and the AVR (ATmega, ATtiny) boards of this library.

Main components

2

README

README.md

NullWiiCon

What is this?

So, I love the Super Nintendo (and SNES Classic) controller, and I love my Nintendo Switch and PC. And while the SN30 wasn't that bad, I wanted something that was wired and worked properly with the Switch Online SNES Emulator. (To use the menu/rewind, you have to press ZL and ZR, and the SN30 only does L and R)

This most recent iteration uses a fork of CrazyRedMachine's excellent LUFAHybridFightstick, modified to interface with Wii's "Extension Controllers" (Classic Controllers and the like) via I2C and dmadison's wonderful NintendoExtensionCtrl library.

How do I compile this?

  1. Download the Arduino IDE (As of writing, I'm using 1.8.16)
  2. Add Arduino-LUFA to the boards manager. Instructions here. (As of writing, latest is 0.93.0)
  3. With the library manager install NintendoExtensionCtrl (As of writing, latest is 0.8.3)
  4. If you're compiling the Slim version, copy the whole NullWiiCon_Options folder into your libraries folder.
  5. Open the sketch and compile with the Arduino Micro (LUFA) profile. 5. If you get an error complaining about "{runtime.tools.avr-gcc.path}/bin/avr-g++: no such file or directory", you're probably running Linux/Mac and need to also install Arduino AVR Boards in the Boards Manager. (As of writing, latest is 1.8.3)

Todo:

  • PCB Pics
  • Slim code for V2.1 PCB
  • Change "no controller found" LED to all available LEDs

Thanks to:

  • CrazyRedMachine (for allowing my fork and getting Arduino-LUFA to the boards manager!)
  • dmadison
  • fluffymadness
  • progmem
  • and others!

Parts

56
QtyValueFootprintReferences
8JumperJumper:SolderJumper-2_P1.3mm_Open_RoundedPad1.0x1.5mmJP1, JP2, JP3, JP4, JP5, JP6, JP7, JP9
710kDIP:R_0402_1005MetricR1, R3, R5, R6, R11, R12, R13
40.1uFDIP:C_0402_1005MetricC2, C4, C7, C10
310uFDIP:C_0402_1005MetricC1, C3, C9
222DIP:R_0402_1005MetricR9, R10
222pFDIP:C_0402_1005MetricC5, C6
24.7kDIP:R_0402_1005MetricR7, R8
25.1kDIP:R_0402_1005MetricR2, R4
2CAT24C256Package_SO:SOIC-8_3.9x4.9mm_P1.27mmU3, U4
2Conn_01x05_FemaleConnector_PinSocket_2.54mm:PinSocket_1x05_P2.54mm_VerticalJ2, J4
11uFDIP:C_0402_1005MetricC8
1ATmega32U4-MUPackage_DFN_QFN:QFN-44-1EP_7x7mm_P0.5mm_EP5.2x5.2mmU2
1CONN_WIIotter:CONN_WIIP1
1Conn_01x03_FemaleConnector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_VerticalJ6
1Conn_02x03_Odd_EvenDIP:PinSocket_2x03_P2.54mm_Vertical_MIRRORJ5
1Crystal_GND24_SmallCrystal:Crystal_SMD_3225-4Pin_3.2x2.5mmX1
1LOGOLogos:capG***
1LOGOLogos:dpadG***
1LOGOLogos:snes_invertG***
1LOGOLogos:Loli1G***
1LOGOLogos:homeG***
1LOGOLogos:stickG***
1LOGOLogos:NullWiiCon v2.1G***
1MCP1700-3302E_SOT23Package_TO_SOT_SMD:SOT-23U1
1PWRLED_SMD:LED_0603_1608MetricD1
1RXLED_SMD:LED_0603_1608MetricD3
1STATUSLED_SMD:LED_0603_1608MetricD4
1SW_DIP_x05Button_Switch_THT:SW_DIP_SPSTx05_Slide_9.78x14.88mm_W7.62mm_P2.54mmSW2
1SW_PushButton_Switch_SMD:SW_SPST_CK_RS282G05A3SW1
1TXLED_SMD:LED_0603_1608MetricD2
1USB_C_Receptacle_USB2.0Connector_USB:USB_C_Receptacle_HRO_TYPE-C-31-M-12J1

The 55 most common of 56 parts.

More from nullstalgia/NullWiiCon

1
  • 2 layers43.9 × 27.3 mmNullWiiCon v2 Slim, the printed circuit board in 3D

    NullWiiCon v2 Slim

    nullstalgia/NullWiiCon

    AVR Firmware to convert Nintendo Extension port controllers to USB for use on Switch and PC

    47 parts9GPL-3.0

Similar boards

  • 6 layers160 × 100 mmAdrmu6layer, the printed circuit board in 3D

    Adrmu6layer

    marcoreps/ADRmu

    ADR1000 10V standard

    240 parts149
  • 2 layers65 × 56.5 mmHat, the printed circuit board in 3D

    Hat

    worlickwerx/pi-parport

    retro parallel port for raspberry pi

    24 parts78GPL-2.0
  • 2 layersTopBoard, the printed circuit board in 3D

    TopBoard

    Libre-Talk/Wave

    Smart Speaker satellite

    184 parts22
  • 4 layers158.8 × 104.1 mm8-Bit CPU, the printed circuit board in 3D

    8-Bit CPU

    frenchie/8-Bit-Computer

    An 8-Bit Computer

    323 parts20
  • 4 layers205.5 × 152 mmLTC3, the printed circuit board in 3D

    LTC3

    psas/launch-tower

    CAD files and software for the launch tower computer (LTC)

    507 parts19
  • 4 layers91.7 × 66.8 mmPico expansion board, the printed circuit board in 3D

    Pico expansion board

    eamars/RaspberryPi-Pico-Motor-Expansion-Board

    A raspberry pi pico expansion board designed for OpenTrickler project

    68 parts18GPL-3.0
  • 2 layers88.9 × 88.9 mmKnob v1, the printed circuit board in 3D

    Knob v1

    bmo/tuning-knob-pcboard

    KiCAD PC Board design for a tuning knob that works with Flex Radio SmartSDR, PowerSDR, and RHR. Uses STM32 hardware.

    25 parts7MIT
  • 2 layers65 × 56.5 mmKlipper Fan Hat, the printed circuit board in 3D

    Klipper Fan Hat

    mikepthomas/Klipper-Fan-Hat

    A Raspberry Pi Hat to control additional fans using the Raspberry Pi as a Secondary MCU in Klipper Firmware.

    65 parts7GPL-3.0

Questions

How big is the NullWiiCon v2 PCB?

It measures 71.2 × 22.6 mm and has 2 copper layers, 1.6 mm thick.

What parts does the NullWiiCon v2 use?

56 parts, built around the ATMEGA32U4-MU and CAT24C256LI. 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.

Where can I download the NullWiiCon v2 KiCad files?

From the nullstalgia/NullWiiCon repository on GitHub, at the commit this page was made from: the board is hardware/NullWiiCon v2/NullWiiCon v2.kicad_pcb. PCBKit opens the board in the browser, with nothing to install.

Can I use the NullWiiCon v2 design in my own project?

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).