Home › Support › Troubleshooting

How do I troubleshoot failed or abnormal programming?

2022-05-30

Why do chips fail to program?

Many engineers have met this problem: programming works perfectly during R&D and testing, but as soon as production starts, the production department reports failed programming again and again. What is the cause?

The usual lines of enquiry are: (1) does the chip batch itself have a defect rate, and (2) is the programmer working correctly?

If neither turns up a problem, many less experienced engineers are puzzled: my chips are fine and the production equipment is the same programmer we used in R&D — so why does it fail?

Programmer manufacturer

Several hidden issues are often overlooked.

1. Is the production programmer really the same as the R&D setup? Perhaps R&D used the chip vendor's debugger (emulator), or some other device that is not intended for volume production.

The distinction matters. For programming a single chip, a dedicated production programmer does the job with one button press: it suits volume production and operators with limited technical background, and it keeps the yield stable. A vendor debugger, by contrast, is designed for R&D. Its operation is not that simple — the operator may have to click buttons in the PC software every time, or reconnect before each programming cycle — and every extra step adds a chance of human error.

Debugger feedback is also less obvious: it may be a printed string, a buzzer or an LED. For production staff without deep technical knowledge, that leaves room for mistakes. Finally, a debugger is not production equipment and does not guarantee yield.

Programming socket

2. If the programmer is a proper production model, is programming done in-circuit or in a socket? If a socket is used, is it being maintained? How much of its service life is left?

This is often overlooked. If you already use a production programmer and programming used to work, check the programming fixture — the socket or adapter — and how long it has been in use. Sockets have a limited number of insertion cycles, i.e. a service life. Unfortunately most suppliers in China do not provide a professional operation or maintenance manual for sockets and fixtures, and such documents are hard to find online; even the cycle count is vague. That makes many programming failures hard to diagnose — and poor contact and similar minor faults very often come from the socket itself.

Reducing failure rates in volume production

Many engineers find that programming works during R&D verification, but as soon as production starts, failures appear. What causes them?

The usual lines of enquiry: does the chip batch have a defect rate, and is the programming equipment working correctly?

If neither turns up a problem, people are puzzled: the chips are fine and the production equipment is the same as in R&D — so why does it fail?

Several hidden issues are often overlooked.

Is the production machine really the same as the R&D setup? Or was R&D using the chip vendor's debugger, or some other device not intended for volume production?

The distinction matters. For programming a single chip, a dedicated production programmer works with one button press: it suits volume production and operators with limited technical background, and it keeps yield stable. A vendor debugger, by contrast, is designed for R&D; its operation is not that simple, the operator may have to click buttons in the PC software each time or reconnect before programming, and every extra step adds a chance of human error.

To solve these problems in volume programming, MaxWiz developed the automated programming machine WIP1000, which effectively addresses them — raising production efficiency while greatly reducing defects during programming.

Automated programming machine

Two common causes of programming errors

Based on our analysis and verification of customer reports of "programming failure", the cause is almost never the programmer's quality or incorrect operation. In most cases it comes from one of the following two issues.

1. Data erased or overwritten after programming. Most chips can be erased and rewritten. During powered testing of the product, interference or a software bug can accidentally erase or overwrite the data. If your FLASH chip has this capability, we recommend enabling write protection during normal programming. Our engineers can explain how.

2. Chip process or quality issues. Data can be lost during high-temperature reflow soldering. The PCBA manufacturer should first check whether the reflow temperature is too high and whether the soldering time is too long. If the reflow parameters are normal, the problem lies with the chip itself — consult the chip vendor or supplier.

Has your IC programming problem been solved? If not, our engineering team can help. MaxWiz programmers come with more than a year of after-sales service; you are always welcome to contact us.

Device programmer