+1 (713) 263-3776 | Sales Toll-Free: (855) SELL BPM | 24/7 Service: +1 (832) 617-5702
Bring Automated Programming In-House

Bring Automated Programming In-House

Controlling quality and lead time are two critical reasons manufacturers bring automated programming in-house. Model 3901 is ideal for EMS (Electronics manufacturing services) that have a high part mix and cannot predict what they will be programming in the future. BPM’s 9th Gen universal programming technology currently supports over 38K devices, with several new or updated devices supported weekly. In addition, the 3901 is universalit can handle nearly any package on the market today.

CyberOptics LNC-120 CameraThe precision of our premium CyberOptics on-the-fly alignment camera allows the 3901 to handle the smallest chip-scale package (1.0mm x 0.5mm) to the largest fine-pitch QFP. You can be confident that you will achieve the high quality and yield that you desire.

How to get started Programming In-House

The first step is to get a device list. Use the Device List template to fill in and email to marketing_department@bpmmicro.com. The minimum requirement to get an accurate budgetary quote is the device Part Numbers. The additional information is helpful, especially estimated volumes. From there BPM will confirm socket card (adapter) support and will be in a position to provide a proposal for your consideration.


BPM has installed hundreds of automated programming systems around the world. We would expect your system to be operational within five days of receipt at your factory, including operator training.
Device List Template (excel) Device Search  Email Device List Template

BPM’s File Builder Wizard makes eMMC Programming Easy

BPM’s File Builder Wizard makes eMMC Programming Easy

eMMC File Concatenate Wizard Saves Time, Streamlines Workflow, Reduces Errors

BPM Microsystems have the best programmers, especially when it comes to complex microprocessors and high-density eMMC devices. BPM’s 9th Generation universal programmers offer the fastest flash programming times, as well as the widest universal device coverage, all in a single, universal programming site. With over 40,000 supported devices, there’s no one else that comes close.

eMMC devices have large, complex data patterns (4GB and up) that can be difficult to set up and prone to operator error. Previously, you had to manually load each eMMC data pattern one by one through the buffer loader. Depending on the complexity, this step was repeated three or more times. Each data pattern also required a manual calculation of data offsets, with no way to provide the checksum. As eMMC devices have gotten larger, the technical challenge of the file structure has become more complicated.

That is, until now.

Now, you can use the configuration information (which should be provided with the eMMC device) to streamline your workflow, eliminate errors, and simplify set-ups. Utilizing a Microsoft Excel template, you can easily streamline file formatting by giving you one document to capture the specifics of the eMMC project, and then utilizing parts of it for the automation tool. The template can also be shared with 3rd parties or saved as a historical record of the project specifications.

On average, the eMMC Wizard should only take a few minutes to edit the data template, and about 10 minutes for the tool to create the data pattern. While the file is outputting, the tool automatically calculates the checksums and verifies them on the fly. Multiple checksum options are available from the pull-down in the Excel template. It also replaces the manual calculation for each offset with an automated calculator, reducing the possibility of errors.

eMMC File Builder Wizard

In order to use the eMMC File Concatenate Wizard, you’ll need the latest version of BPWin, which can be downloaded here. (If your Software contract is expired, you may need to renew it; contact Inside Sales).

All new eMMC algo development will use a standard template that supports the file Wizard. In some cases, older algorithms will not be compatible. Please enter a Device Support request if you need an update to a legacy algorithm that is not currently compatible with the Wizard. If an algo does not support it (yet), you will be presented with this message:

You can submit a device support request here.

eMMC Wizard Example

In this example, we’ll use a SanDisk eMMC with HS400 support. Select the Samsung KLMAG1JETD-B041 device/algo in BPWin. Then navigate to the File Concatenation tool via either the “Device” menu in the BPWin toolbar or by clicking the “Device Config” button, followed by “File Concatenation“.

You will now be asked to select an input configuration file and an output location. Select the output location for your concatenated file.

