Dev Kits Need BIST, Too
Engineers know about built-in self test (BIST) techniques, so why don't they include them in more development kits? When I first connect a kit to my lab PC something recognizable should happen. Either an LED should flash, a display should show a "splash" screen, or a speaker should emit a sound. That type of information lets me know a board and MCU are ready to go.
Without this type of start-up "signal," engineers may wonder if a dev-kit board will function or if it has arrived damaged or dead. That doesn't mean the power light should simply come on. Having a good power source only goes so far. A power indicator will usually turn on regardless of the firmware in an MCU on a board. No, boards need better signals to show their health.
Recently I checked out an accelerometer kit from Freescale (RD3172MMA7456L, $99). It came with a USB controller that communicates through a wireless link to a 3-axis accelerometer IC on a small board. The manual writers went to great length to provide software-installation instructions and information about using APIs. Unfortunately, they never explained what a developer should see when he or she powers the boards. The USB board contains three LEDs and a pushbutton. No description of what those LEDs indicate or how their status might show the state of the board or the USB connection with a host PC.
Likewise, the small sensor board provides one LED and three pushbuttons. No information appears in the user manual's application and setup chapters about what the LED shows or what to do with the pushbuttons. That's sad because after two attempts on my lab PC and one attempt on another PC, I never saw any accelerometer data on the screen for Freescale's PC-based application. The addition of some BIST code and better use of the LEDs--and an explanation of what the LEDs signal--would let users know the state of the dev-kit board, firmware, USB ports, connections, and so on. Not many kit vendors go to that trouble.
I loaded the Freescale software and USB drivers, but the lack of ANY instructions on how to connect and use the hardware brought my investigation to a halt. The boards did not automatically communicate with the PC application program. Some of the LEDs on the USB board flashed some of the time, but without any information about what to do I felt stymied. I did try combinations of pushbuttons and software settings, but to no avail. And I had no way to know whether problems stemmed from hardware, software, or operator error. The kit also lacked any troubleshooting information or simple test procedures. Once again, nice hardware goes on the shelf to collect dust.