Electronics and plastic casing parts of Flipper Zero are manufactured at different factories. Today we will visit the electronics factory and take a look at the automatic PCB testing.
There is always a non-zero defect rate when it comes to high-volume production. Some produced PCBs might turn out faulty, some might have barely noticeable defects like degraded radio performance. Defective Flippers must not get to users. To ensure this, all components undergo two stages of testing in production: individual electrical testing of each board and then testing of the entire assembled device.
In this article, we are going to focus on the first stage – automatic electronic testing of individual Flipper Zero boards.
Flipper Zero PCBs Production
Flipper Zero consists of 4 PCBs:
- Main PCB is the main board on which the STM32 microcontroller, the display, the Sub-1 GHz module, and buttons are located
- iButton PCB has special iButton pogo-pins, the buzzer, and the infrared transceiver
- NFC_RFID PCB has RFID 125 kHz and NFC 13.56 MHz components
- The Antenna PCB is a combo dual-band 125 kHz + 13.56 MHz antenna, which is located right under the NFC_RFID board
Every PCB is produced and tested separately. First, a bare PCB is produced. It consists of layers of insulating material and copper foil, on which signal tracks and contact pads are etched. The PCB layers are glued together, and the tracks are connected between the layers using special holes called vias.
The most sophisticated Flipper Zero board is Main PCB, which consists of 6 layers!
Every PCB is visually analyzed and electrically tested before component placement. The visual analysis takes place under a microscope to examine all contact pads, a solder mask (paint separating the soldering points from the rest of the board), silk screen printing, etc.
At this step, manufacturing defects are revealed, for example, in our case, the lack of a solder mask on the Main PCB. There was no mask at all between the BGA component pads, which greatly increases the chance of getting a jumper, that is, contacts stuck together.
When the quality of the printed circuit boards meets our requirements, they move on to the next step – assembling the components. The boards are loaded into the SMT (Surface Mount Technology) — a special machine that places the components automatically. This process is also called "pick-and-place". The machine grabs the component with a vacuum arm and places it on the PCB with great precision.
Boards with installed components are baked in an oven with a tuned thermal profile. The solder paste is melted and the components are soldered to the board.
At this stage, surprises and problems might also occur. If electronic components have not been properly stored and have accumulated moisture inside the case, they may crack at high temperatures. Therefore, we order components only from official suppliers who provide a guarantee. This is the only way to get the predicted quality of the final device.
After that, the boards are separated and packed in plastic antistatic trays. At this stage, we do not yet know if these boards work or not. There are probably some defective ones in each batch. Therefore, the batch goes to electrical testing.
A test bench is developed for each Flipper board, also called "test jig" or "jig" in professional slang.
Test jig components:
- A rig with pogo-pins (so-called bed of nails) designed for specific PCB. Consists of a frame in the shape of a PCB, and a PCB clamping mechanism (red handle on top)
- A control board, which is connected to all the pogo-pins. We developed this board from scratch, as well as the firmware for it. For simplicity, a ready-made STM32F4 Black Pill module is inserted into the board
- A computer, which runs the testing software. The set of tests for each PCB is different, just like the software
- A database, where all test results are sent
We have developed a separate test bench for every Flipper Zero PCB. It is a huge amount of work, comparable to developing full-fledged devices.
Every Flipper Zero board has special test pads for test bench pins to touch. Through them, power is supplied to the device, and communication with the electronics on the board takes place.
The testing process looks like this:
- The board is inserted into the test jig by hand and clamped from above
- The spring-loaded pins touch the test pads on the board
- Automatic tests are executed
- The tests finish with a "PASS" or "FAIL" result, along with additional comments
- All faulty boards are subject to analysis
The test results of each board are saved in a database along with its serial number, so later we can check how it passed the tests, when it was produced, and from which batch the components were mounted on it. This helps to solve issues a lot.
As a result, the operator only has to press one button and look at the result on the screen. They will see either "PASS" if the test is successful or "FAIL". Their job is to set aside defective boards for further analysis.
Why Test Individual Boards
Why test each board separately when you can assemble the entire device and then test all the functions on the finished device?
In a well-functioning production, each step of the assembly line must check what it gets from the previous one. When the resulting components have a systemic defect, you need to investigate the situation and take action to improve the process of the previous step. If this is not done, a significant percentage of the assembled devices will have problems of unknown origin.
The price of a defect discovered at the stage of the finished product is much higher. Because time has already been spent on the entire production cycle and the final manual assembly of the device. It's much more reasonable to localize the problem earlier, on a separate board, and immediately remove the defective board, than to find the problem in the finished device.
For example, a real situation: one of the 3 IR LEDs wasn't properly soldered. This problem is immediately detected during the first tests, by the presence of incorrect resistance on the test pads. But if such a board had got into the finished device, tests of such device would show only low emitted power of the IR transmitter. And then the reason for such a defect would have to be guessed: problems with connecting loops, problems with power drawdown, etc.
Test Boards Sources
Inside each test jig is a Black Pill STM32-based board specially designed for it with its own firmware. Below you can see the source files of these boards through the interactive Altium viewer. It shows schematics, PCB design, and 3D models, right on the blog page!
Main PCB Testing Board
NFC_RFID PCB Testing Board
iButton PCB Testing Board
Our social media subscribers get all the Flipper Zero news first! Join in and get access to sneak peeks, insides, and more.