The input will need to be a filled-out Excel sheet, based on the template found here. Fill out the GP_SIZE_MULT_X fields (provided by the semi house), and the list of files, offsets, and checksums below. Don’t forget to select a specific checksum type from the dropdown menu, or the tool will not know how you want the checksum calculated.

Here are some examples of filled-out templates:

(Since the template requires user-inputted paths to the specified files, you need to ensure that the files are actually located there.)

Once you have selected an input configuration file and output location, click “Concatenate” and wait for the operation to finish. In the end, there should be an “output.bin” file located in the folder you specified earlier.

The green status bar will let you know your file is processing. Depending on file size, this may take several minutes

The concatenate wizard takes a few minutes to finish. If you are utilizing HS200 or HS400, you’ll still need to run the file through the image format tool– navigate via either the “Device” menu in the BPWin toolbar or by clicking the “Device Config” button, followed by “image format“ (remember, this is for HS200/400).

That’s it!

In summation, the eMMC File Wizard makes eMMC programming much easier and faster by walking through the steps to quickly build your files. This ensures quality programming results from first article qualification through production.

The eMMC File Concatenation Wizard is available with BPWin Version 7.0.7 and later. If you have any questions, please reach out to our Technical Support team. If you need to update your software agreement, please contact Inside Sales.

BPM API Delivers Quality and Traceability

BPM API Delivers Quality and Traceability

BPM API Delivers Quality and Traceability

API (Application Programming Interface) is software that connects two or more applications and allows them to “talk” to each other. The main advantage is automating tasks– picture the future world of the movie WALL-E (perhaps that’s extreme). API optimizes human interactions to tasks only humans need to do. API can provide real-time control and communication between various applications and allow workers to focus on higher-value activities.

API of your Dreams

Practically anything you can dream up can be implemented with an API. It all starts with a brainstorming session where you bring together the different stakeholders for programmable projects, especially the front-line teams tasked with the day-to-day work. Ask them what’s working and what’s not. When you begin to identify things that can be improved, ask “what if” questions, such as, “what if there was a way to automate that?” As you break down the steps, especially those which are labor-intensive and prone to human error, you can begin to map out a better process. Try not to put the project management hat on just yet– that comes next.

API for Automated Work Order

Our previous API case study did a deep dive on an Automated Work Order for a large automotive contract manufacturer in Europe. The API functions as an automated work order to integrate their BPM Automated Programming Systems with their MRP system. It creates an electronic work order, operator checklist, and does finished goods allocation. To read more…

Once you have identified the pain points of your production or reporting process, you can begin to identify the “low hanging fruit” that can be implemented right away. Next comes mapping out what specific features you would like to see, and rate them by what would be the game changers and the things that would be nice, but not critical. Now you have the information a developer needs to begin the process of building out an API. Once the Developer has outlined the scope of work, you can decide how you will move forward based on their estimates for cost and timeframe.

Production Programming Advantages

BPM programming equipment, with the activation of BPWin API, has the capability to interface with your enterprise software in a maintainable and standard interface. BPWin API allows users to solve simple to complex process problems during the programming cycle. Designed specifically for BPM Automated Programmers, the API automation object model gives you the ability to utilize any programming language for interface to BPWin software. BPWin API is a breakthrough in programming equipment connectivity, that digitizes the information being generated throughout your device programming operations, and makes it available where, when, and how you need it.

Control and Monitoring API

BPWIN Application Programming InterfaceThe BPM API includes two major modules: Control and Monitoring. Control API (CJobControl Object) allows the external programs to control JobMaster related functions in BPWin software.

BPM API allows you to configure the programming cycle with commands such as select the device, load the data pattern file, set device options, start or stop the programming cycle, and more. Monitoring API (CJobMonitor Object) allows for programmer system status to be exported in real-time for monitoring through verification, auditing, and logging of data from within BPWin software.

This article focuses on two main issues: Quality and Traceability.


Quality possesses the concept of excellence, both in duration and in comparison. If something has quality, it will last longer, remain consistent, and possibly requires less maintenance. Statistical process control (SPC) utilizes statistical methods to monitor a process. By analyzing trends and anomalies, organizations can implement changes to improve the overall quality and process. Captured log file information can yield parts of a process that can be improved, or uncover hidden waste in trend analysis. SPC, when properly set up and utilized, takes a good process and makes it great (higher quality, more profitable).

