+1 (713) 263-3776 | Sales Toll-Free: (855) SELL BPM | 24/7 Service: +1 (832) 617-5702
Select Page
US Patent: In-line programming system and method

US Patent: In-line programming system and method

Patent No: 6,230,067 (B1)

Inventor: William H. White


An in-line programming (ILP) system and method for programming and testing programmable integrated circuit devices (PICs) and performing the assembly of printed circuit board assemblies (PCBAs). Printed circuit boards enter and leave the ILP system on a conveyor system. PICs are loaded into the ILP system, and the ILP system automatically programs and tests the PICs and places them onto the PCBs as the PCBs arrive on the conveyor. The programming and testing operations are performed by the same piece of equipment that performs the PCBA assembly operation.


This application is related to U.S. Provisional Patent Application Ser. No. 60/117,873, filed Jan. 29, 1999, entitled “IN-LINE PROGRAMMING DEVICE WITH SELF-TEACHING CAPABILITY,” the disclosure of which is hereby incorporated by reference in its entirety.

The present invention generally relates to concurrent automated programming of programmable electronic devices, and more particularly to programming and testing multiple device types and patterns and performing circuit board assembly simultaneously in a single in-line programming device.

In the semiconductor industry, a considerable number of electronic devices such as programmable integrated circuit (PIC) devices are provided by vendors in the programmable form with blank memories or unspecified connections between arrays of logic. Users can then custom configure or program the electronic devices to perform their intended function by programming them, transferring or “burning in” a sequence of operating codes into the memory, or by specifying a particular arrangement of gating logic connections.

Numerous manufacturers have developed automated machinery for handling and programming such devices. Such machinery moves blank devices from a source medium (e.g., trays, tubes, tape) to one or more programming sites, carry out the programming operation on each device, and moves programmed devices from the programming sites to an output medium (e.g., trays, tubes, tape). Typical users of automated programming equipment are highly sensitive to system throughput, which is typically measured incorrectly programmed devices per hour, and yield, which is typically defined as the percentage of devices that are correctly programmed.

Before any printed circuit board assembly (PCBA) containing a programmable integrated circuit (PIC) can be used, the PIC must be configured or programmed, so that it may perform its intended function. During programming, a pattern is loaded into the unprogrammed PIC. These patterns may be changed from time to time as the requirements of the function of the PCBA change over time. Also, in some applications, the pattern may be individualized for each PCBA that is assembled.

For years, PICs have been programmed before being assembled onto a printed circuit board using a methodology called off-line programming (OLP). This, however, created some problems in that OLP of the PICs has to be performed prior to assembly. Specialized equipment must also be obtained to perform OLP. Further, OLP has to be scheduled, which may delay the manufacture of PCBAs and create scheduling problems and bottlenecks in the process. Moreover, once the PICs are programmed, they must be stored until the assembly process begins. This storage and related delay typically create an inventory of programmed PICs. Not only does this inventory cost money, but in the event that a pattern change is required immediately, the inventory of programmed PICs may have to be destroyed, which adds to the cost and creates an additional delay before the assembly of more PCBAs can commence.

To solve these problems, a technique called in-circuit programming (ICP) was developed. ICP allows for a PIC to be programmed after it is placed on a printed circuit board, i.e., after the PCBA is assembled. Thus, the need for an inventory of programmed devices was eliminated, and individualized PICs no longer needed to be matched with the corresponding PCBA because all the PICs are identical (unprogrammed) at assembly time.

However, new problems arose. For example, because it is not feasible to program all PICs in-circuit, the designers of the PCBA must choose only devices that are ICP compatible. ICP compatible PICs cost more than similar non-ICP compatible PICs in many cases, so the cost of the PCBA may be higher when using ICP. Additionally, the PCBA design may be more complex to accommodate ICP, so the time to market may be negatively impacted. Furthermore, specialized equipment is required, and software must be written, perform the programming operation, which also may impact time to market for the PCBA. Since the programming operation may take a number of minutes to perform, a production line may be slowed down waiting for programming to complete. To address this throughput problem, some users may set up several ICP programming stations to service a single PCBA assembly line. However, this solution requires additional equipment, floor space in the factory, and capital outlay. Additionally, if the application for the PCBA requires that the PICs be programmed with individualized patterns, it may be necessary to match the individual PICs with their corresponding individual PCBAs. This additional complication adds additional cost and complexity to the assembly operation. Finally, in the event that the PIC fails to program, the entire PCBA will have to be reworked to replace the PIC.

Accordingly, what is needed in the art is a system and methodology for programming PICs and assembling PCBAs without the drawbacks associated with the off-line programming and in-circuit programming techniques.

Briefly, the invention provides in-line programming techniques for programming and testing any combination of devices and patterns. The techniques of the present invention are useful for programming a variety of types of programmable integrated circuit devices (PICs), including, for example, flash memories, EEPROMs, microcontrollers, PLDs, PALs, FPGAs, and the like. According to the invention, in-line programming (ILP) system programs and tests PICs and performs the assembly of printed circuit board assemblies (PCBAs). Printed circuit boards enter and leave the ILP system on a conveyor system. PICs are loaded into the ILP system, and the ILP system automatically programs and tests the PICs and places them onto the PCBs as the PCBs arrive on the conveyor.

