+1 (713) 263-3776 | Sales Toll-Free: (855) SELL BPM | 24/7 Service: +1 (832) 617-5702
Offline Automated Programming vs Inline SMT Programming

Offline Automated Programming vs Inline SMT Programming

In the case study “What is the Best Way to Get Devices Programmed,” BPM Microsystems explored six main ways to get your data on devices. The answer is “Depends.” The short answer is there is no one way that is always better than another. This case study explores two of those six methods: Inline SMT programming and Off-line programming.

A small segment of electronic manufacturing services (EMS) and Original Equipment Manufacturers (OEMs) can use inline programming solutions effectively and economically, compared to off-line programming. A lack of flexibility, high cost, and the specter of obsolescence should raise questions about the long-term viability of Inline programming.

RoadRunner Inline Programmer from Data I/O




Inline SMT Programming

Inline SMT programming is a solution to consider for narrow segments of device programming requiring short programming times, with medium to high volume, for just one device type. Back in the day, that’s what programmed some of the most popular cell phones, when on-board memory sizes were Mbits compared to today’s designs with Gbit memory sizes. Benefits of inline programming include just-in-time programming (which has its own problems lately; see article here), simplified inventory management, and lean manufacturing. If that sounds like your process, and that process won’t change in the next five years, inline programming should be considered (or possibly programming at test, but that’s for a future article).

RoadRunner is an inline SMT programming solution from Data I/O; it has been on the market since the early 2000s. Data I/O advertise the RoadRunner as The world’s only just-in-time inline programming system.” There are other inline programmers as well; for the most part, they are sophisticated, albeit expensive, home-grown solutions.

When programming times are in excess of the beat rate  (beat rate is the total throughput per time on an SMT line) of the SMT line, inline SMT programming becomes less attractive because the programmer is not providing enough parts to keep up with the line speed. In short, programming becomes the line bottleneck. As data density, device complexity, and the number of devices continue to increase, the need to reduce the cost of programming will be amplified like never before. Inline programming becomes less cost-effective and less time-effective as programming time increases because multiple units may be required to keep pace with the line beat rate. 

Inline is Wide

Inline solutions attach at the tape feeder table, and are large, compared to standard tape feeders, taking up to 6 (or more) feeder positions on the placement machine. Depending on the complexity and mix of devices delivered on the tape reel, there may not be spare “real estate” for the inline programmer. It’s important to verify there’s room before committing to an inline solution.

Multiple inline programmers may be required per machine if the programming time is longer than a single system can keep up with, or if multiple programmed devices are needed. That has a double cost: less available tape space, and the expense of additional inline programmers. The problem is obvious. The potential requirement to add another placement machine makes device programming inline a very expensive process. 

Socket Capacity

RoadRunner utilizes sockets to program devices. Sockets are the electro-mechanical interface that uploads the signal from the computer to program a device. A small robotic arm moves the blank device to an awaiting socket and then returns the freshly programmed device to the tape, which feeds directly to the SMT pick and place machine. Sockets are “consumables” and require cleaning, maintenance, and replacement when their lifecycle is complete. Normally, the lifecycle can be managed between shifts, but what happens when a socket fails? Your expensive SMT will have to idle until the socket is replaced. BPM Automated systems have built-in fault tolerance; if a socket fails, the system simply bypasses that socket until it can be replaced. This may only cause a slight reduction in throughput, rather than shutting down the SMT line.


Inline programmers require redundant back-ups because of the high cost of line-down events on the SMT line. What happens if the backup inline programmers go down as well? Regardless, backup inline programmers are an additional expense, but beware if you get talked into buying only one.

Depending on the number of SMT lines at your facility, each placement machine will require its own set. This can begin to add up quickly, especially if you factor in backups. What’s more, if you have different SMT equipment, you probably can’t share a RoadRunner made for different machine brands: for example, a RoadRunner designed for a Fuji SMT most likely won’t operate on a Juki machine.


Inline SMT programming solutions tend to run on the pricey side, especially when backup systems are factored in. If the SMT line is idle, the inline programmer is idle as well. If expensed using a standard five-year depreciation, there’s no guarantee that an inline programmer will not be sitting on a shelf while it’s still being “paid” for (perhaps by no fault of its own, but because of changes in programmables or a loss of a particular project). Today, product life cycles are shorter than ever before. Consider the financial model before investing in inline programming. 

Crystal Ball

