Skip to the content
PCBKitNew board
4 layers24 × 24 mmWp plus, the printed circuit board in 3D

The WavePhoenix+ is a custom PCB which allows you to add WaveBird support to portable Wii/GameCube consoles. It is footprint compatible with the 4Layer Technologies GC+ 2.0 board, and emulates both a physical GameCube…

Size
24 × 24 mm
Copper layers
4
Thickness
1.2 mm
Parts
48
Nets
38
Pads
196
Tracks, vias
275, 77
Pours
7
Routed
Yes
KiCad
KiCad 8.0 (file 20240108)
Created
21 Jul 2025
Updated
21 Jul 2025

Overview

Wp plus is an open-source printed circuit board by loopj, from the loopj/wavephoenix-plus repository on GitHub. It is a 4-layer board of 24 × 24 mm with 48 parts on 38 nets, routed with 275 tracks and 77 vias.

It is built around the RF-BM-BG22C3 and TCA9555RTWR(UMW). Its parts include 5 resistors, 4 capacitors, 3 ICs and 1 connector.

Main components

2

README

README.md

WavePhoenix+

[!IMPORTANT]
This is beta hardware! You'll need a copy of the WavePhoenix+ firmware from loopj to use this board, which is not yet publicly available.

The WavePhoenix+ is a custom PCB which allows you to add WaveBird support to portable Wii/GameCube consoles. It is footprint compatible with the 4Layer Technologies GC+ 2.0 board, and emulates both a physical GameCube controller, as well as a WaveBird receiver.

WavePhoenix+

Features

  • Footprint compatible with GC+ 2
  • Captures digital/analog inputs from connected buttons, sticks, and triggers
  • Captures wireless inputs from a WaveBird controller
  • Support for both ERM and LRA rumble motors
  • Pad to enable/disable wireless support, eg. to enable wireless only when docked
  • Optional external antenna support
  • Firmware updatable via Bluetooth

Flashing Firmware

Both the WavePhoenix bootloader, and WavePhoenix+ firmware will need to be flashed to the board before it can be used. The back of the board has a set of 0.1" (2.54mm) pitch pads for flashing the bootloader via SWD.

I use a handheld pogo flashing adapter for this, but you can also temporarily hand solder wires to the pads if you don't want to buy an adapter.

See the WavePhoenix flashing docs for more information on flashing the bootloader.

Pairing Controllers

Pairing controllers can be done by entering "pairing" mode. You can enter pairing mode by briefly bridging the BTN pads on the board, typically using a tact switch. Alternatively you can enter pairing mode from the WavePhoenix+ homebrew.

Updating Firmware

Once the WavePhoenix+ firmware is initially flashed, it can only be flashed again once bootloader mode is entered. To enter bootloader mode, bridge the BTN pads on the board for more than 3 seconds. Alternatively, you can enter bootloader mode from the WavePhoenix+ homebrew.

External Antenna

It can often be desirable to use an external antenna on builds.

To use an external antenna, you'll need to carefully remove the onboard chip antenna from the RF-BM-BG22C3 with hot air station or soldering iron. You'll then need to add a 0Ω resistor to bridge the antenna trace to the external antenna connector.

External Antenna Diagram

I'd recommend covering the nearby components with Kapton tape before attempting to remove the chip antenna with hot air.

You'll need to use a a 2.4GHz antenna with an IPEX MHF 4 (or compatible) connector.

Rumble Motors

The board uses a DRV2603 haptic driver for rumble support, which supports both ERM and LRA rumble motors. The board is configured to use an ERM motor by default, but you can change this by bridging the LRA pad on the board.

Enabling/Disabling Wireless

Wireless is disabled by default to allow for a lower power mode when in portable mode. To enable wireless, connect the top half of the WEN pads to GND.

For example, you may want to use either a physical switch or a GPIO to control the WEN pads, so that you can enable wireless when docked, and disable it when undocked.

The radio SoC uses very little power compared to a powered Wii/GameCube/N64 so it is often more convenient to just enable wireless permanently when the board is powered. To do this, simply bridge the WEN pad on the board.

Connecting Buttons and Sticks

The pinout of the board is identical to the 4Layer Technologies GC+ 2.0 board.

Limitations

This is a very specialist project, designed for use in portable Wii/GameCube/N64 consoles where having support for a wireless controller is desirable, such as "dockable" portables.

If you are building a portable where that is not a requirement, then you should buy a GC+ 2.0 board from the fine folks at 4Layer Technologies instead.

The firmware currently does not support features such as dead zone configuration, setting stick limits, or other advanced controller options.

I will likely add support for configuring basic stick limits, and inverting stick axes via either the WavePhoenix+ homebrew, or a web browser Bluetooth UI in future.

License

The firmware in this repository is licensed under the MIT License.

The hardware is licensed under the Solderpad Hardware License v2.1.

Parts