The present invention addresses all of the above problems (e.g., costs, complications, and delays) by performing the programming and testing operations with the same piece of equipment that performs the assembly operation. Using the techniques of the present invention, PICs are programmed on demand so the need for an inventory of programmed PICs is eliminated, and changes to the program pattern may be incorporated immediately without waste. Any PICs that fail to program are rejected by the ILP system so that bad PICs are never placed onto a PCBA. Because the PCBA does not have to be designed to accommodate an in-circuit programming technique, the PCBA designer is unconstrained in the choice of PICs. The ILP system generally programs PICs faster than PICs can be programmed using the in-circuit programming methodology. The ILP system is also able to program a number of devices simultaneously, allowing a PCBA assembly line to produce PCBAs at a faster pace than that at which a single PIC can be programmed. Thus, an assembly line incorporating an ILP system may be smaller and produce PCBAs faster, with higher quality and less expense than an assembly line incorporating an in-circuit programming system. Further, the use of an ILP system in an assembly line allows for PCBAs to be produced less expensively than in an assembly line incorporating programmed PICs from an off-line programming system.

According to an aspect of the present invention, a method of automatically assembling a printed circuit board assembly (PCBA) in an assembly apparatus is provided. The method typically comprises the steps of a) receiving, in the assembly apparatus, a programmable electronic device to be programmed, and b) automatically programming the electronic device in the assembly apparatus. The method also typically includes the steps of c) receiving a printed circuit board in the assembly apparatus, and d) assembling the PCBA in the assembly apparatus by automatically placing the programmed electronic device on the printed circuit board so as to form the PCBA.

According to another aspect of the present invention, an assembly apparatus capable of automatically assembling a printed circuit board assembly (PCBA) is provided. The apparatus typically comprises a means for receiving, in the assembly apparatus, a programmable electronic device to be programmed, and a means for automatically programming the electronic device in the assembly apparatus. The apparatus also typically includes a means for receiving a printed circuit board in the assembly apparatus, and a means for automatically placing the programmed electronic device on the printed circuit board so as to form the PCBA.

Link to Patent | Read Patent PDF

Device Programmers from BPM

Device Programmers from BPM

A Brief History

EP-1 EPROM Programmer from BPMBPM provides device programmers and accessories to upload custom programming to semiconductor devices. Founded in 1985, BPM Microsystems serves more than 2,000 companies in over 49 countries, including programming centers, original equipment manufacturers (OEM), contract and semiconductor manufacturers. BPM device programmers offer high-performance device handling, advanced serialization, and quality control, meeting the highest programming and cybersecurity standards for automotive, aerospace, medical, industrial, and mobile device applications. BPM’s intelligently designed systems deliver the lowest programming cost per device.

Back in 1985 in a dorm room at Rice University, Bill White founded BP Microsystems (later BPM Microsystems). He couldn’t find a decent chip programmer for a class project he was working on, so he made his own. He started to sell the EP-1, an E/EPROM programmer, locally and then by mail order; the rest is history. BPM still builds all of its systems in its ISO:9001 plant in Houston, Texas.

BPM device programmers serve the world with billions and billions of accurately programmed devices in thousands of products (everything from thermometers to infotainment systems) by bringing compelling programming systems to market.

Learn More About What We Do

BPM designs and manufactures universal programming systems and supports them with algorithms and socket adapters (software and hardware) to program specific devices. BPM’s catalog of supported devices is in excess of 70,000, including both legacy and cutting-edge technologies. Newer and faster versions are continually added on an almost daily basis. BPM serves electronics manufacturers around the world including OEM, ODM, EMS, and programming centers. Industries that utilize BPM programming solutions include Automotive, Healthcare, Aerospace/Defense, Industrial, IoT/Industry 4.0, and Cybersecurity.

What’s New

BPM has “generations” of products with specific site technology. The “site” is the magic of BPM programmers, and sockets/algos make them the most “universal” of device programmers. Universal, as opposed to single-use, allows the systems to be configured to support thousands of devices on hundreds of different socket adapters. BPM pioneered socket adapter technology with active circuitry that delivers clean signal integrity and high yield.

The latest generation of BPM sites is 10th Gen. 10th Generation site technology offers the broadest support in the industry at unsurpassed programming speeds.

The newest Automated Programmer, the BPM310, comes with up to six 10th Gen sites providing full universal support for UFS, eMMC HS400, MCU, NAND, and Serial Flash, at incredible speeds with up to 48 devices programmed concurrently. It is the most capable programmer in a small footprint. For UFS 2.1, each site can program eight devices at a time, at up to 440 MB/second read and 201 MB/second write (industry best).

Ranges of Device Programmers

