+1 (713) 688-4600 | Sales Toll-Free: (855) SELL BPM | 24/7 Service: +1 (832) 617-5702 info@bpmmicro.com
Select Page
Which Programming Method is Right for You?

Which Programming Method is Right for You?

Semiconductor devices are used in a wide range of electronic applications, from smartphones to industrial machinery. Programming these devices is a crucial step in their manufacturing process, allowing them to perform specific functions. There are several methods to program semiconductor devices, each with its own advantages and disadvantages.

In-System Programming (ISP)

Bed-of-Nails fixture connects the PCB to the final test

In-system programming (ISP) is a method that enables semiconductor devices to be programmed after installation on a circuit board, without requiring removal. This programming method allows for easy updates, and flexibility in the programming process, and avoids device disruption. However, ISP requires dedicated programming hardware or software to interface with the device, which may be slower than other methods. Moreover, when the programming process exceeds a few seconds, it can create bottlenecks, slowing down the production line and making it harder to scale. Learn more here.

In-Circuit Programming (ICP)

In-circuit programming (ICP) is a method that enables semiconductor devices to be programmed while they are in use, without requiring removal. This programming method allows for updates without disrupting device operation, flexibility in the programming process, and avoids device removal. However, ICP requires dedicated programming hardware or software to interface with the device, which may be slower than other methods. Learn more here.

Offline Parallel Programming

Offline programming is a method that enables multiple semiconductor devices to be programmed simultaneously. This programming method is faster than ISP and ICP, allows for a high volume of devices to be programmed at once, and can be easily scaled up. Offline programming requires a dedicated socket adapter with a custom algorithm for each device type. For instance, a socket receptacle can accept similar device types from different manufacturers (for example, a BGA(153), but will require a custom algo for each device to ensure it meets the specs for that device).

BPM310 Automated programming systemAutomated Offline Programming

Automated programming is a subset of offline programming that uses automated equipment to program semiconductor devices. This programming method is faster than development kits and allows for a high volume of devices to be programmed simultaneously. Moreover, automated programming allows for individual device programming, and is more easily scaled by adding additional resources and shifts.

Development Kits

Device programming kits are tools used to program individual semiconductor devices. This programming method allows for individual device programming and prototyping. However, development kits can be slower than other methods and require manual device handling, which can be time-consuming and error-prone. If a prototype goes into full production, other methods should be explored, which will require first article proofing for the production programmer.

In conclusion, choosing the right programming method for your programmable devices depends on your specific needs and requirements. Consider the pros and cons of each method before making a decision. Ultimately, selecting the right programming method can save you time and costs while ensuring your devices function properly.

Programming Method

Definition

Advantages

Disadvantages

Approx. Usage

In-System Programming (ISP) Programming a device after it has been installed on a circuit board, without needing to remove it Allows for easy updates in the field, avoids device removal, and provides flexibility in the programming process Requires dedicated programming hardware or software to interface with the device, which may be slower than other methods 40%
In-Circuit Programming (ICP) Programming a device while it is in use, without needing to remove it Allows for updates without disrupting device operation, avoids device removal, and provides flexibility in the programming process Requires dedicated programming hardware or software to interface with the device, which may be slower than other methods. 20%
Offline Parallel  Programming Simultaneously programming multiple devices with the same programming sequence using specialized equipment Efficient for large-scale production, automated to increase throughput, and reduces programming errors Requires specialized equipment that may be relatively expensive, and less flexible for smaller production runs 25%
Development Kits Dedicated hardware and software used to program a single device at a time, typically used for low-volume production or prototyping Provides a high degree of control and flexibility over the programming process, can program a wide range of devices, suitable for low-volume production or prototyping Requires dedicated hardware and software that is typically inexpensive, and time-consuming for large-scale production or programming of multiple devices with different programming sequences 15%

Note: The percentages provided are rough estimates and may vary depending on the specific industry and application.

Programmable Devices for Modern Manufacturing

Programmable Devices for Modern Manufacturing

A programmable device is a piece of hardware that can be programmed to perform a specific set of tasks or functions. These tiny devices are often used in industrial and commercial settings, including manufacturing, healthcare, and automotive, to automate processes and improve efficiency.

