Quality Checks: Functional Testing for IoT PCBs

IoT PCBs are complex devices that combine hardware and software to perform a variety of tasks. Functional testing helps to ensure that these devices work as intended and that they meet the needs of their users.

Functional Te


Table of Contents:



What is functional testing?

Functional testing is a type of software testing that verifies whether a software application or system meets its functional requirements. It is an essential part of the software development process, and it is especially important for IoT PCB development.


How do you carry out functional testing?

Functional testing is a method used to assess whether a product's features and performance meet the required functional standards. These standards are evaluated based on the product’s features, operation descriptions, and user solutions.

There are two broad categories of functional tests: hardware functional testing and software functional testing. These categories differ in their objectives, tools, and methods.

IoT products consist of both hardware and software components. Let's start by discussing the hardware functional testing of IoT products. This process begins by gathering the product specifications, function descriptions, and logical frameworks.

Functional testing can be carried out in a variety of ways, but the most common approach is to use test cases. Test cases are documents that describe the inputs that should be provided to the system under test (SUT) and the expected outputs.

Test cases can be executed manually or automatically.

  • Manual testing involves manually providing the inputs to the SUT and observing the outputs.
  • Automated testing uses software tools to execute the test cases and compare the actual outputs to the expected outputs.

As a trusted partner in manufacturing and developing novel IoT products, NexPCB brings extensive expertise in handling IoT products.


IoT PCB Testing

An IoT product typically includes features like wired or wireless network functions, a master control part with computing or storage capabilities, and often an energy supply component such as a power supply and batteries. Additionally, there may be manipulation structures like keys, switches, and interfaces, as well as additional units like displays, LEDs, speakers, sensors, and other input units. These elements resemble the peripheral configuration of a computer, and we'll delve into them further.

For IoT PCBs, there are 5 main PCB features to be tested:

1. Network

  • Wired Network Tests

One of the most conventional methods of functional testing involves connecting a network cable to the LAN switch and using commonly used network tools or ping commands on the computer.

  • Wireless Network Tests

For wireless technologies, different tools and methods are required. Here are the examples of wireless technologies and their respective testing tools: 

    • Wi-Fi testing is carried out using a Wi-Fi router
    • Bluetooth requires either a mobile app or a Bluetooth testing tool on a computer.
    • Cellular communication is typically comprehensively tested using analog base station mode.
    • For wireless methods like LoraWAN, ZigBee, and NB-IOT, the corresponding gateway and server need to be configured to test their connections.


2. Master Control (Firmware)

In designing IoT products, the firmware download tools and methods are typically considered in advance, with a corresponding guidance manual produced. However, even for processors with the same ARM architecture and kernel, the tools can vary widely based on manufacturers and design solutions.

Therefore, it's crucial to become proficient in various download tools, programming, and testing software. Customized download or testing devices are often necessary for mass production needs. 


Jig Fixture for Functional Test



3. Power Supply

For products with an adapter, it's essential to arrange functional testing, related certification, and reliability testing for the adapter. In the case of products equipped with a battery, a battery tester is used for single-cell testing. After passing this test, the battery is assembled into the whole device for a complete charge-discharge and operating mode test.

Attention should also be given to factors like heat generation and power consumption. The power supply of the mainboard is usually subjected to a unit sampling test to verify if the module performance indicators meet the design requirements.


4. Manipulation and Display

Testing the operation of buttons, touchscreens, remote controls, and interfaces is relatively straightforward, but comprehensive testing is crucial to ensure no function is overlooked. Creating a checklist based on devices or logical frameworks can help. Interface function tests need to adapt to various interface components, and connectivity can be assessed through the test. Functional testing for LEDs, displays, sound, and other user prompts is also relatively simple, but it relies more on manual work, so strategies to minimize human error are important. Video recording in the workplace is a common practice.


5. Sensors


As sensors are a core module of IoT products, their functional implementation is a critical requirement, followed by the need for general calibration. Since there are various types of sensors, each falling into different technical categories (such as optics and chemistry), selecting appropriate tools and solutions depends on the type of sensor. Some sensors, particularly those with high independence, can be separately tested through component-level calibration and testing.

However, most units require testing by displaying or uploading data to the terminal. Analog sensors may require calibration, often accomplished through physical measurements and the use of auxiliary instruments or materials. Combining calibration and functional testing can be a challenging task for designers during the architectural phase. Products with multiple sensors often require the creation of a comprehensive testing system.




Why is functional testing crucial for IoT PCB development?

Functional testing is crucial for IoT PCB development for a number of reasons.

  1. Ensure PCB meets its functional requirements
    This is important because IoT PCBs are often used in critical applications, such as medical devices and industrial control systems.
  2. Build confidence in the PCB's reliability

    Bugs can cause IoT PCBs to malfunction or to produce incorrect results. By identifying and fixing bugs early in the development process, functional testing can help to save time and money.

  3. Build confidence in the PCB's reliability
    When a PCB has been thoroughly tested, it is more likely to perform as expected in the real world. This is important for IoT PCBs, often used in mission-critical applications.


The automation of the manufacturing process has led to a lower proportion of manufacturing time in the production of IoT products, with a growing share of time allocated to testing (excluding software testing, which tends to be more time-consuming).

In this new era of data, product functions are becoming increasingly complex. Delivering products with high quality, maximum speed, and minimal cost has always been at the forefront of NexPCB's mission. We have invested heavily in equipment, mastered various software and hardware tools, and undertaken initiatives like purchasing battery testers and a diverse range of instruments. We design and fabricate fixtures for downloading and testing, develop software tools, establish laboratories, and collaborate with external suppliers for specific testing needs




Posted by Jacen Wang

Jacen Wang

Head of Electronics Engineering @ NexPCB. Give this man a breadboard and a box of electronics and he will make magic (not to be confused with magic smoke). Almost all the Raspberry Pi's in the office are his.