Unless you can see into the future, it’s difficult to know what your SMT line will look like in a year, let alone five. What happens if your project changes or design modifications necessitate different programmables? RoadRunner, for example, is offered in a range of sizes; if a larger device is spec’d, you may need a new RoadRunner, while the “old” programmer collects dust on a shelf. More likely, more data is required on the device, which will slow the entire line, unless more inline programmers are purchased. 

Off-line Programming

Off-line programming, like the name implies, 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, high mix (many different types of devices); they have more capacity and greater flexibility. 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 35x35mm.


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

Same Process

It’s worth mentioning that off-line programming utilizes the exact same process used on placement machines: reels of components and devices are loaded by an operator. Reels of programmed devices take up less space on the placement machine (1 or 2 slots) than an inline programmer (6 or more). What’s more, inline programming systems require fresh reels of blank devices periodically, requiring a pause while the operator feeds in a new tape. Devices programmed off-line can be set up with two (or more) locations the SMT machine can use; as the tape reel runs out, it shifts over to a fresh reel while the operator replaces the empty reel with a new one.


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 Automated Programming System can support multiple SMT lines. 

High Mix

Inline SMT programming systems, such as RoadRunner, are not made for high-mix programming. Each system is dedicated to a particular device; depending on the device, you may need a whole new RoadRunner. BPM Automated systems can switch jobs in typically 15 minutes or less; they are up and running while comparable systems require two to three times more time to set up. That means BPM systems are producing while other systems are still being set up. Over the course of a year, this can equal hundreds of additional hours of productivity, even in one-shift shops.

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.


  Inline SMT Programming Off-line Programming
Number of tape slots on SMT machine Up to 6 for each device 1-2 (depends on device/tape width)
Number of programmers 1 for each device (plus backup) 1
(can supply several SMT lines)
High volume programming Yes Yes
High mix  No Yes
Universal  No Yes
Require advanced operator No No
Scalable Limited/ Expensive* Yes
Need backup systems Yes No (spare site recommend)

*Inline is scalable but the cost is double to go from 1 to 2. Offline has an incremental cost much less than inline

Inline SMT programming is a solution to consider for high volume, low mix programming with very short programming times. It lacks the flexibility available from off-line programming systems. With advances in complex programming, especially for automotive applications, inline 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) 263-3776 or toll-free in the US or Canada (855) SELL BPM.

Legacy Automated Programmers from BPM Microsystems

Legacy Automated Programmers from BPM Microsystems

Legacy Automated Programmers from BPM Microsystems

Hundreds Still Running

Several hundred of our legacy Automated Programming Systems (defined as machines we no longer offer for sale) are still in operation; many 15 years and older. There may be some compelling reasons to upgrade (such as capacity issues, or slower programming times for newer devices), but if it ain’t broke, why fix it? Many of these older machines have been paid off for years (other than spare parts and consumables), so as long as they are still productive, an older system is a pure profit center.

BPM still supports many systems (there are some exceptions, so please check the End of Life page). You can continue to get parts and support with a current hardware and/or software contract.



To find out more about upgrading your existing 3800MK2 or 3900 to make it faster and have greater, more accurate throughput, let us know!

Available Upgrades

APS legacy models 3800MK2 and 3900 use upward vision camera technology for component alignment. These APS can be upgraded to get new hardware and software for on-the-fly vision alignment and higher performance with a CyberOptics on-the-fly alignment camera and other improvements with the Z and Theta Axis.

Compelling Reasons to Upgrade

Performance: The 3800MK2 to 3810 upgrade combined with other hardware improvements will allow 800 DPH (3800MK2) to an impressive 1200 DPH. This is accomplished because of the sophisticated CyberOptic LNC-120 for on-the-fly vision alignment and improved pick and place movement using hardware/software advancements.

The 3900 to 3910 upgrade improves Devices Per Hour from 1100 DPH (3900) to an impressive 1432 DPH for the 3910.

Component Automeasure, supported with the CyberOptics alignment camera allows customers to set up jobs more quickly. WhisperTeach allows for faster job setups and changeovers.

CSP devices are supported. The LNC-120 is a sophisticated alignment camera capable of accurately and repeatedly aligning the smallest programmable devices presently on the market as of September 2019.

This is not simply a “camera change.” Upgrade include a new e-chain, improved hardware and performance improvements for the Z-Axis, plus faster, more accurate, and faster Theta performance (rotation alignment).

Legacy Machines Still In Operation

  APS Model Operating Machines by Generation
3610 6th Gen

6th Gen launched in 2000 (20 years)

7th Gen

7th Gen launched in 2007 (13 years)