Quality control starts with removing (as much as possible) the “human” error element. In a real-world use case, Control API steps the operator through a “checklist” to ensure the finished product is of the highest quality. An example of a manufacturing process flow:

  • Receive Job Sheet. The sheet contains required fields in a barcode format.
  • Barcode Job. This contains a link to the .abp file (BPM’s proprietary job file format which also contains the APS workflow instructions) stored on the customer’s server, to load the .bp file (specific to the job) and program file, set the device type, and device configuration stored within.
  • Barcode Pressure Plate. Scan the barcode for the correct Pressure Plate for the sockets.
  • Barcode Parts. Scan the received parts to ensure they match the job.
  • Barcode Quantity. Scan the correct batch quantity that is to be programmed.
  • Verify Setup. The final screen before programming, the Verify Screen ensures everything is set up correctly: Verify the socket modules, check devices, and pressure plates match those specified; check the quantity is correct. On-screen field highlighting of failed fields is used to assist.
  • Start Programming. When the verification passes, the job can start.

This electronic “checklist” virtually eliminates mistakes. If an incorrect barcode is received, the system returns an error message that allows the error to be quickly corrected.

One Process/Many Locations

Control API can also be used to make changes to the BPWin JobMaster files from even thousands of miles away without operator involvement. This is a huge improvement for facilities with multiple locations; corrections and improvements are pushed out from a single location, ensuring the same manufacturing process worldwide. Sharing jobs easily with other locations/machines/work centers/3rd party programming centers provides consistent, reliable finished products.


At its root, BPM’s API allows tracking devices from raw goods to finished goods. By utilizing barcodes and readers, job work orders can be used to update ERP/MES systems in real-time. Alerts can be set up to bypass finished inventory locations to the production line for just-in-time manufacturing. This supports higher inventory turns, making the whole process faster without sacrificing quality, which is ideal for lean manufacturing. How much more productive (and profitable) would you be by eliminating non-value-added steps?

Traceability through Product Life

In the unfortunate event of a manufacturing “Chernobyl” (such as a recall), as much information as possible is vital to move forward quickly. Most automotive OEMs require laser marking to identify at least a minimum of identifying data, such as lot and date. It’s possible (depending on the size of the device) to tag version, factory location, even individual serial number, and which machine produced the part. Armed with this “DNA” information, you can quickly begin the forensic investigation to 1. Determine the root cause, and, 2. Implement corrective action, and, 3. Prevent it from ever happening again. Traceability is essential to the quality and continuous improvement.

Track to the Part-level

Marking devices with a laser marker takes traceability to a whole new level. Depending on the size of the device, anything from lot numbers to QR codes can be put on a finished programmed device. Each device can be marked with an individual serial number, or if that is overkill, a lot number. When you have multiple programmers, each machine can be identified– down to the part/shift/date. If there is ever an issue, you’ll have a record that can easily be accessed.

Similarly, you have the ability to access remote serialization protocols, beyond what is built into the BPM software. When the device is marked with a laser, there are no concerns with smudging or scratching; it will never fall off as a label might.

Media Tracking

Label printers can be used for finished media (tape/tray) with barcodes and human-readable information. This makes inventory control of blank and programmed devices easy, as parts move from raw goods to value-added programmed devices, and finally to consumption in the finished assembly.

In Conclusion

The goal of this article is to give you a taste of what is possible with BPM’s API. If you are new to device programming, you may be interested in a work order set-up, or at the very least, notifications and feedback. If you’ve been utilizing device programming, you may have identified some functionality that you wish existed, or perhaps a process that is overly repetitive or requires employee interaction. Once you’ve identified the process, BPM can assist you in developing an API, or provide your developers with the framework to write it yourself. For more information, please contact our team of Customer Service and Technical Support experts.

Run an ROI Calculator to Determine Feasibility of Automated Programmer Purchase