48
QtyValueFootprintReferences
5TestPointproject-footprints:TestPoint_Pad_D1.0mmTP28, TP29, TP30, TP31, TP32
30.1uFCapacitor_SMD:C_0402_1005MetricC1, C3, C4
3SolderJumper_2_Openproject-footprints:SolderJumper-SmallJP1, JP2, JP3
210KResistor_SMD:R_0402_1005MetricR4, R5
22.2KResistor_SMD:R_0402_1005MetricR2, R3
2GNDproject-footprints:2x1mm Castellated PadTP1, TP14
2Sproject-footprints:2x1mm Castellated PadTP4, TP21
10Rproject-footprints:R_0402_DNPR1
110uFCapacitor_SMD:C_0402_1005MetricC2
13V3project-footprints:2x1mm Castellated PadTP15
1Aproject-footprints:2x1mm Castellated PadTP9
1Bproject-footprints:2x1mm Castellated PadTP8
1CXproject-footprints:2x1mm Castellated PadTP11
1CYproject-footprints:2x1mm Castellated PadTP10
1Dproject-footprints:2x1mm Castellated PadTP19
1DDproject-footprints:2x1mm Castellated PadTP24
1DLproject-footprints:2x1mm Castellated PadTP22
1DRproject-footprints:2x1mm Castellated PadTP23
1DRV2603RUNTproject-footprints:QFN-10_L2.0-W2.0-P0.50-TLU3
1DUproject-footprints:2x1mm Castellated PadTP25
1Ext Antproject-footprints:IPEX-SMD_4P-L1.7-W1.7-LS2.0-L-4J1
1Lproject-footprints:2x1mm Castellated PadTP27
1LTproject-footprints:2x1mm Castellated PadTP26
1M+project-footprints:2x1mm Castellated PadTP17
1M-project-footprints:2x1mm Castellated PadTP18
1MPproject-footprints:2x1mm Castellated PadTP16
1Rproject-footprints:2x1mm Castellated PadTP2
1RF-BM-BG22C3project-footprints:RF-BM-BG22C3U1
1RTproject-footprints:2x1mm Castellated PadTP3
1SXproject-footprints:2x1mm Castellated PadTP13
1SYproject-footprints:2x1mm Castellated PadTP12
1TCA9555RTWRPackage_DFN_QFN:WQFN-24-1EP_4x4mm_P0.5mm_EP2.45x2.45mmU2
1Xproject-footprints:2x1mm Castellated PadTP7
1Yproject-footprints:2x1mm Castellated PadTP6
1Zproject-footprints:2x1mm Castellated PadTP5
1Z2project-footprints:2x1mm Castellated PadTP20

Questions

How big is the Wp plus PCB?

It measures 24 × 24 mm and has 4 copper layers, 1.2 mm thick.

What parts does the Wp plus use?

48 parts, built around the RF-BM-BG22C3 and TCA9555RTWR(UMW). 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 Wp plus KiCad files?

From the loopj/wavephoenix-plus repository on GitHub, at the commit this page was made from: the board is hardware/KiCad/wp-plus.kicad_pcb and its schematic hardware/KiCad/wp-plus.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Wp plus design in my own project?

Its repository states no licence, so its author keeps all rights: ask loopj before reusing the design.

Similar boards

  • 4 layers25.5 × 157.5 mmLinear MVP3, the printed circuit board in 3D

    Linear MVP3

    borgel/bolton_buttons

    Small devices to add keys to devices that have too few

    43 parts13MPL-2.0
  • 4 layers52 × 115.7 mmMp3-player, the printed circuit board in 3D

    Mp3-player

    espcaa/mp3-player

    a minimalist open source pocket sized¹ mp3 player

    143 parts5
  • 4 layers127.8 × 56.1 mmController, the printed circuit board in 3D

    Controller

    sudo-junkie/Controller

    ESP32-based replacement PCB for UCOM USB game controller, with LCD, IMU, IR TX/RX and more...

    105 parts1
  • 4 layers71 × 150.5 mmDual Half Bridge Board, the printed circuit board in 3D

    Dual Half Bridge Board

    EdamAbdelhedi/Half_Bridge_Board

    Half Bridge Board - KiCad project

    180 parts
  • 2 layers100 × 116 mmCustom macropad, the printed circuit board in 3D

    Custom macropad

    hossainmahmudchowdhury-boop/20-key-macropad

    A small 20-key MacroPad built around the Seeeduino XIAO microcontroller. It has a custom circuit board. The MacroPad has 20 keys in a 4×5 grid.

    115 parts
  • 2 layers103 × 86.5 mmInput-16--module, the printed circuit board in 3D

    Input-16--module

    sillevl/spha-btni-hardware

    SPHA 16-channel input module with microcontroller, input/output circuitry, and CAN connectivity.

    112 parts
  • 2 layers103 × 86.5 mmRelay module light, the printed circuit board in 3D

    Relay module light

    sillevl/spha-rel6-hardware

    Open the .kicadpro file in KiCad. The design includes files originating from an older KiCad workflow; review schematic links, footprints, design rules, zones, and manufacturing outputs after any conversion or upgrade.

    70 parts