+1 (713) 688-4600 | Sales Toll-Free: (855) SELL BPM | 24/7 Service: +1 (832) 617-5702 info@bpmmicro.com
Select Page

Off-line vs In-System Programming

by | Apr 8, 2021 | Case Study, Technology, White Papers

BPM Microsystems is exploring different ways to get devices programmed. According to the case study “What is the Best Way to Get Devices Programmed,” there are six main ways to program devices. This case study explores two of those six methods: In-system Programming (ISP) and Off-line programming.

Upfront, it is understood that BPM provides off-line automated and manual programming solutions and accessories. BPM used to provide an ISP solution: the 2800ISP. In many ways, the 2800ISP was a programming marvel that solved many of the problems traditionally associated with ISP because it allowed customers to program large memory devices in high-speed parallel mode, similar to in-socket programming.


Microchip Pickit 3 is an example of a chip development kit that can be modified for a production environment

In-system programming (ISP) allows some devices to be programmed after it’s soldered on the PCB board. This allows firmware updates and small data uploads, integrating programming and final test into a single step. There are compelling reasons to program at the final test, such as when x-ray inspection (on certain types of devices) requires programming as the last step. Likewise, because of the attributes of PCM technology, any preprogrammed data to the device would be lost after reflow, therefore requiring in-system programming equipment. Occasionally, multiple devices reference each other and are programmed differently based on feedback between the devices on board; while rare, there isn’t another solution in that particular case.

In-system programming also allows for product “versioning” where the same circuit boards receive different software versions for different products or different functions. This can also be accomplished on off-line programming via API with inventory control. Lastly, there are fewer consumable materials involved with ISP (input such as trays or tapes, sockets, etc.).

How ISP works

FlashRunner 2.0 16-channel ISP programmer

Typically, In-system programming is accomplished by a variety of home-grown solutions, chip development kits adapted for production, and/or ISP-specific universal modules, such as the FlashRunner from SMH. They all share a fixture of some sort that connects the devices on-board to the programming interface. Typically a “bed of nails” fixture is used with pogo pins that come in contact with the board to enable the electro-mechanical interface. Fixtures are designed for long-life cycles, with the pins needing to be replaced periodically.

For specific use cases, ISP is the most effective method: short programming times, requiring flash or firmware updates at the end of the line, with no physical changes to the boards for several years.


In-circuit programming requires a test engineer to design, set up, and qualify the equipment. The initial set-ups can be fairly extensive (and expensive), usually requiring an outside consultant to design the fixture and to configure the controllers. Prior to production, there may be up to a week of in-house configuration to ensure all components are functioning correctly. Due to the complexity of a typical ISP setup, it may take more time to troubleshoot all the potential issues, such as signal integrity caused by longer cable lengths, power issues, and more. If time to market strategy is a potential issue, other options may need to be explored.

If changes to the board are required, a new fixture is required, which is priced according to the complexity and the number of pins required. As a rule of thumb, fixtures such as bed-of-nails start around $2,000 USD and average about $5,000.  This price does not include the engineering expertise to develop and qualify the solution.

Final Test


Programming complexity may cause the ISP beat rate to decrease to a point where it becomes a bottleneck. The trend in programming is more data; if the programming/test takes more than the other processes behind it, your line will outpace the final production rate. Product lifecycles also need to be factored in– ISP works best for standardized boards with years of life expectancy, and not so much for quicker-turn products, such as consumer electronics and automotive components.

Potential Roadblocks

What happens if the ISP programmer stops working? Your line goes down until it can be fixed. The same goes for bent/broken pogo pins, although they can usually be fixed fairly quickly. Development tools may lack log file information that comes with universal systems; log files can help to pinpoint what went wrong and what can be done to fix it. 

What happens if you get a red light at the final test? This indicates that one or more of the devices failed. Your choices are to scrap the board, or send it to manual rework (find the bad device(s), desolder, remove, insert a fresh device, solder, and send back to test for programming). If PCBs are panelized, the manufacturer needs a method to isolate and rework bad boards, including programming (which may require a separate fixture). With off-line, all programmed devices have been pre-tested. The only issue may be a bad solder, which can be fixed fairly easily.

ISP fixtures require special storage when not in use. They are delicate instruments that require special handling. Fixtures are not universal– if a tester is replaced, most likely you’ll need a new fixture.

