PCBA IC Programming
What is PCBA Programming?

PCBA Programming refers to the process of writing and uploading code to a programmable component, which is generally divided into offline programming and online programming.

How to choose: Online or Offline Programming?

Off-line Programming:This production process is common, the chip will first go through the programming process, which can be manually or automatically programmed, then go to SMT placement. This production process is called Off-Line Program-. ming (or parallel programming), it has been widely adopted and well known.

Compatible with different packaged chips through various adapters, and only when the chip and adapter are used together that can be programmed. BTW, the adapter itself is a type of precision fixture. That's to say, different chips and packages require different adapters.

On-line Programming:Another production process, which is called online programming (ISP the In-the System Programming, the In-Circuit Programming) , is commonly used in R& D and sometimes in mass production.、

Online programming uses the chip's standard communication bus, such as USB, SWD, JTAG, UART, etc. The interface is generally fixed, and there are fewer pins that need to be connected during programming. Since the interface communication rate is not high, the programming can be completed by using a general wire without high consumption

Also, due to online programming is performed by wire connection, if an error is found during production testing, the PCBA that has the error can be traced back immediately, and the program can be re-programmed without disassembling the chip. By this way, it not only saves production costs, but also increases the efficiency of programming.

PCBA IC Programming

How to choose the best Programming Solution from above two Methods? 

When to Choose Online Programming? 
Online programming is typically the best method if you have one high-volume product with a few features.  Time-to-produce balance if you have a low production volume, complicated workpieces, or frequent New Product Introductions (NPI). 
When to Choose Offline Programming?

 In the case of multiple products, complex programs, and frequent NPls, offline systems provide the most optimal programmingil method because they are fast and don't occupy the production robot for a long time.  The operator can take full advantage of the robot's accuracy and other capabilities, making offline programming optimal for complicated products.

Off-line Programming

On-line Programming (ISP)

Versatility

Suitable for all types of chips

Applicable only in two cases 

1) Chip supports ISP 

2) Circuit board is designed for ISP with proper pin access.

Productivity

1) Programming speed Programming speed is usually higher in case of offline programming as we have easy access to parallel interface of chips and speed is faster with parallel data transmission.

2) Concurrent Programming SuperBOT-3 is equipped with 32 sockets so concurrent programming of 32 chips is easily possible in most cases. 

3) Throughput Automatic programmers can operate at throughput of 1600 UPH (Units per hour)

4) Other expenses Programming is an independent process, and will not have any effect on testing cost.

1) Programming speed. Programming speed is slower in case of serial programming as compared to parallel programming done by automated/parallel programmers as the data bits are transferred sequentially. 

2) Concurrent programming Concurrent programming is decided by the number of channels each ISP programmer supports and size of PCB panel is also a limiting factor. With smaller size PCB, larger panel can be supported. Superpro IS03 can support a panel of 16 PCBs.

3) Throughput: It is not as high as automated programmers 

4Other Expenses: If programming is done on an ICT then extra time is needed on the tester which may involve additional operating cost,

Investment

Initial Investment is higher and user has to consider operating costs for the socket adapters. The cost is easily recovered if chip programming requirement is very high.

Initial investment is lower and customer should consider cost for pogo pin replacement along with cost of manual operator.

Rework difficulty

For various reasons, such as the incorrect data file, firmware upgrades, and other factors sometimes it is necessary to reprogram the chips. In case of offline programming, reworking is needed to desolder and solder the chip.

No rework needed for data file changes and field upgrades,

Flexibility

Changeover time from one chip to a different chip is couple of minutes in case of automated programmer. User needs to install correct socket adapter and ready to go after loading project file.

New programming algorithm development and testing might be involved when chip part number or PCB changes. Also there will be a need of designing new test fixture for different PCBs.

Reliability of product and quality

During programming, because the chip has to go in and out of the socket and feeder equipment, careless operation of automatic programming may result in chip pins deformation, resulting in degradation of soldering quality. So some of the aerospace, defense, automotive electronics, medical electronics and other high reliability requirement companies don't prefer offline programming.

Programming is done after surface mounting so no such risks are involved,