For our production run, we’re eating our own dog food:
It works like this: The operator places the TinyG in the test rig, screws it in place with two threaded standoffs, which means there are no tools required. They turn on the 24V power, then plug the usb cable from the BeagleBone Black (BBB) into the TinyG, and the BBB will automatically detect it (unless it’s faulty) and start the test. Some of the tests require a visual check by the operator, such as “Do the motors move both directions?,” but that’s simply because we ran out of time getting the test rig into production this time. In future rigs, we will be able to test all of the functionality and end with either a clear GOOD LED or BAD LED, and all of the rest will be logged for later postmortem.
We also learned at the last minute that our production facility cannot program the XMegas before populating the boards. (They had told us before that they could, so this was a surprise.) Our solution for now is to simply put another BeagleBone Black (the one on top) with an AVRISP MkII on the rig, a “Program” button (not shown), and have the Beagle bone run avrdude to flash the bootloader, set the fuses, and program in a base firmware on each TinyG. Since this is a last-minute add-on, we don’t have time to integrate it into the testing. On future rigs, we will run it all from one BBB and make the flashing part of the test routine.