Programmable devices are becoming more ubiquitous. More products than ever before require some kind of customization to add functionality. BPM makes device programmers that focus on quality and reliability. Some products, such as satellites, require just a handful of each device programmed per month (or year); the cost for just one of those chips (such as an anti-fuse FPGA) can cost upwards of $100,000! When the cost of failure is that high, aerospace companies turn to BPM. Other companies need millions of programmed devices. BPM makes Automated systems that are fast, easy to set up/change over, and reliable, with available automotive-level support verification (such as coplanarity test to confirm pin and ball grid array integrity).

BPM continues to support many of its legacy programmers (some for more than 20 years) and adds additional supported devices on a weekly basis. When new devices are needed, BPM quotes hardware and software support. Customers with current Hardware Support contracts can make complementary 24/7 service calls (free for one year with a new purchase). If machines experience issues, field service technicians with decades of experience and/or factory-trained service technicians are available for local support worldwide, usually within 48 hours.

What’s the Market

UFS Programmable DevicesBPM serves both legacy and emerging markets. For instance, UFS and eMMC devices with massive memories (measured in Gigabytes) are becoming more common in infotainment, navigation, autonomous vehicles, military applications, etc. The universal nature of BPM programmers means one system can program multiple different devices (although not simultaneously). Some competitive systems require two different site technologies in order to cover their full device list.

The legacy market is alive and well, especially in aerospace/defense. Many contractors and military branches, such as the US Navy, rely on BPM legacy (7th Generation) programmers. They’ve spent millions on qualifying solutions, and continue to purchase this proven 17-year-old technology from BPM.

Market trends

Devices are trending to smaller, denser (more data) packages. This makes off-line programming (as opposed to in-circuit or at-test programming) the scalable choice. To program more chips, you add site and socket capacity, additional shifts, or additional systems (or a combination). Smaller packages (less than 3mm x 3mm) are particularly challenging. BPM systems have capabilities that are only available on larger competitive systems. All BPM automated programming systems come with WhisperTeach™ Auto-Z Teach (for fast, easy set-ups/changeovers) and CyberOptic cameras for component auto measure (fast set-ups) and on-the-fly alignment for maximum first pass yield and throughput.

Supply chain shortages, which first started in mid-2020 as a consequence of the COVID-19 pandemic, continue to plague consumer, automotive, and electronics manufacturers. Semi-houses are building new factories and expanding existing facilities to meet demand but will take years before they can catch up. Programmable devices require value-added programming to make them fully functional; it’s not just a matter of receiving an order of chips– those devices need programming and installation on circuit boards. Delays in even one area can ripple through, causing additional delays downstream.

Many companies are looking at in-house device programming as a means of gaining more control over their supply chain. For companies that have added programming in-house, they are also finding greater control of their intellectual property. Small changes in firmware versioning are now possible for rapid prototyping and implementation. Above all, device programming that was previously a cost center quickly becomes a profit center, as a return on initial investment can be realized in a few months, not years.

Innovative Products

BPM310 Automated programming systemIn late 2021, BPM announced the release of its 10th Generation programming technology platform and the BPM310 Automated Programming System. The 10th Generation offers the industry’s fastest programming times for UFS, eMMC, Flash, and MCUs with twice as many sockets per site as its predecessor. The BPM310 offers a capacity of up to 48 sockets, automotive-level quality, and reliability in a small footprint. 10th Gen delivers the fastest UFS programming performance in the industry achieving up to 440MB/second Read and 201MB/second Write. First-part time is accelerated because UFS programming can commence without pausing for data to download.

“Our engineering team has done an amazing job creating the most powerful universal programmer in the industry. Unlike competitive products, our system offers true universal support including CSP, Flash, MCUs, eMMC, and UFS with up to 8 sockets per site to deliver unbeatable system value,” says William White, founder, and CEO of BPM Microsystems. “The BPM310 is now our flagship product with the greatest capacity, flexibility, features, reliability, and smallest footprint in our product line.”

The BPM310 leverages much of the socket adapter and algorithm development currently available on its 9th Generation systems. And like all 9th Gen automated device programmers, the BPM310 continues to offer ease of operation and fast setup with award-winning BPWin process control software and patented WhisperTeach™. WhisperTeach™ automatically teaches the critical Z-height of each pick/place location with 15-micron accuracy. Accurate automated teaching is vital for small packages due to fundamental human limitations. Plus WhisperTeach™ saves an average of 83% of the time required for the job setup compared to traditional methods while increasing quality and yield.

The Near Future

Supply chain issues, especially for programmable devices, will continue to plague manufacturers for perhaps the next two years. In an effort to reduce costs and shorten lead times, BPM sees continued growth in offline programming. Security and IP protection will continue to drive companies to take more control of their most valuable assets: their intellectual property. By physically securing IP, competitors are less likely to reverse engineer (or flat-out steal) their designs. Other advantages of programming in-house are improved quality, reliability, and more flexibility by keeping programmed devices to just-in-time inventory levels (not possible with outsourcing).

Device Search | Bring Programming In-House  | How to Program In-House

How to Program In-House, Part II

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,...
How to Program In-House, Part I

How to Program In-House, Part I

How to Program In-House, Part I In-House Programming White Paper 6 Ways to Program Devices Types of Devices Everything starts with a device (probably more than just one). Actually, it starts with a “something” you sell that has one or more programmable...