Off-line Programming

A dime and a BGA device compared to a tiny CSP device

Off-line programming is a separate process where blank chips are programmed on high-speed robotic systems and placed into output media, usually tape. Off-line machines are best suited for medium to high volume as well as high mix (many different types of devices); they have more capacity and greater flexibility than ISP. They can change quickly to adapt to new projects and will not become obsolete when a project changes. For instance, BPM Microsystems Automated Programmers have almost no size or type limitation for devices; they can handle CSP devices as small as 0.5 x 1.0 mm, or QFP devices up to 34 x 34mm.


Socket Card

The flexibility comes from the socket adapters and the universal programming technology. Socket modules and socket cards are the electro-mechanical interfaces between the programmable semiconductor device and the programmer. The robust design is ideal for manufacturing and design environments where high signal integrity and reliable performance are critical. The sophisticated technology of BPM Microsystems’ active circuitry delivers the cleanest waveform signals to the device by eliminating noise, ground bounce, and overshoot, which allows for the most reliable vector testing available to ensure the highest quality and overall yield. 

Depending on the device, up to 4 sockets can be installed on each programming site. Therefore, it’s possible to program millions of devices per year (depending on the complexity of programming specifications and peripheral operations, such as laser marking). The same socket and algorithm used to create the first article are also used for production.


Off-line programming systems are scalable. As needs change, you can add sockets, sites, shifts, or even additional systems. BPM systems make adding additional shifts simple. Set-ups and operations do not require a highly experienced technician. BPM systems are designed to run three shifts with over 85% utilization rate. One off-line APS can support multiple SMT lines.

What makes BPM’s systems better? WhisperTeach™— BPM’s advanced patented Auto-Z teach technology eliminates the need for a highly-skilled operator to set critical Z-height for pick-and-place functions. WhisperTeach™ offers faster setup times and improved yields. WhisperTeach™ eliminates common Z-height errors such as miss picks, miss place, and socket continuity flaws.

BPM’s process software, BPWin, is the best in the industry and provides functionality, quality, and control from design to production. BPM’s engineering teams create new features every week. The user-friendly interface helps you set up, run and save your programming jobs with ease. Factory integration through the BPWin API streamlines production processes. BPWin offers serialization and secure programming for various requirements (and much more). Read more here.

High Mix

In-line programming systems, such as FlashRunner, are not made for high-mix programming. If the number of programmable devices exceeds the number of channels, you will need to upgrade or add additional test machines for the additional devices. BPM Automated systems can switch jobs in three to 10 minutes. That means BPM systems are producing while ISP systems are still being set up, which can take days. Over the course of a year, this can equal hundreds of additional hours of productivity, even in one-shift shops.

ISP solutions are dedicated to one project.  If you run multiple projects on an SMT line you have to have redundant ISP programmers that are on the shelf, at least part-time. Off-line allows you to maximize equipment utilization, supporting multiple SMT lines and multiple products in a single factory.

BPM’s 9th Gen Site technology supports over 40,000 devices, with new development adding to that number every month. BPM’s sites have up to 240 pin drivers with access to all of the pins. Development tools used in ISP are limited to a few devices in a particular semiconductor house’s family of devices. Universal ISP programmers are more “universal” but have much less than BPM’s solution. They do provide new development for unsupported devices but expect several weeks for development and qualification.

Small Footprint

Automated programming systems are surprisingly compact when you consider their capabilities. BPM’s latest system, the 3928, is 162 x 96cm (tape in/out takes up a little more room) and is capable of programming 28 devices simultaneously. It uses standard factory power; the only additional requirement is compressed air. Typically, the system can be installed on the same floor as the SMT line. Machines are installed and operational within five working days.

In Conclusion

In-system programming is a solution to consider for low to medium mix programming with very short programming times. If x-ray scanning of boards is used, depending on the device, ISP may be the only option. ISP lacks the flexibility available from off-line programming systems. With advances in complex programming, especially for automotive applications, ISP may be a good fit now, but will that still be true a year from now? For a growing number of companies and applications, off-line programming may be a future-proof investment that generates positive ROI in weeks, not years (see ROI article).

For more information about BPM’s Automated Programming Systems or to speak to one of our experts about your particular requirements, please call +1 (713) 688-4600 or toll-free in the US or Canada (855) SELL BPM.