• Testing Hardware

    Wednesday, January 1, 2014

    1/1/2014— Jia Huang

    In a few months we’ll be shipping over 1k Tessels and 4k modules. We want to make sure that every product we ship will work, so we shipped some test benches to our module manufacturer in China.

    These are the test benches for the RFID, Servo, Climate, nRF24, MicroSD, Camera, Relay, and GPS modules. Try and guess which are the ones we did closer to the deadline…

    The majority of the test benches are just Tessels. The Tessels can switch between multiple module tests so that our manufacturer can keep testing modules even if a few test benches break. For some modules we ended up using Arduinos since the C to JS firmware ports aren’t done yet.

    In all of the tests I tried to aim for the following:

    • Tests should cover core functionality
    • Tests should have clear instructions
    • Test benches should have minimal configuration

    Testing core functionality

    Each module test goes through a core use case (or multiple use cases), and tries to approximate how an end user would use the module.

    For example, our RFID module testbench has a 3 inch standoff with an RFID card taped to the top.

    If the module cannot detect from this distance, than the module has failed.

    Similarly, the nRF24 module goes through sending and receiving messages to another nRF24 module. The camera takes a picture and the test is to check whether or not the image is good.

    Clear instructions

    I tried to make the test benches as consistent and self explanatory as possible. All tests pass with either Green or Blue LEDs and fail on Red. Ideally, we would like these tests to be able to be run years from now if needed.

    I originally wrote the instructions in English, but then I realized that the tests are going to be run halfway across the world by workers whose primary language is Chinese. Most Chinese manufacturers have an English speaking rep or project manager, but the level of English proficiency varies pretty drastically. So I ended up translating the instructions to Chinese as well and having both on there.

    Minimal Configuration

    For some of our modules, it’s annoying to set up the test: the servo module can connect up to 16 different servos, and each servo takes 3 pins (ground, power, and signal). Testing all this by plugging in a servo into each position would take a long time. Relay testing takes a similarly long time since the tester needs to connect wires to the module.

    For these kinds of tests we made module testing PCBs designed to test all the pins at once. So instead of plugging in 16 different servos, the test can use just 1 Servo test PCB. This also has the added benefit of being able to see a clear pass/fail (is the LED on?) versus having to keep track of 16 servos.

    Coming in January

    We still have 5 more modules to get into manufacturing in early January: Ambient, IR, Bluetooth, GPRS, and Audio.

    Back to work.


    #jia huang #test benches #testing #hardware #quality #tessel #technical machine #modules #hardware hacking

August 2018

January 2018

July 2017

February 2017

November 2016

October 2016

September 2016

August 2016

July 2016

June 2016

April 2016

March 2016

February 2016

November 2015

September 2015

August 2015

July 2015

June 2015

May 2015

March 2015

February 2015

January 2015

December 2014

November 2014

October 2014

September 2014

August 2014

July 2014

June 2014

May 2014

April 2014

March 2014

February 2014

January 2014

December 2013

November 2013

October 2013

September 2013

August 2013

July 2013