Most of us who tried to control the Boss GP-10 by USB midi found that there is no plug'n'play solution to achieve it. A deep search on web of this topic can be a real headhache, some solution appear though. Here we'll see a solution that uses an arduino UNO and a USB shield (the one in the picture, other not tested). Total coast doesn't be more expensive than 20-26$ depending on where you buy/hack (mine taken from Aliexpress) and the type of the case (plastic, metal, whatsoever...) You must include four contact switch and dc female plug for powering.
This project include a schematic and arduino code. It was initialy writen for a Zoom MS70cdr pedal as it works with actually. Thanks to Lawrence Doss who kindly share his code. I suppose it works on several other usb midi devices but you'll probably need to tweak some code for.
Step 1: Boss GP-10 Arduino Midi Program Change
1. arduino UNO - chinese one they're cheaper
2. usb shield (as the one in the picture)
3. four contact footswitches
4. spare electrical cable
5. a box to fit all
6. a usb cable between usb shield and GP10 /
another one to program the arduino (different type)
7. a usb male to female adapter (like in the picture)
8. spare arduino's male pins (must be min. 4 in line)
1. soldering device
3. drilling tools if you want to fix all in the box
4. some hot glue always help!
solder cables with the pins and the instant switches (see schematic), plug'em in arduino's 2 to 5 female pins
load the code thru your Arduino ide (mine is version 1.8)
connect the usb shield over the Arduino board and connect it to GP10
plug your Arduino board to power transformer (wait a moment)
test the thing with a cable bridge between pin 6 and the pins 5 -4 -3 -2, one after the other
if it works disconnect it all, fix it all in your case (some drill work needed here)
drill a hole for power plug and another for usb female adapter, ensure it all fits in your box
connect it all again and enjoy!
You normally do have 1 switch to add plus one preset, 1 other to minus one and the other two, plus ten and minus ten preset. For any other kind of controls just adapt your ino sketch.