There are many different types of programmable devices, including microcontrollers, Programmable logic devices (PLDs), and various Flash devices. Each of these devices has its own unique set of capabilities and is used for different applications.

NXP Kinetis® K02 MCU for Low Power Applications (MK02FN64VLH10)

Microcontrollers (MCU) are small, single-chip computers that are often used in embedded systems, such as sensors, appliances, and automotive systems. They are highly programmable and can be programmed to perform a wide range of tasks, from simple control functions to complex algorithms.

A programmable logic device (PLD) is an electronic component used to build reconfigurable digital circuits. Unlike digital logic constructed using discrete logic gates with fixed functions, a PLD has an undefined function at the time of manufacture. Before the PLD can be used in a circuit it must be programmed to implement the desired function.[1] Compared to fixed logic devices, programmable logic devices simplify the design of complex logic and may offer superior performance. Unlike microprocessors, programming a PLD changes the connections made between the gates in the device.

Another example of a programmable device is a single-board computer (SBC). SBCs are small, single-chip computers that can be programmed to perform a variety of tasks, such as running a web server, controlling a robot, or playing media. Some popular examples of SBCs include the Raspberry Pi and the Arduino.

Programmable devices are also used in the Internet of Things (IoT). IoT devices are connected to the internet and can be programmed to perform a variety of tasks, such as collecting and transmitting data, controlling other devices, and interacting with users. Some examples of IoT devices include smart thermostats, smart locks, and smart appliances.

In summary, programmable devices are used in a wide range of applications, including control systems, automation systems, data acquisition systems, and the Internet of Things. They can be programmed to perform a variety of tasks and are used in industries ranging from manufacturing to home automation.

Examples of Programmable Device Applications

An example of a programmable device is a smart thermostat. These devices can be programmed to automatically adjust the temperature in a home or office based on the preferences of the user. They can also be controlled remotely using a smartphone app, allowing users to adjust the temperature from anywhere.

Programmable Devices for Healthcare

In the healthcare industry, programmable devices include devices such as insulin pumps and pacemakers. Insulin pumps are small, portable devices that deliver a continuous supply of insulin to patients with diabetes. The pumps can be programmed to deliver insulin at specific intervals throughout the day and can be adjusted as needed based on the patient’s blood sugar levels.

Pacemakers are small devices that are implanted in the chest to help regulate a person’s heartbeat. They can be programmed to deliver electrical impulses to the heart when needed, helping to prevent arrhythmias and other heart rhythm disorders.

Robotic surgical systems are another example of programmable devices used in healthcare. These systems allow surgeons to perform complex surgeries using precise robotic instruments, which are controlled by a computer program. The use of robotics in surgery can help to reduce the risk of complications and improve patient outcomes.

Other examples of programmable devices used in healthcare include medical monitoring devices, such as heart rate monitors and blood pressure monitors, and devices that assist with rehabilitation, such as exoskeletons and robotic physical therapy devices. Overall, programmable devices play an important role in healthcare by providing patients with the care and treatment they need to improve their health and quality of life.

Programmable Devices for Automotive

Programmable devices are also used in the automotive industry, such as in self-driving cars. These cars are equipped with sensors and algorithms that allow them to navigate and make decisions on the road. Some examples of programmable devices used in automotive include:

  1. Engine control units (ECUs) – ECUs are microprocessors that control various aspects of an engine, including fuel injection, ignition timing, and engine temperature. ECUs are programmed to optimize engine performance and fuel efficiency.
  2. Automatic transmission controllers – Automatic transmission controllers are microprocessors that control the shifting of gears in an automatic transmission. These controllers are programmed to optimize shift points based on various factors such as engine speed and load.
  3. Electronic stability control (ESC) systems – ESC systems are microprocessors that control the braking and throttle of a vehicle to help maintain stability during sharp turns or sudden changes in direction. These systems are programmed to react to certain stimuli, such as steering angle or yaw rate, to help keep the vehicle on track.
  4. Adaptive cruise control (ACC) systems – ACC systems are microprocessors that control the speed of a vehicle based on the speed of other vehicles in front of it. These systems are programmed to maintain a safe following distance and adjust the speed of the vehicle accordingly.
  5. Telematics systems – Telematics systems are microprocessors that transmit and receive data wirelessly, allowing for remote monitoring and control of a vehicle. These systems are programmed to transmit data such as location, speed, and fuel level to a central server, which can then be accessed by the vehicle owner or a fleet manager.

