Working from home

At work I have been helping on a failure review board. Once every 10,000 boot cycles, sometimes the system gets stuck displaying the splash screen. They asked me to figure out a way to automate the booting and then to halt should the splash screen get stuck on. Python and Sparkfun parts to the rescue!I went home, pulled out a Sparkfun ambient light sensor break out board, a spare Arduino (ordered another to take its place), and a project box and quickly wired it all together. Then it was a matter of writing a simple sketch to query the ADC value and report it over the serial port. Had that done and working in about an hour and a half. Then I went back to work and wrote the Python to grab the sensor reading. With all that, it was easy to integrate it into my test suite and halt the reboot cycle if the splash screen stays bright past a given time.

I let it rip, and sometime in the next three days it should fail and send the team an email. I love automating tests!

This entry was posted in Python, Software. Bookmark the permalink.

2 Responses to Working from home

  1. Russ Nagel says:


    I have no idea about the details of your project so my idea may be crap. Perhaps some type of watchdog timer circuit would be an alternate solution. You could set up your watch dog timer circuit to trigger after bootup time plus 30 seconds. Then if the application gets stuck on the splash screen your watch dog timer circuit can kick in and reboot your application.


    • Skye Sweeney says:

      The software for the device that is failing is a “less than ideal” implementation. We hired an outside firm to perform the work and are left with a barely understandable system. A watchdog timer is a possibility and I do think that one is actualy implemented. But not all WDT implementations work. We THINK that when the splash screen gets stuck, the system is operational trying to stabilize the temperature of a component to a bogus temperature. It will not succeed in driving the delta temp to close to zero but is happy to try till its batteries die. But all this is moot till such time as we can reproduce the problem. I have another 10K boot iterations on the unit and still no failure.

Comments are closed.