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

Easy Device Programming

Easy Device Programming

Device programming has never been more essential in this digital age. These tiny chips are the brains of almost every device we use today, from smartphones to cars, and even to the most advanced medical and industrial equipment. Programming these devices, however, can be a complex and time-consuming process. That’s where BPM Microsystems comes into play, making device programming easier and more efficient than ever before. This article explores how BPM Microsystems outperforms other types of programming and brands in the market.

Device Programming: A Brief Overview

Device programming, at its core, involves loading data into a semiconductor device such as a microcontroller, programmable logic device (PLD), or memory chip. This allows the device to perform its specific functions.

There are various methods of device programming, including in-line, onboard (programming at ICT or Functional Test), and offline programming. Each of these methods has its own set of advantages and disadvantages. In-line programming, for instance, integrates directly into the manufacturing line but might slow down the production process, and is very expensive to scale up. Onboard programming can be faster once it’s set up, but it may not support all types of devices.

Offline programming, while providing flexibility in the programming process, can often be perceived as more complex due to the need for setting up and managing individual programmers. However, with the right solutions like those provided by BPM Microsystems, this process can be simplified, reducing the risk of errors and boosting efficiency.

BPM Microsystems: Simplifying Device Programming

BPM Microsystems has revolutionized the device programming process by introducing innovative, efficient, and easy-to-use solutions that stand out from the competition. Here’s how:

  • Broad Device Support: BPM Microsystems’ broad device support makes it easy for businesses to program an extensive range of semiconductor devices. This means less time sourcing different programming solutions for each device type, streamlining the production process, and saving valuable resources.
  • Advanced Algorithms: The advanced programming algorithms developed by BPM Microsystems not only ensure high-speed, error-free programming but also simplify the process. By continually updating their algorithms to accommodate the latest devices, BPM Microsystems removes the need for users to constantly adapt to new programming requirements, allowing for a straightforward, hassle-free programming experience.
  • BPM310 Automated programming systemAutomated Programming Systems: The automated programming systems offered by BPM Microsystems significantly reduce manual labor; in many cases making it possible to produce several thousand devices per shift, without intensive human intervention. A single machine can often support multiple SMT lines. This not only increases efficiency but also drastically reduces the chance of human error, making the process more reliable and less stressful for operators.
  • Ease of Use: BPM Microsystems’ user-friendly interface makes device programming easy even for those without extensive technical knowledge. With intuitive controls and clear instructions, users can quickly learn to navigate the system, reducing training time and enabling a faster start to production.
  • Automated Z-Height Teach: A standout feature of BPM Microsystems’ solutions is the automated Z-height teach, WhisperTeach™. This greatly streamlines the job set-up process, making it up to 83% faster than traditional human + machine processes. This not only speeds up production with greater uptime but also reduces the possibility of setup errors, ensuring more accurate and efficient programming with a high first-pass yield. BPM was the first company to patent this process and is the only one that provides this game-changing technology on all of its 9th and 10th Generation automated programmers.
  • Reliability and Quality: The reliability and high-quality programming of BPM Microsystems’ systems reduce the frequency of errors, making the programming process smoother and easier. Fewer errors mean less time spent troubleshooting and more time dedicated to productive tasks, enhancing overall workflow efficiency.
  • Superior Customer Support: With exceptional customer support, BPM Microsystems makes it easy for clients to resolve any issues that may arise during device programming. This means that help is always readily available, reducing downtime and ensuring that the programming process can continue without significant interruptions.

In conclusion, the ease of use provided by BPM Microsystems’ solutions– whether through time savings, improved efficiency, reduced errors, or readily available support– positions them as a leading choice in the device programming industry. Their offerings make device programming not just possible, but straightforward and efficient, allowing businesses to focus on what they do best: creating innovative products powered by expertly programmed devices.

E:::::::::E        A:::A        SS:::::::::S  Y:::::Y          Y:::::Y
E:::::::::E       A:::::A     S:::::SSSS:::::S Y:::::Y        Y:::::YY
EE::::EEEEE      A:::::::A    S:::::S     SSSSS Y::::::Y     Y::::::Y
E:::::E         A:::::::::A   S::::S              Y:::::Y   Y::::YY
E:::::E        A:::::A:::::A  S:::::S               Y:::::Y Y:::::Y
E:::::EEEEE   A:::::A A:::::A  S::::SSSS             Y:::::Y:::::Y
E:::::::::E  A:::::A   A:::::A  SS::::::SSSSS         Y:::::::::Y
E:::::::::E A:::::A     A:::::A   SSS::::::::SS        Y:::::::Y
E:::::EEEEEA:::::AAAAAAAAA:::::A     SSSSSS::::S       Y:::::Y
E:::::E    A:::::::::::::::::::::A           S::::S     Y:::::Y
E:::::E   A::::::AAAAAAAAAAAAA:::::AS        S:::::S    Y:::::Y
EE::::EEEEE:::::A             A:::::ASSSSSSSSS:::::S    Y:::::Y
E:::::::::E::::A               A:::::AS::::::SSSSSS     Y:::::Y
EEEEE     AA      SSSSS  YY   YY
EE       AAAA    SS       YY YY 
EE     AAAAAAAA       SS   YYY  
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




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://bpmmicro.com/how-to-program-in-house/ Video: Bring Programming In-House


