Hardware

$55 Beaglebone Black
$10 Case for BBB (not strictly required but a good idea)
$10 1GB or larger Micro SD Card (if you have one lying around you can use that, or you can get one a bit cheaper from amazon or elsewhere)
Once you are done flashing the BBB you can use it for whatever you were using it for before.
$6 Micro SD Reader If you have a built in or standalone reader already then you can use that. (or if you have a decent background in linux, you could boot the BBB with the preloaded OS, use that to flash the SD card, then reboot and use the card to flash the BBB)
$10 Power supply (There are plenty of other options out there, and you may have one lying around. The imporant things are 5 volts output, 5.5mm (outside)x2.1mm (inside) connector and a MINIMUM of 2 amps output, although 2.5 or 3 amps would be better)

Hopefully you have these

Ethernet Cable
USB to Mini USB Cable
Wired Xbox Controller (see below for my recommendations)

Setup

Preparing the SD Card

Download: Debian-AutoGH.img.xz
Download and install: Etcher
(You can also use Win32DiskImager, but I had problems with it on my PC, you will also need to use 7-zip or a similar program to decompress the image first)

Pick the image file, the drive, and then click flash.
If it asks you about formatting a drive during the flashing process, DO NOT DO IT.
Let it finish verifying before you continue.
It may say there was an error (it did for me) but it worked fine.

It may now show up on your PC as two drives "BeagleBone Getting Started" and one that it says isn't formatted.
Find the safely remove/eject hardware in your system tray area (left of clock), and tell it to eject/remove the SD card.

Installing it on the BBB

Mount your BBB in your case (if you have one) but leave it open for now.
Put the sd card in your powered off BBB.

If you have a rev B

Plug in the power while holding the little buttonl (S2) on the board near the SD slot.
The LEDs next to the ethernet will light up in sequence and then start flickering like crazy. You can let go of S2 now.

Wait for those 4 lights to stop flashing may take 30 minutes to an hour or so.
They may not stop flashing entirely, but they will eventually be barely flickering.
If they haven't stopped entirely I would wait the full hour before unplugging.
Remove the power
Remove the SD card

If you have a rev C

Turn the BBB on, you should be good to go, no need to flash.
You will need to leave your SD card in, as it will be running directly off of the SD card.

Starting up the BBB

It can be a little tempermental about the order you plug things in, this is what has worked best for me.
If you have a newer revision board it MAY be a little less finicky.
Plug in ethernet
Plug in miniUSB cable to BBB and other end into the console
Plug power into the BBB

Connecting to the BBB

Find the IP of your BBB (see below)
Connect to it over SSH (i use mRemoteNG but you can use Putty if you want something more basic):
username: root
password: autogh

Connecting a controller

Finally, Plug controller into the BBB
It may not power up, or may flash briefly then stop, if that happens, see below.
Now from your ssh window run "./usb-mitm -x" (without the quotes)
You will hopefully see something like:
SIGRTMIN: 34
cleaning up /tmp
removing 0
Made directory /tmp/gadget-MBXiPI for gadget
Made directory /tmp/mqueue-E3ylXg for mqueue
cleaning up /tmp/mqueue-E3ylXg
removing 0
Device: 12 01 00 02 ff ff ff 08 6f 0e 01 04 00 01 01 02 03 01
  Manufacturer: Performance Designed Products
  Product:      Gamepad for Xbox 360
  Serial:       069FE068
        *Config(1): 09 02 99 00 04 01 00 a0 fa
                Interface(0):
                        *Alt(0): 09 04 00 00 02 ff 5d 01 00
                                HID: 11 21 10 01 01 25 81 14 03 03 03 04 13 02 08 03 03
                                EP(81): 07 05 81 03 20 00 04
                                EP(02): 07 05 02 03 20 00 08
                Interface(1):
                        *Alt(0): 09 04 01 00 04 ff 5d 03 00
                                HID: 1b 21 10 01 01 01 83 40 01 04 20 16 85 00 00 00 00 00 00 16 05 00 00 00 00 00 00
                                EP(83): 07 05 83 03 20 00 02
                                EP(04): 07 05 04 03 20 00 04
                                EP(85): 07 05 85 03 20 00 40
                                EP(05): 07 05 05 03 20 00 10
                Interface(2):
                        *Alt(0): 09 04 02 00 01 ff 5d 02 00
                                HID: 09 21 10 01 01 22 86 07 00
                                EP(86): 07 05 86 03 20 00 10
                Interface(3):
                        *Alt(0): 09 04 03 00 00 ff fd 13 04
                           Name: Xbox Security Method 3, Version 1.00, ▒ 2005 Microsoft Corporation. All rights reserved.
                        Other(41): 06 41 00 01 01 03
searching in [/tmp/gadget-MBXiPI]
Starting injector thread (2150) for [Injector].
Opening injection UDP socket on port 12345.
Injector In FD[1/1]: 16
Starting setup writer thread (2152) for EP00.
Starting setup reader thread (2151) for EP00.
Opened EP81
Opened EP02
Opened EP83
Opened EP04
Opened EP85
Opened EP05
Opened EP86
Starting writer thread (2159) for EP02.
Starting reader thread (2158) for EP02.
Starting reader thread (2160) for EP83.
Starting writer thread (2157) for EP81.
Starting writer thread (2161) for EP83.
Starting writer thread (2167) for EP05.
Starting reader thread (2162) for EP04.
Starting reader thread (2166) for EP05.
Starting writer thread (2163) for EP04.
Starting reader thread (2164) for EP85.
Starting reader thread (2168) for EP86.
Starting writer thread (2169) for EP86.
Starting writer thread (2165) for EP85.
Starting reader thread (2156) for EP81.

Using it with AutoGH

At this point you can use it with autoGH by putting the IP address in one of the controller boxes in the top right.
You can also run it as "./usb-mitm -x -G" to show up as a guitar or "./usb-mitm -x -D" to show up as a drumset (regardless of what controller type is really plugged in).

You can close the SSH window if you want and the script should continue to run.
Be aware, that if you connect again, and usb-mitm is running in the background the program will probably exit with a message near the end with a message like "Fail on open 16 DEvice or resource busy".
If that is the case you can stop the previous copy by running "./stop-mitm.sh"

Appendices

Finding the IP

The simplest thing is probably to look on your router (or whatever is handing out DHCP addresses) and see if anything was added recently.
Alternatively you can run the powershell script FindSSH.ps1
Open up a powershell window (or a regular command prompt and then type "powershell")
Navigate to where you saved the script and run it (type ".\FindSSH.ps1")
It will show you a list of all SSH servers on your local network. One of those should be the BBB hopefully.

Controller power problems

The USB port has a fuse on the BBB. Standard Xbox Controllers sometimes seem to draw just a _bit_ too much.
When that happens the port will turn off and the light on the controller will go out.
If that happens you can power off the whole BBB, unplug everything, and turn it back on and try again.
Or you can run the restart-usb.sh script (see below). That is much faster (and takes about 20 seconds)
Some controllers will work 100% of the time, some 90%, some will be somewhere in the middle, and some not at all).
A beefy power supply is helpful. (That's why I suggest the 3amp one above).
I found that the cheap wired gamestop controllers and instrument controllers tend to be a bit more reliable than the microsoft wired ones.
It may have something to do with having weaker rumble packs (or none) in instruments.

Helpful scripts

restart-all.sh: stops any copies of usb-mitm, resets the usb port then restart usb-mitm
restart-usb.sh: resets the usb port
restart-mitm.sh: stops any copies of usb-mitm then starts a new one
kill-mitm.sh: stops any copies of usb-mitm