Preparing for Production: Two BeagleBones and a TinyG


For our production run, we’re eating our own dog food:

We are using a the in-progress TinyG-node module to run a test script on the TinyG under test, and are then able to log the results. In the future we’ll be able to have it upload the logs to a central database, and even auto-update itself with a new test routine. The whole test routine is either built into the TinyG or programmed in Node (Javascript), so it’s very easy to change.

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.

Comments Are Closed