Adapters: Understanding Socket Modules, D-Cards, and Socket Cards

Adapters: Understanding Socket Modules, D-Cards, and Socket Cards


Definition of socket:  an opening or hollow that forms a holder for something
Source: Merriam-Webster

“Socket” can mean different things depending on the context. Even in just electronics, “sockets” can mean more than one thing.

When BPM uses the term “socket,” it is referring to the electro-mechanical interface between the BPM programmer and the programmable device.

BPM pioneered using socket adapters to increase the usefulness of their programmers. In the “old” days, you had to buy a programmer for each type of device needed (which might mean a new programmer for a different pin count). Socket Adapters are the mechanical “bridge” between the programmer’s programming site and the device to be programmed. A software algorithm is needed as well, which directs where the packets of data go. Most programmers sold in the last 15 years or so use adapters.

There are two main components on an adapter: A circuit board with connector pins that insert into the programmer’s site, and a socket receptacle. The circuit board, due to its structure, is unlikely to fail before millions of insertions. There are no “mechanical” parts, with the exception of the connectors. Not so with the receptacle. The receptacle is “closed” in its resting state. In order to open the receptacle to insert a device, pressure is applied to the top (either by hand, by a lever, or by a pressure plate in an automated system). Some large device sockets utilize a clam-shell top to close. Receptacles, due to their mechanical nature, are subject to failure after a certain number of insertions. For standard socket receptacles, you can expect anywhere from 5,000 to as many as 25,000 insertions. High insertion sockets (HIC) are rated for 250,000 insertions.

BPM does not limit the number of insertions on its sockets (many of our competitors do). We do give the operator a warning that a socket has reached its factory-expected life.

Most BPM sockets come with a receptacle base. Receptacle-base socket modules and socket cards include a receptacle interface between the printed circuit board and the socket. This allows you to replace only the individual consumable socket once it reaches its useful life. This has proven to extend the life of the socket module and socket card, producing higher yields and lowering programming cost per device.

3 Classes of Adapters

BPM designs and produces a variety of socket adapters, and offers three classes of socket adapters:

Socket Modules (Legacy Adapters)

  • 6th Gen programmers: FSM*, FASM*, FXSM*, FXASM*
  • 7th Gen model programmers: FSM*, FASM*, FXSM*, FXASM*, FX2SM*, FX4SM*, FXASM*, FX2ASM*, FX4ASM*

D-Cards (Daughter card replacement assembly)

  • 6th and 7th Gen programmer socket module daughter card replacement assembly
  • In limited cases, D-Cards are compatible with 9th Gen programmers, as specified within the BPWin support list

Socket Cards

  • FVE*, FVE2*, FVE4*, FVEG*
  • Socket Cards are used with Flashstream, 8th Gen, 9th Gen, and 10th Gen programmers, where listed in the support list
  • Socket cards are not used with Legacy 6 and 7th Gen programmers. See Socket Modules (above)
  • FVEG adapters are gang design, meaning there are multiple sockets on a single pc board.

Gang Adapters

  • FVXG adapters are gang adapters that are only compatible with 10th Generation programmers.
  • All sockets share the same pc board on a gang adapter
  • FVXG8 is a gang 8 adapter with 8 sockets per board.
  • FVXG6 is a gang 6 adapter with 6 sockets per board.
  • Similarly, BPM could design FVXG2 (two up), FVXG3 (three up), FVXG4 (four up), or FVXG5 (five up) adapters.
  • IMPORTANT: The pressure plates used for 10th Gen automated programmers are heavier gauge stainless steel than the pressure plates used for all other Generation programmers. The pressure required to open up to 8 sockets is double that required for 4-sockets per site automated programmers.

BPM Device Programmers | Socket Modules/Socket Cards  | Socket Name Decoder  | Extend Socket Life Article  | Buy Sockets

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.


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.


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.


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.