Run an ROI Calculator to Determine Feasibility of Automated Programmer Purchase

Run an ROI Calculator to Determine Feasibility of Automated Programmer Purchase

Request ROI Analysis

Provide us with a device list, with approximate programming data upload, and the number of devices needed per month, and we’ll provide you with an ROI Analysis.

Example Calculation

In this real-world example, we’ll break down the numbers to bring device programming in-house:

Total Devices per Year to program 1,000,000
Average Lot Size (Quantity of devices per Job) 1,000
Factory Burdened Hourly Labor Rate (Direct labor + Overhead) $15
Estimated APS Solution Price $89,999
Capital Equipment Amortization 5
Machine Utilization Rate 85%
Estimated Consumable cost per device (sockets, carrier tape, cover tape) $0.01
Expected Machine Throughput 1088
Programming Cost per Device (if outsourced or other programming process) $0.15
Estimated Job Chageover Hours 333
Production Hours Required 1415
Equipment Operation Cost per Year $39,220
Estimated Cost per Device to program $0.0492
System Payback Calculation  
Devices Programmed per Day (250 days per year) 4000
Savings per Device $0.10
Savings per Day $403.12
Work Days until System Purchase Payback 223.3

*BPM can help you with some of these numbers. If you provide us with a device list, how much data is to be programmed, and how many devices you need per month, we can give you a minimum configuration of a recommended system. Changeover hours are determined by how many changeovers per shift.

Payback in a few months

In the example above, it would take a few months (not years) to make device programming in-house a profit center! Once paid for, it’s almost all profit. Many customers use these systems for 10+ years and achieve 5-10X ROI.

Run an ROI Calculator to Determine Feasibility of Automated Programmer Purchase

How to Program In-House, Part II

How to Program In-House, Part II

Previously, we discussed how to use Device Search and Device Request. In this article, first, we’ll cover Benchmarking to determine which system you need to program in-house. Next, we’ll do a capacity analysis. Finally, we’ll do a real-world ROI (return on investment) calculation (hint: Device programming in-house starts making money in weeks, not years).

Example of Programming In-House

In reviewing our example, we’ve got two programmable devices on our board: a TSOP and a QFP programmable device. The TSOP has 1200 Kilobytes of data; the QFP has 1 Gigabyte (which makes in-line or on-board programming a bad option).

6 Ways to Program Devices (and Why Off-Line Programming may be an option)

Our initial device search revealed one of the devices is supported (the QFP), but the other is not (the TSOP). If we’re early in the process, it’s possible to find a similar device that is supported. If not, you can always request support for the device. Depending on the complexity (is it in a “family” of devices that have support, does it require a custom socket, etc.) BPM will provide a support proposal with cost and lead time.

Device Semi House Code Socket Qty/Year File Size Bench-mark
QFP Renesas


FVE4ASMR48LQFPG 1,200,000 1 GB ?
TSOP Renesas HN58VXXXX Custom Dev 1,200,000 1 MB ?

Now that we have an idea of support, the next step is to determine which system is the best fit.

APS Rule of Thumb

A good rule of thumb regarding when a programming project is a good candidate for Automated Programming is if quantities are in excess of 50,000 parts per year (there are some other things that could factor in, such as laser marking, 3D inspection, etc.). In our example, we will need 2.4 million devices per year, so that makes Automated Programming an easy choice.


Benchmarking is what determines how the system is configured. Typically, the longer the programming times, the more sites needed. You start with the number of programmed devices needed (in our example it’s about 3 million per year). BPM can provide the programming time for the device. After that, it’s just math…

Device Device SKU Socket Qty/Year File Size Benchmark Recommended Sites/Sockets
QFP R5F100GXXX FVE4ASMR48LQFPG 1.2 mil 1 GB 150 seconds ?
TSOP HN58VXXXX Custom Dev 1.2 mil 1 MB 24 seconds ?

The QFP socket is a four-up (each site can program 4 devices concurrently) but has a long programming time (150 seconds in our example). BPM utilizes concurrent programming, so it can load fast and start programming as soon as the site is filled. Each site can program approximately 96 devices per hour ( 4 sockets per site x 3600 seconds / 150).

