Skip to content
GUI for booting a Raspberry Pi device like Pi Zero or compute module as a device
Branch: master
Clone or download


usbbootgui is a GUI application that allows the user to use a Pi Zero or Compute Module as USB accessory.


src          - GUI C source code
data         - GUI data files (e.g. .ui file and icons)
debian       - Debian packaging files
gpioexpander - pre-built binary files from the gpioexpander project to let a Pi Zero act as GPIO expander

How to rebuild

Rebuilding gpio expander payload (optional)

Note: this step is optional, you can also skip it and use the pre-built binaries checked into git.

The gpioexpand code should be cross-compiled on a x86 Linux computer using buildroot. First the buildroot build dependencies need to be installed. If the Linux distribution used is Debian or Ubuntu this can be done with the command:

sudo apt-get update
sudo apt-get install git-core build-essential rsync libncurses-dev unzip python bc

Then run the following commands to remove the pre-built binaries, download the source code from the gpioexpander github repository, and build it:

rm -rf gpioexpander
git clone --depth 1
cd gpioexpander

After the build has finished, you can remove the gpioexpand/buildroot-2017.02 folder.

rm -rf buildroot-2017.02

(Otherwise debuild will also include all the build directories in the source code archive at the next step.)

Rebuilding the main usbbootgui application and .deb package

The usbbootgui application can be compiled on the target system.

Install build dependencies for Raspbian:

sudo apt-get install devscripts debhelper dh-autoreconf libglib2.0-dev libgtk2.0-dev intltool autopoint libusb-1.0-0-dev

To build, go to the main directory, and type:


After build, the .deb Debian package will be located in the parent directory

You can’t perform that action at this time.