Joker TV hardware functional testing with OpenHTF

Joker TV hardware functional testing with OpenHTF

Joker TV hardware functional testing with OpenHTF

Functional Testing of PCBs is always used as a final manufacturing step. Functional testing provides making a decision to go or not to go on finished PCBs.
Manual functional testing of one Joker TV assembled PCB takes about 5 minutes. I have decided to automate this process with open-source hardware testing framework (OpenHTF). PCB functional testing time is shrunk to 1 minute. This is 5 times less than manual functional testing and less error prone (no human factor). Below, I will describe this process in details.

Functional testing stand overview

Joker TV hardware functional testing with OpenHTF
Joker TV PCB functional testing stand

The entire testing process video

Testing stand components

DUT (Device Under Test)

Joker TV fully assembled PCB with attached serial number sticker.

Altera ByteBlaster

Joker TV assembled PCB doesn’t have any firmware on flash. Before testing we should write firmware to flash using JTAG interface. I have prepared OpenHTF routine that writes Altera FPGA firmware by using command line utility quartus_pgm. Free Quartus Linux edition should be installed on the laptop.

Laptop with Ubuntu Linux and OpenHTF

Web based GUI interface of OpenHTF makes functional testing easy to operator. No special Linux knowledge is required.

DVB-S2 and DVB-T modulators

We simulate real Satellite (DVB-S2) and Terrestrial (DVB-T) signals. So, we can test DUT (Joker TV) as it works in real end-user environment.

Multimeter with COM port

We should control voltage on satellite output. It should be about 18V. This power used to power LNB on satellite dish in real user environment.
COM port allows us to check voltage automatically inside OpenHTF routines. An operator should not control voltage manually.

Barcode (serial number) scanner

Scan serial number and start OpenHTF testing routines. Avoid human mistakes when manually entering DUT serial number.
I’m using simple $21 WoneNice USB Laser Barcode Scanner.

Source code and instructions

All developed OpenHTF routines for Joker TV testing is committed to hwtest subfolder of the main libjokertv repository. You can browse it here.

Use following command to start OpenHTF web interface:

git clone https://github.com/aospan/libjokertv.git
cd libjokertv/hwtest
python openhtf-jokertv-frontend.py 

OpenHTF web page
OpenHTF web page

Scan serial number into “DUT ID” field. Hardware testing process will start. If all stages (phases) are successful, you should see following screen:

OpenHTF web page with all phases were successfully completed (Pass)
OpenHTF web page with all phases were successfully completed (Pass)

Conclusion

Functional testing is very important in hardware mass production. It can takes a lot of time and will cost you money because factory can charge you by working time. In this case, automation of functional testing is the best option. In my case (Joker TV), I have decreased required time from 5 to 1 minute (5 times less). This is a good result!

One thought on “Joker TV hardware functional testing with OpenHTF

  1. Oscar So says:

    Happy New Year! Thanks for the post. I have a few questions:
    1) Is OpenHTF also a good framework to test USB CCID hardware devices ?
    2) How about device with NFC ?
    3) Is there anything similar to OpenHTF ?
    Thanks!
    -Oscar

Leave a Reply

Your email address will not be published. Required fields are marked *