3800 8th Gen

8th Gen launched in 2011 (8+ years)


Windows 10

We’re pleased to announce that BPWin Windows 10 Compatible version went live with the launch of version 7.0.0. BPWin is currently compatible with Windows XP, Windows 7, and Windows 10, 64-Bit operating system; users can now take advantage of the newest Windows operating system with greater speed, security, and access to the latest OS updates (Microsoft announced it will cease support for legacy OS– see full info from Microsoft here).

Important: you’ll need a current Software Support Contract for all APS and 2XXX Manual Programmers. Contact Inside Sales for contract support.

If you’re interested in Windows 10 support on your current system, contact Technical Support for more information. You may need additional hardware to support Windows 10.


To find out more about upgrading your existing 3800MK2 or 3900 to make it faster and have greater, more accurate throughput, let us know!

Universal Device Programmers

Universal Device Programmers

Some solutions are more “universal” than others

There are quite a few device programming solutions that describe themselves as “universal.” You would think everyone is using the term “universal” the same way. Think again.

“Universal” as an adjective, means: “of, affecting, or done by all people or things in the world or in a particular group; applicable to all cases,” (Definitions from Oxford Languages). What does it mean to be “universal?” First, let’s go back to the first “universal” programmer…

BPM 1200, the First Universal Programmer

In the early 1990s, there was no such thing as a universal device programmer. If you wanted to program a different family of devices (for instance, an EPROM and a TSOP), it required purchasing two (or more) different programmers. The reason was the interface between the device and the programmer was hard-wired.

In 1992, BPM Microsystems (back then, they were called BP Microsystems) developed the 1200 Manual Programmer with a serial port connector. It was the first “universal” programmer– you could request additional device interfaces that would allow you to program more than just one device (or family of devices). BPM developed the first socket adapters, which are now used by all off-line device programmers.

Universal Hardware/Software 

Each device has specific programming parameters. It is not just a matter of sending an electrical signal to a specific pin—each device requires a unique algorithm to ensure it is programmed correctly. 

For instance, for a device programmer to support a NAND flash device, two algorithms are needed. The first is the conventional device programming algorithm as specified by the semiconductor manufacturer. The second is the BBM algorithm. The BBM algorithm is a user-selectable software module that interfaces with the device programming algorithm. Its implementation depends upon the target system, not just the NAND device. The challenge is in obtaining a well-defined BBM algorithm specification. See White Paper Here.

Algos “translate” the data into a specific pattern based on the specs from the semi-house. It also sends the correct electrical signal to the correct pin. See Signal Integrity Article Here.

In 1996, BPM introduced the 4100, the first universal fine-pitch automated pick-and-place programming system. Finally, there was a solution to program, at scale, a variety of devices. Again, prior to the 4100, pick-and-place programmers could only program-specific families of devices.

Fast-forward to Today

BPM Microsystems pioneered universal device programming, but nowadays, most device programming solutions are “universal,” right? While it’s true that the days of single-use programmers (except for some extremely high-volume machines) died 25 years ago, that doesn’t mean that all “universal” programmers are truly universal.

Take, for instance, Data I/O. They make automated and manual device programmers in the US and China; they promote their programmers as “universal,” but that depends on your device programming requirements. Data I/O uses two different programming site technologies. Their FlashCORE III sites were developed in 2009; their newer LumenX sites came out in 2016. Let’s say you have a mix of eMMC, MCU, and EPROM devices to program. Their “universal” solution would require two sets of sites; LumenX sites for faster programming with eMMC devices and FlashCORE III to program the others. Are they, in fact, “universal?” Sounds like “not really.”

BPM’s 9th Generation Technology launched in 2016. 9th Gen sites with Vector Engine™ Co-Processor accelerate flash memory waveforms for programming near the theoretical limits of silicon design. The faster the device, the faster it’s programmed. With data transfer rates to 50 Gb per second, and verify rates up to 200 MB per second, 9th Gen sites offer the industry’s fastest times with even more capacity compared to other systems in its class. This is up to 9 times faster than competing “universal” programmers, offering the Largest Memory Support in the industry―256 GB, upgradeable to 512 GB. Plus, by downloading image files up to 25 MB per second to all programmers simultaneously, the system rapidly produces devices at maximum achievable throughput.

PSV5000 vs BPM 3928