Overall, programmable devices play a crucial role in the automotive industry, helping to improve vehicle performance and safety. These devices are constantly evolving, with new technologies and capabilities being developed all the time.

BPM Makes Programming Devices Easy

BPM has delivered more fine-pitch automated programming systems than all of our competitors combined. BPM programmers and software are the fastest universal programmers in the world, supporting MCUs, FPGA, eMMC, NAND, NOR, Serial Flash memory devices, and more. What really sets them apart is how easy BPM systems are to set up and run, without requiring a skilled operator. To request a demo, please click here.

Device Programmers from BPM | https://www.bpmmicro.com/how-to-program-in-house/ Video: Bring Programming In-House

 

Up-Time, Accuracy, and Waveforms

Up-Time, Accuracy, and Waveforms

Sweat the Details

Two metrics in device programming are super-important (but the third might be even more important). Here are several questions to ask:
  • What can I expect for up-time and utilization for my Device Programmer?
  • How does BPM ensure the highest quality and accuracy of finished programmed devices?
  • How does BPM deliver the cleanest waveforms? Why are clean waveforms important?

Up-Time/Utilization Rates

With routine maintenance and yearly calibration, BPM systems are designed for maximum uptime. Many factories worldwide run their Automated Programming Systems 6 days a week/3 shifts a day. For purposes of allocation, BPM recommends using an 85% utilization rate (but you may find it above 90% in actual use). BPM’s systems are easy to set up, especially compared to other comparable systems, making their utilization rate the best in class.

Accuracy

BPM ensures accuracy and repeatability for device programming In three main ways: Auto-teach, Vision Alignment, and Job Automation. All programming systems are highly repeatable– once they are set up, they will reliably repeat their program (even if it isn’t perfect). The trick is to start with a perfect setup, resulting in repeatable, reliable, and accurate yield.

A: Teach too high may cause misalignment. B: Teach too low may cause micro-fractures that oxidize over time. The device may pass the initial test only to fail in the field

WhisperTeach is BPM’s patented process to “auto-teach” the critical Z-height of input-output locations and sockets. You see, it’s easy, with a downward camera, to center the X/Y coordinates in the input/output and socket locations (and if you are off slightly, BPM’s on-the-fly vision centering auto corrects and auto centers). But there is no camera to precisely place and pick up the Z (up and down). Some locations are more difficult than others because of where in the machine they are. But even in the “easy” locations, a human operator can only see to about 45 microns (slightly smaller than the width of a human hair).  WhisperTeach is a major factor in BPM’s systems ease and speeds up set-up without sacrificing quality– it’s more accurate (within 15 microns) than a human operator, even a highly trained technician.

For on-the-fly vision alignment, BPM systems utilize a CyberOptics LNC-120 camera which precisely spins the device between the input/output location and the socket without requiring the system to slow down. This boosts DPH (Devices per Hour) without sacrificing quality. BPM’s systems can handle the smallest chip-scale packages in the industry (as small as 1mm x 0.5mm).

Finally, Job Automation allows multiple workflows to be stored and retrieved quickly. BPWin, BPM’s Process Software, calls this application JobMaster. It allows you to prepare programming jobs to meet precise specifications, and then save the jobs for future use for repeatable quality.

Waveforms

BPM’s programming site technology has its origins in test equipment. Everything, from the pin drivers to the gold-plated contacts on sites and sockets, is designed to deliver the cleanest waveforms. If you want to know more, read the Signal Integrity article here. For the short version, signal integrity delivers maximum quality and device life expectancy (you don’t want “device amnesia“).

Clean waveforms give you programming results that you can count on and the highest first-pass yields.

Off-line vs In-System Programming

Off-line vs In-System Programming

Off-line vs In-System Programming

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.

Set-ups

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

Bottlenecks

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.

Flexible

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.

Scalable

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.

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.

Backups

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.

Expensive

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 34 x 34mm.

Flexible

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.

Scalable

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.

Conclusion

  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) 688-4600 or toll-free in the US or Canada (855) SELL BPM.

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.

Sockets

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.

Conclusion

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.”