You will need a panel controller box, the panels you want to program, and an avrisp mkII.
First, plug the mkII usb into your computer and the female header side into the six-pin header on the front of the controller box:

Make sure to align the small arrow on the avrisp mkII with the arrow on the header:


Next, plug a panel face-up into the female header:

Now, download and unzip the scripts from Will's bitbucket site. In a terminal, cd into the iorodeo-panels_prog_avrdude/program directory. Finally, run
./program_panel <address>
(The first time, this might require your password.)
Note <address> is the panel address you want to assign to the panel in HEX. That's right, you need to convert to hex from decimal. To do this conversion, I use an interactive python prompt and the following:
import numpy as np
np.set_printoptions(formatter={'int':lambda x:hex(int(x))})
print <address in decimal>