Comparing the two platforms (Data I/O vs. BPM) with similar specifications in a typical configuration, a Data I/O PSV5000 would require two FlashCORE III sites, plus one LumenX site (total of 3), while a BPM 3928 would require two 9th Gen sites (which is included in the basic machine configuration). The BPM 3928 is upgradable to five more sites (a total of seven); The PSV5000 can add three additional sites for a total of 6 sites. But only three or four could be used at a time (depending on which site technology is added). The BPM solution is much less expensive because it is actually universal, and allows you to utilize all the connected sites simultaneously.

One could argue that the PSV5000 could be set up with six FlashCORE III sites or six LumenX sites (for a total of 12 sites)– you would only have to switch out the sites when you set-up for the specific job. Realistically, that’s not a viable option. The price for just the sites would cost more than double the original PSV5000 and would take many additional hours to do each change-over.

In the case of a site failure (it happens), with BPM’s universal sites and fault-tolerant hardware/software, the “dead” site can be automatically bypassed; thus, production still goes on (albeit, at reduced capacity). Recall the mix of eMMC, MCU, and EPROM devices to program. Their “universal” solution would require two sets of sites; LumenX sites for faster programming with eMMC devices and FlashCORE III to program the others. if the single LumenX site goes out on the PSV5000, your programming on the LumenX site is stopped until you can get the site replaced or repaired.

It’s always a good idea to plan for failures (they happen) by having a spare site available on-site (all APS manufacturers can provide you with spare kits). With BPM’s single-site technology, you only need one spare, which saves thousands of dollars. When getting a quote on an APS, make sure to ask for spares (and if you’ll need just one or two).

Universal could also mean “future-proof.” Knowing that 9th Gen sites can program legacy devices as well as the newest flash devices means your investment is not soon obsolete. BPM has customers that are still programming on ten- to 15-year-old (and older) 8th and 7th Gen machines. BPM continues to provide support for these legacy systems, and plan to for the foreseeable future.


Socket modules and socket cards are the electro-mechanical interfaces between the programmable semiconductor device and the programmer. It’s one of the secrets to BPM’s Universal Programming. 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.

Signal Integrity designed into the socket card allows for high quality/high-speed communication between the programmer and the device under test (DUT). High-quality communication allows for high-speed data transfer.  How?

  • Multiple layer PCBs
  • Ground plane
  • Controlled impedance
  • Active circuit
  • High-quality, gold-plated Samtec connectors on all 9th Gen Sites and Sockets

BPM Microsystems offers a substantial number of socket modules and socket cards to support thousands of devices from over 218 semiconductor manufacturers. Currently, there are over 39,000 devices supported on 9th Gen (three times greater than BPM’s nearest competitor).

New socket module and socket card designs are continuously added and can be requested to meet your programming needs (you can request support here).

“Universal” also means many of our older sockets (7th and 8th Gen) work with 9th Gen sites. When you upgrade to 9th Gen’s much faster programming protocol, it’s possible you can use your existing sockets (see if your socket is compatible here).

Universal Device programming with 9th Gen

First Article to automated device production, use the same software, same sockets, same algos, same results.

Finally, universal means using the same software (BPWin), and sockets/algos on all 9th Gen programmers, from manual to automated (the only additional thing needed on the automated programmers are pressure plates which are inexpensive and last forever). No matter if it’s the first article to final production, nearly everything is compatible.


BPM’s universal device programmers are truly universal, in every sense of the word. In an uncertain world during uncertain times, it’s comforting to know a BPM solution will deliver years of reliably programmed devices, and that “universal” actually means “universal.”

BPM compares the 1710 and the 2900 Manual Programmers

BPM compares the 1710 and the 2900 Manual Programmers

BPM compares the 1710 and the 2900 Manual Programmers

Join Shelby B., our Inside Sales Intern, as she breaks down the benefits of the 1710 7th Gen manual programmer vs. the 2900, our latest 9th Gen manual programmer.

Features of the 1710

  • Program up to 4 devices at once using the FX socket modules
  • Able to support the FSM48D (handles 98% of the DIP package devices) and FSM84UP (handles 95% of the PLCC package devices) modules
  • Supports hundreds of different packages with a broad range of socket modules.
  • Supports many legacy devices: PLD, MCU, PAL, GAL, CPLD, FPGA, EPROM, NOR Flash, EEPROM, Actel Antifuse devices, and more
  • 49400 devices supported out of the box
  • Supports high and very low voltage devices
  • Industry-standard for mission-critical Aerospace and Military programing
  • Lifetime software renewal is included with this machine

