Version 7 of the PCB. And still issues.
Apparently I soldered the current measurement resistor on badly. The motor driver ground level shifts too much when the motors are driven. Kills theMCU.
I'm back to using the AT32UC3L016. Mainly because it has PWM on every pin. I thought that this would make it easier for me to do the PCB traces. Yeah, no. I also misread the clocking options on the data sheet, so this design is now limited to a 16MHz clock.
The programming interface this time around is the Atmel-proprietary 1-pin protocol. You're going to need a JTAGICE3 or similar to program it if you're going to try this design. Also, as a result of the Atmel merger, the AT32 series is probably on it's way out the door. Support was minimal as it was; now it's going for good.
On the positive side, going to AriettaG25 for the Linux board gives a... compact result. Of course, Raspberry Pi Zero will work just as well if you don't need the second USB port for the camera. Arietta has 2 USB ports available straight away. They set the third to USB slave mode in the kernel driver, from the looks of it.
The best part of this post though? The mechanics. I figured them out. ...No? Well, I was happy with them for a moment...
P.S. I updated the GitHub project. It's now cleaner and has instructions in the README.txt .