From WiiBrew
Jump to navigation Jump to search

PyWiiLoad is a program written in Python to send executables (.dol and .elf) to the Homebrew Channel and install homebrew apps to the SD card (.zip or a directory) over TCP. It was originally based on, but now shares very little in common with it. It runs under both Python 2 and Python 3.

TypePC utility


  • Send executables and apps directly to the Homebrew Channel.
  • Automatically zip directories.
  • Set the IP address temporarily if $WII isn't set.
  • Visual progress feedback when sending data.
  • Smooth error handling.
  • Supports both Python 2 and 3.



  1. A Wii that's connected to the Internet with the Homebrew Channel installed
  2. A computer connected to the same LAN as the Wii. This has been tested on GNU/Linux only. I have no idea if it will work on Windows or OS X.
  3. Python - Tested on version 2.7.3 and 3.2.3.
  4. The environment variable $WII set to "[your Wii's IP]. If you don't know what you're Wii's IP address is, open up the HBC and click the HOME button. The IP will be in the upper left-hand corner. Note that PyWiiLoad will allow you to set the address temporarily if $WII is not set.
  5. An executable (.dol/.elf) to run or and app to install (.zip/dir).

Obtaining PyWiiLoad

Releases & Snapshots

To download the latest version or a git snapshot, click on the Download link above and download grab either PyWiiLoad-<version>.tar.xz or PyWiiLoad-git<timestamp>.tar.xz.

Another way to grab a snapshot is to go to he GitHub page (the Source button above) and click on the ZIP button.


To clone the git repository (the Source link above), you can run this command (requires git to be installed):

git clone git://


The Homebrew Channel must be open on your Wii for this to work. You also must have an SD card inserted with enough free space to put the file on (temporarily, in the case of a .dol/.elf file).

  1. Open up terminal emulator on your computer.
    1. If you downloaded a release or snapshot, extract it:
      tar -xJf /path/to/PyWiiLoad-*.tar.xz
  2. Change into the PyWiiLoad directory:
    cd /path/to/PyWiiLoad/
  3. Send an executable like this:
    1. ./ /path/to/executable.dol
    2. ./ /path/to/exectuable.elf
  4. Send an app to be installed on the SD card like this:
    1. ./ /path/to/
    2. ./ /path/to/app/


By default, PyWiiLoad runs with the /usr/bin/python interpreter (which is probably Python 2.x), but you can run PyWiiLoad with a specific version of Python quite easily. Examples:


A zip archive must contain only the files you wish to extract onto the SD card. For example, if you wish to install sysCheck, the .zip would need to contain:

Since most apps come in a zip that contains apps/AppName/stuff, you'll have to unzip it and fix it manually.


1.2 (Current Release)

  • Now uses the environment variable $WII="[Wii's IP]". This allows you to use the same variable for programs like FTP (ftpii) since there is no "tcp:" before the IP. (PyWiiLoad will continue to support $WIILOAD="tcp:[Wii's IP]" until version 2.0.


  • Fixed the crashing bug in 1.1 (removed the line of code that got added accidentally).


  • Versions for Python 3 and 2 have been combined into one file.


  • The first release that I'm satisfied with. The Python 2 and 3 versions both function correctly.