in addition, the 3928 Automated Programmer can be configured with up to 7 programming sites with up to 28 sockets.

For instance, if we max out the 3928 Automated Programmer (7 sites, 28 sockets) we can get approximately 650 Devices Per Hour (DPH), or approximately 4550 per shift (650 x 7 hours). Dividing that out into the total quantity of devices needed, we would need 1846 hours for just that one device.

Don’t forget, we have another device we need to program as well. The benchmark is 24 seconds; we can get by with just 3 sites (12 sockets) which will yield approximately 1200 devices per hour. The TSOP device requires about 1000 hours to produce.

  • Total Volume per year: 2,400,000
  • Theoretical Machine Hours Required: 2,846
  • Utilization Rate: 85%
  • Estimated Machine Hours Required: 3348
  • Changeover Hours per year: 88.4
  • Total Shift Hours Required: 3437
  • Shift Hours Available per year*: 3640
  • Equipment Shift Capacity: 94%

*2 Shifts per day

Above all, BPM Automated Programmers are built to run 3 shifts at a utilization rate of 85% (conservatively). The 2-shift scenario is tight (94% utilization rate) but doable. You can instantly add a third more capacity by adding a third shift or authorize some overtime to make up any shorts.

Device Device SKU Socket Qty/Year File Size Benchmark Recommended Sites/Sockets
QFP R5F100GXXX FVE4ASMR48LQFPG 1.2 mil 1 GB 150 seconds 7 sites (28 sockets)
TSOP HN58VXXXX Custom Dev 1.2 mil 1 MB 24 seconds 3 sites (12 sockets)

In developing the system configuration, your line needs the devices on a tape/reel, so you’ll need a tape-out peripheral.

Total system:

  • 3928 with 7 sites
  • TM-50 Tape Out
  • Tape Input (2 sizes)
  • 28 FX4ASMR100QFPZR Sockets
  • 12 New Dev Sockets for TSOP HN58VXXXX
  • Full spares kit (includes spare site)

Pays for itself

To determine the total cost, please contact us. You would also need to factor in replacements for sockets (regular sockets are rated for approximately 5-10K total insertions; many of our sockets modules include a receptacle that allows you to replace the consumable socket as required on the board).

ROI Calculator

In this real-world example, we’ll break down the numbers to bring device programming in-house:

Shift Hours per Day 16
Theoretical Machine Hours Required 2,846
Machine Utilization Rate 85%
Changeover Hours 88
Estimated Total Burdened Hours Required 3,436
Years Amortized 5
Burdened Labor Rate $15.00
Cost per Device (Outsourced) $0.25
Total Solution Price $225,000
Devices per year 2,400,000
Estimated Devices per hour 698
Total cost per year $96,540
Estimated Consumable Cost Per Device $0.015
Cost per device = Equipment, Overhead + Consumables $0.055
Cost Per 1000 $55.23
Cost per 1,000,000 $55,225
Total Solution Price $225,000
Device per day (260 days/yr) 9,231
Savings per device $0.195
Savings per day $1,797.92
Days to payback 125.1

Payback in About 4 Months

Therefore, it would take a little under 18 weeks (not years) to make device programming in-house a profit center! Once paid for, it’s almost all profit. Many customers use these systems for 10+ years and achieve 5-10X ROI.

We can help!

In conclusion, we provide an ROI Calculation based on your configuration. Depending on your requirements, you can start producing positive ROI in months, not years. Contact us for a Business Review.

Some variables to factor in:

  • Security of not having your Intellectual Property possibly compromised
  • Speed of making updates
  • Reduced time-to-market
  • Quality Control
  • Faster, reduced inventory turns
  • Just-in-time productions supplies what the line needs today
  • Ability to adjust production by adding shifts and/or outsourcing
  • Faster, more accurate set-ups on BPM automated equipment (see WhisperTeach™);
  • See article on OEE here.


Learn more about BPM Microsystem's Automated Programming Systems Deliver ROI

Disaster Recovery for a Modern Manufacturing Operation