Features of the 2900

  • Modern High-Speed Universal Programmer capable of programming at the theoretical limits of the device
  • Proprietary Vector Engine Coprocessor that stands alone in the industry
  • Designed more like a high-speed test system
  • Boasts a support list of almost 40,000 devices
  • Weekly device support additions
  • Programs up to 4 devices at a time using socket cards and daughter cards (FVE, LX, WX, WAS, WS)
  • Can purchase a single socket card for first article qualification
  • Programmer workhorse, capable of programming 10’s of thousands of devices annually.
  • Up to twelve (12) 2900 programmers can run a job at a single workstation Has backward compatibility with (almost) all devices supported on the 8th Generation (2800, 3800, 4800, etc) and most devices supported on the 7th Generation (1710, 2710, 3710, etc)
  • Supports the NAND flash series of devices
  • Supports the eMMC series of devices including the following programming speed modes: SDR, DDR, HS200 & HS400
  • 256GB onboard programming memory, expandable to 512GB
  • Technology poised to support newer high-density memory devices
  • Both use BPWin, the best process software The user experience and therefore the learning curve moving from a 1710 to a 2900 is almost nil.

To find out more, check out https://bpmmicro.com/device-programmers/manu…

Hey, y’all this is Shelby at BPM Microsystems. I’m with the inside sales team and you probably recognize my voice from some of those phone calls I make every day following up on y’all’s quotes and things like that. Anyways I just want to dive right in and talk about the 1710 programmer and the 2900 programmer and talk about some of the features and benefits that we offer here at BPM Microsystems.

All right so let’s dive right in and talk about the 1710 programmer. this is our programmer that programs a lot of our legacy devices. it was actually created in 2004 so it’s one of our older machines but it’s still one of the most popular machines that we sell here at BPM. The 1710 supports hundreds of different packages with a broad range of socket modules and it also supports many legacy devices like the PAP the GAL the CPLD the FPGA the EEPROM nor flash EEPROM and Actel antifuse devices. And an amazing fact about the 7th gen is that we support 49,400 devices out of the box. Wow, that’s a lot! it also supports high and very low voltage devices and it’s the industry standard for mission-critical aerospace and military programming. pretty amazing right? the 7th gen is able to support the fsm48d which handles 98% of the dip package devices. this is it closed and this is it open pretty easy to take on and take off. Okay, so it also supports the fsm84up which handles 95% of the PLCC package devices. that’s it open.

Now that we’ve learned a little bit about the 1710 let’s move on over to the 9th gen our newest model. The 2900 is a modern high-speed universal programmer that is capable of programming at the theoretical limit of the device this handles a lot of our future devices our newer devices whereas the 1710 was handling a lot of our older devices on board it includes proprietary vector engine coprocessor that stands alone in the industry vastly increasing throughput for high-density devices the 9th gen boasts a support list of almost 40000 devices wow it has weekly device support additions and programs up to four devices at a time using socket cards and daughter cards fve, lx, wx, was, and ws unlike most of our competitors who require you to purchase multiple saga cards at once you only have to purchase one for your first article and if you need more capacity no problem you can add up to 11 more programmers for a total of 12 programmers on a single computer programming up to 48 devices at a time isn’t that pretty awesome? the 9th gen has backward compatibility with all socket modules supported on the 8th generation that’s the 2800 3800 4800 etc and also most socket modules on the 7th generation so that’s your 1710 2710 3710 etc

the 9th Gen supports the NAND flash series of devices supports the EMMC series of devices including the following program speed modes sdr, ddr, hs200, and hs400. the onboard memory of the 2900 is 256 gigabytes and is expandable up to 512 gigabytes. Wow that’s a lot of megabytes (off camera: you meangigabytes?) whatever.

So to sum up what we talked about today your 1710 programmer is going to be a little bit slower but it’s going to be for programming those older devices like your legacy devices whereas your 2900 is going to be a little faster and it’s better for newer and higher density devices. one of the benefits of having a 1710 over the 2900 is software is included for life so you don’t have to get a renewed quote for it every year like you would have to on the 2900. However the 2900 is going to be a lot faster and it has a lot sleeker design it’s just better for overall production if you’re going to be using those newer and higher density devices both of these are going to be using bp win so if you are looking to purchase a new programmer and you don’t want to get rid of your bp win you don’t have to fret because both of these use that actually all of our programmers do.

If you are interested or have any questions regarding these programmers you can email tech at bpmicro.com or if you’re interested in purchasing you can email inside sales bpmicro.com thank you guys so much for watching this video I really hope you enjoyed it and I will see you guys next time. bye!

(That’s like a lot of gigabytes)