Skip to content
MattKC edited this page Dec 7, 2025 · 3 revisions

The Raspberry Pi is the most well-known single-board computer. It is an attractive core for a Wii U gamepad clone since it is small, cheap, but powerful and extensible enough to handle all major gamepad functionality.

Hardware

Vanilla currently officially supports the Raspberry Pi Zero W, however it requires an external Wi-Fi adapter connected via USB because the Pi's is only 2.4GHz and the Wii U requires 5GHz.

The image currently comes with drivers/firmware for Ralink RT28XX wireless cards. For other cards that need additional wireless firmware/drivers, you may need to either build the image yourself or make an issue requesting it.

Flashing

Images are available in the Releases section.

To flash to your Pi's SD card, use dd:

sudo dd if=sdcard.img bs=1M of=/dev/sdX

CAUTION: dd used improperly can lead to SEVERE data loss. Use with caution.

Replace /dev/sdX with the correct identifier for your SD card. You can determine this using lsblk.

NOTE: The image provides a system partition of roughly 100MB, which is enough for Vanilla, however if you intend to record a lot of videos or screenshots, you may want to expand this partition to fill the rest of your SD card with a tool like GParted.

Compiling

Vanilla uses the Buildroot system.

Docker (recommended)

If you have Docker set up, you can build with the following commands:

cd docker/raspberrypi0w
docker build . -t vanilla-raspberrypi0w:latest
docker run -v <VANILLA-SOURCE>:/vanilla -v <OUTPUT-DIR>:/install vanilla-raspberrypi0w:latest

Replace <VANILLA-SOURCE> to the absolute path that Vanilla's source code is located in. Replace <OUTPUT-DIR> with a directory you want sdcard.img to be output to.

Once sdcard.img has been generated, you can proceed with the "Flashing" instructions above.

Manual

  1. Clone the Buildroot repository and switch to version 2025.11-rc2:

    git clone https://github.com/buildroot/buildroot.git
    cd buildroot
    git checkout 2025.11-rc2
    
  2. Initialize Buildroot with Vanilla's defconfig:

    make BR2_EXTERNAL="<VANILLA-SOURCE>/buildroot" vanilla_raspberrypi0w_defconfig
    

    Replace <VANILLA-SOURCE> to the absolute path that Vanilla's source code is located in.

  3. OPTIONALLY: You can make modifications to the system if you'd like using Buildroots config options:

    make menuconfig
    

    OR

    make xconfig
    
  4. Finally, build the system:

    make
    

On success, this should produce an image at build/images/sdcard.img. Using that image, follow the "Flashing" instructions above to apply it to your SD card.

Clone this wiki locally