Disaster Recovery for a Modern Manufacturing Operation

Some things to consider in a Disaster Plan

See Disaster Recovery Article

  • Hardware/Software contracts are up-to-date
    • Ensures the fastest response in line-down situations
    • Spares are on-site and/or available overnight
  • Schedule deliveries for consumables, especially sockets
    • Sockets are consumable items
    • The schedule ensures they are manufactured/delivered based on your requirements
    • Lead time to build a socket can vary, from days to weeks
  • Multiple prequalified vendors
  • Pre-qualify First Articles ahead of time from your partner supplier
  • Negotiate price per device before the disaster takes place

Some problems are good. It’s important for the modern manufacturing operation to prepare for the worst, and the best. There are lots of things that can go wrong. Add this to the list: what happens if one or more people on your line come down with Covid-19? You still have parts to program and production lines to supply. And as things rebound, what will you do if you are hit with an increase in orders? You (no doubt) have built-in capacity; but what if it doubles, or triples (or more)? BPM Microsystems builds systems and accessories that make it easy and cost-effective to make device programming a viable (and profitable) option in-house. Their line of programmers is universal, meaning they utilize the same software and accessories, from the smallest to the largest systems. From the first article (the initial first approved programmed device) to production, the only difference is throughput. Manual systems are perfect for starting out and/or smaller lot sizes (up to 50,000 parts per year). They also come in handy to augment the automated system’s capacity, or for programming short-run parts. BPM’s automated systems are the fastest and easiest to set-up of any programming systems. They are made for programming large data devices, such as eMMC HS400, NAND, NOR, and Serial Flash devices, and other nonvolatile memory devices such as MCUs, PLDs, and FPGAs. High-speed signals support devices up to 200 Mhz and the latest eMMC HS400 modes with data transfer rates of 2.5 nanoseconds per byte. With data transfer rates to 50 Gb per second, and verify rates up to 200 MB per second, BPM’s Automated Systems offer the industry’s fastest times. 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. 

WhisperTeach™ & CyberOptics™

WhisperTeach™ is patented hardware/software that automates the critical z-height measurement, which reduces set-up times by as much as 83%. More importantly, it improves yield and job performance compared to manual teaching methods. CyberOptics™ vision component auto measure delivers on-the-fly alignment to maximum device reliability and throughput.

Learn more about WhisperTeach™ auto Z-height teach system here

Add Capacity

Adding capacity is fairly straightforward. The first option is to add overtime and/or add shifts. BPM’s set-ups don’t require extensive training, so quality and throughput won’t decline after 5 pm. Next, add programming sites and sockets to existing workflows. If utilizing manual systems, additional programmers can be “daisy-chained” to a single workstation (up to 12 total). For automated programmers, additional sites may be added. Each site has the ability to add up to 4 additional sockets (a socket is the electrical interface of hardware/software to program a specific device). Adding sites can double, triple (up to 10X) capacity, depending on which system is used. BPM’s universal sites mean you don’t need two different site technologies for programming different classes of devices. BPM supports more than triple the number of devices as their nearest competitor (36K vs 12K). Some BPM systems, such as the low-cost 3901 or 8th Generation automated systems, can be upgraded for higher throughput, with more devices per hour and/or additional sites or peripherals. When you experience a line-down (for whatever reason), you need solutions that allow you to quickly shift production without skipping a beat. For programming devices, contact your nearest programming center, such as Arrow, Avnet, or A&J. The set-up files can be securely transmitted; if they don’t have the sockets, simply overnight the sockets used on your production. Utilizing programming centers is another way to balance out your work-flow; when a temporary need overwhelms your workflow, you can outsource for extra capacity.


It’s not a matter of “if” things go wrong. It’s a mathematical certainty. If 2020 has taught us anything, it’s prudent to be ready for just about anything. With a little forward planning, you should keep production moving. BPM’s systems are built to grow with your business; they have programmers that are still operating daily after 15 years or more. Contact your preferred Programming Center and BPM Microsystems to develop a disaster plan in advance.

See “Market Forces” Article here