The BudBox is at the core of our production process. It is used to JTAG and test nearly all of our products; it is also capable of programming AVR microcontrollers used on some of our products.
Internally it is powered by a TS-7390. It boots up via an NFS root, starts X, and runs a GTK application on top of that (no window manager is used). The whole GTK application is devoted to JTAG'ing our devices. All JTAG operations are logged to a network file with the BudBox ID, the process that was run, and a timestamp of the whole event. Every single BudBox shares the same SD card image that is kept read-only. The GTK application can be configured via the network; any updates simply require a reboot of all of the BudBox units. The TS-7390 handles all operations: JTAG (of Xilinx, Lattice, and Altera devices), AVR programming, ethernet testing of devices using packet sniffer/injector on eth1, serial console, and RS-485 testing. In addition to that, the BudBoard on the front handles testing of TS-2000, TS-3000, and TS-5000 series DIO and A/D tests, breakout for a character LCD display, an on-board ammeter, and 5V or 24V power output. There is a socketed RS-232 level transceiver and a separate DIO buffer on the BudBoard (yes, we have blown out a few of both buffers) that provides protection for the TS-7390 and the Unit Under Test. And last but not least, the set of PLDs on the BudBoard allow it to automatically take in 115200 or 9600 baud serial and output 115200.