by Scott Bronstad | Feb 28, 2023 | Case Study, Product Comparison, Technology
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).
Automated 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.
by Scott Bronstad | Nov 19, 2021 | Events, New Product, News, Trade Shows
Productronica 2021 ends with about 20,000 visitors and 894 exhibitors from 36 countries (including BPM), underscoring its position as a leading trade fair for the electronics industry. While those numbers are down from previous shows, there was much pent-up interest. Those who were there were eager to see what’s new. Read more here.
The new BPM310 10th Generation Automated Programmer ran flawlessly. Final numbers for the demo: 1,200 Devices per Hour (DPH) on four 10th Gen Sites with 32 sockets tray-to-tray (TS1500 Tray Stacker). The benchmark devices were BGA153s with a programming time of 38 seconds. By the fourth day of Productronica, the BPM310 cycled through over 30,000 devices! The BPM310 has a maximum configuration of 48 sockets on a smaller platform, with a maximum DPH of 1,432. The BPM310 can be configured with advanced peripherals, such as 3D inspection and fiber laser marker.
“Another Productronica is in the record books,” says Colin Harper, Global Sales Director at BPM. “A big thanks to Adaptsys (BPM’s European Distributor) for another successful show. And thank you to all the visitors that stopped by to see our new universal automated programming system, the BPM310. We’re looking forward to furthering engagement. Prost!”
The BPM310 was received well by numerous electronics manufacturers, who are interested in bringing programming in-house. They are excited by the prospect of a small platform with maximum capacity, including high-density devices, such as eMMC, UFS, and Microcontrollers without the need for multiple site types.
Next Productronica, which happens every two years, will be November 14-17 2023.
by Scott Bronstad | Nov 17, 2021 | Events, New Product, News, Trade Shows
Day 2 is in the books: more traffic and lots of excitement for BPM’s latest innovation, the BPM310 Automated Programmer. Automotive, Contract Manufacturers and Consumer Electronics companies are among those interested.
The BPM310 is positioned to outperform higher-priced systems and includes advanced features such as WhisperTeach™, on-the-fly vision alignment, CSP support, serialization, encryption, and JobMaster while providing true universal technology. 10th Generation site technology supports the broadest range of devices including MCUs, eMMC, NAND, Serial Flash, UFS, and others. Highly configurable, the BPM310 provides options for Tape I/O, Tray I/O, Tube I/O, laser marking, and 3D inspection.
Productronica in Munich Germany is the second-largest electronics trade show in the world and continues through November 19, 2021.
Learn about BPM310 | US Tech Article | BPM310 Press Release
by Scott Bronstad | Nov 16, 2021 | Announcements, Featured, New Product, News
BPM Microsystems, Inc. announces 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 per second Read and 201MB per second Write. First-part time is accelerated because UFS programming can commence without pausing for data to download.
The BPM310 is positioned to outperform higher-priced systems and includes advanced features such as WhisperTeach™, on-the-fly vision alignment, CSP support, serialization, encryption, and JobMaster while providing true universal technology. 10th Gen supports the broadest range of devices including MCUs, eMMC, NAND, Serial Flash, UFS, and others. Highly configurable, the BPM310 provides options for Tape I/O, Tray I/O, Tube I/O, laser marking, and 3D inspection.
“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.”
“We’re excited to showcase the BPM310 at Productronica and anticipate a positive market response,” says Colin Harper, Global Sales Director at BPM. “In the past, we have demonstrated two machines at the trade show. Now we have one system that can do it all. In fact, the BPM310 is able to program as many devices concurrently as our larger system, the 4910, in a footprint about half its size while offering the same I/O flexibility and improved reliability.”
The BPM310 leverages much of the socket adapter and algorithm development currently available on its 9th Generation systems. And like all 9th Gen automated 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 WhisperTeachTM saves an average of 83% of the time required for the job setup compared to traditional methods while increasing quality and yield.
BPM manufactures its 10th Generation systems in their ISO 9001:2015 certified plant located in Houston, Texas, and their products carry the CE Mark. BPM continues to offer 9th Generation programmers for manual and automated programming. If you are at Productronica 2021, visit Hall A1-353 from November 16 through 19, 2021 to see a live BPM310 demo. For more information on the BPM310, go to bpmmicro.com/BPM310.
by Scott Bronstad | Aug 11, 2021 | Announcements, New Device Support, New Product, News
HS400 mode significantly increases programming speeds on eMMC devices, especially compared to other programming modes. HS400 programming mode enables programming eMMC devices at greater speeds (up to 400MB/Second) with improved throughput.
*HIC Socket (high capacity)
New eMMC Support for HS400 Mode
Hynix Semiconductor H26M41208HPR (8/3/2021)
Device Parameters
- 8-bit Bytes: 8814329856
- Memory Regions: 0h-1 F02F FFFFh; 1 F030 0000h-2 0D5F FFFFh
- Vcc(program): 3.3
- Electrical Erase: Yes
- Set programming: Yes
- Packages: BGA(153)
- Device Type: eMMC
- Device Size: 8 GByte
- Algorithm Programming Mode: HS400
- Sockets: FVE4ASMC153BGJ, FVE4ASMC153BGZ
Hynix Semiconductor H26M41204HPR (8/3/2021)
Device Parameters
- 8-bit Bytes: 8804892672
- Memory Regions: 0h-1 EFA7 FFFFh; 1 EFA8 0000h-2 0CCF FFFFh
- Vcc(program): 3.3
- Electrical Erase: Yes
- Set programming: Yes
- Packages: BGA(153)
- Device Type: eMMC
- Device Size: 8 GByte
- Algorithm Programming Mode: HS400
- Sockets: FVE4ASMC153BGJ, FVE4ASMC153BGZ
Kingston EMMC04G-W627-X03U (8/3/2021)
Device Parameters
- 8-bit Bytes: 4270325760
- Memory Regions: 0h-F063 FFFFh; F064 0000h-FE87 FFFFh
- Vcc(program): 3.3
- Electrical Erase: Yes
- Set programming: Yes
- Packages: BGA(153)
- Device Type: eMMC
- Device Size: 4 GByte
- Algorithm Programming Mode: HS400
- Sockets: FVE4ASML153BGL (HIC Socket), FVE4ASMC153BGJ, FVE4ASMC153BGZ
Micron MTFC4GACAJCN-1M WT (8/3/2021)
Device Parameters
- 8-bit Bytes: 4402446336
- Memory Regions: 0h-F7D3 FFFFh; F7D4 0000h-1 0667 FFFFh
- Vcc(program): 3.3
- Electrical Erase: Yes
- Set programming: Yes
- Packages: BGA(153)
- Device Type: eMMC
- Device Size: 4 GByte
- Algorithm Programming Mode: HS400
- Sockets: FVE4ASML153BGL (HIC Socket), FVE4ASMC153BGJ, FVE4ASMC153BGZ
SanDisk SDINBDG4-16G (8/3/2021)
Device Parameters
- 8-bit Bytes: 17737187328
- Memory Regions: 0h-3 E67B FFFFh; 3 E67C 0000h-4 2137 FFFFh
- Vcc(program): 3.3
- Electrical Erase: Yes
- Set programming: Yes
- Packages: BGA(153)
- Device Type: eMMC
- Device Size: 16 GByte
- Algorithm Programming Mode: HS400
- Sockets: FVE4ASMC153BGJ, FVE4ASMC153BGZ
Samsung KLMAG1JETD-B041 (8/3/2021)
Device Parameters
- 8-bit Bytes: 17597988864
- Memory Regions: 0h-3 DEA5 FFFFh; 3 DEA6 0000h-4 18EB FFFFh
- Vcc(program): 3.3
- Electrical Erase: Yes
- Set programming: Yes
- Packages: BGA(153)
- Device Type: eMMC
- Device Size: 16 GByte
- Algorithm Programming Mode: HS400
- Sockets: FVE4ASMC153BGJ, FVE4ASMC153BGZ
Samsung KLM4G1FETE-B041 (8/3/2021)
Device Parameters
- 8-bit Bytes: 4407164928
- Memory Regions: 0h-F817 FFFFh; F818 0000h-1 06AF FFFFh
- Vcc(program): 3.3
- Electrical Erase: Yes
- Set programming: Yes
- Packages: BGA(153)
- Device Type: eMMC
- Device Size: 4 GByte
- Algorithm Programming Mode: HS400
- Socket: FVE4ASMC153BGR
SkyHigh Memory S40FC004C1B1C0000 (8/3/2021)
Device Parameters
- 8-bit Bytes: 4407164928
- Memory Regions: 0h-F817 FFFFh; F818 0000h-1 06AF FFFFh
- Vcc(program): 3.3
- Electrical Erase: Yes
- Set programming: Yes
- Packages: BGA(153)
- Device Type: eMMC
- Device Size: 4 GByte
- Algorithm Programming Mode: HS400
- Sockets: FVE4ASMC153BGJ, FVE4ASMC153BGZ
by Scott Bronstad | Jul 16, 2021 | New Device Support, Product Comparison, Technology
According to the JESD84-B51 standard, eMMC v5.1 supports the following bus speed modes and clock frequencies:
Mode
|
Data
Rate
|
I/O Voltage
|
Bus Width
(bits)
|
Frequency
|
Max. Data Transfer
|
HS400 |
Dual |
1.8/1.2 V
|
8
|
0-200 MHz
|
400 MB/second
|
HS200 |
Single
|
1.8/1.2 V
|
4, 8
|
0-200 MHz
|
200 MB/second
|
High-Speed DDR |
Dual
|
3/1.8/1.2 V
|
4, 8
|
0-52 MHz
|
104 MB/second
|
High-Speed SDR |
Single
|
3/1.8/1.2 V
|
1, 4, 8
|
0-52 MHz
|
52 MB/second
|
HS400 mode significantly increases programming speeds on eMMC devices, especially compared to other programming modes. HS400 programming mode enables programming eMMC devices at greater speeds (up to 400MB/Second) with improved throughput.
BPM has recently added support for the following eMMC devices in HS400 Programming Mode:
HS400 Programming Mode
Device Parameters
- Manufacturer: SanDisk (ID=45h)
- Part Number: SDINBDG4-8G (HS400) (ID=3038h)
- 8-bit Bytes: 8807030784
- Memory Regions: 0h-1 EFC6 CFFFh; 1 EFC6 D000h-2 0CF0 9FFFh
- Vcc(program): 3.3
- Electrical Erase: Yes
- Set programming: Yes
- Packages: BGA(153)
- Device Type: eMMC
- Device Size: 8 GByte
- Algorithm Programming Mode: HS400
- Socket: FVE4ASMC153BGJ
Samsung KLMCG2KCTA-B041000 (6/22/2021)
Device Parameters
- Manufacturer: Samsung (ID=15h)
- Part Number: KLMCG2KCTA-B041000 (HS400) (ID=3432h)
- 8-bit Bytes: 70354206784
- Memory Regions: 0h-F 7877 FFFFh; F 7878 0000h-10 616F FE1Fh; 10 616F FE20h-10 6170 003Fh
- Vcc(program): 3.3
- Electrical Erase: Yes
- Set programming: Yes
- Packages: BGA(153)
- Device Type: eMMC
- Algorithm Programming Mode: HS400
- Default Device Size: 64 GByte
- Socket: FVE4ASMC153BGJ
Micron MTFC32GAKAEJP-AIT (6/22/2021)
Device Parameters
- Manufacturer: Micron (ID=13h)
- Part Number: MTFC32GAKAEJP-AIT (HS400) (ID=374Ch)
- 8-bit Bytes: 35181822048
- Memory Regions: 0h-7 BC7F FFFFh; 7 BC80 0000h-8 30FF FE3Fh; 8 30FF FE40h-8 3100 005Fh
- Vcc(program): 3.3
- Electrical Erase: Yes
- Set programming: Yes
- Packages: BGA(153)
- Device Type: eMMC
- Algorithm Programming Mode: HS400
- Default Device Size: 32 GByte
- Socket: FVE4ASMC153BGZ
Micron MTFC32GAKAECN-4M IT (6/22/2021)

Device Parameters
- Manufacturer: Micron (ID=13h)
- Part Number: MTFC32GAKAECN-4M IT (HS400) (ID=374Ch)
- 8-bit Bytes: 33218887808
- Memory Regions: 0h-7 4DFF FFFFh; 7 4E00 0000h-7 BBFF FE5Fh; 7 BBFF FE60h-7 BC00 007Fh
- Vcc(program): 3.3
- Electrical Erase: Yes
- Set programming: Yes
- Packages: BGA(153)
- Device Type: eMMC
- Algorithm Programming Mode: HS400
- Default Device Size: 32 GByte
- Socket: FVE4ASMC153BGJ
Device Parameters
- Manufacturer: Hynix Semiconductor (ID=90h)
- Part Number: H26M41208HPRQ (HS400) (ID=6132h)
- 8-bit Bytes: 8814329856
- Memory Regions: 0h-1 F02F FFFFh; 1 F030 0000h-2 0D5F FFFFh
- Vcc(program): 3.3
- Electrical Erase: Yes
- Set programming: Yes
- Packages: BGA(153)
- Device Type: eMMC
- Device Size: 8 Gig
- Algorithm Programming Mode: HS400
- Socket: FVE4ASMC153BGJ
Hynix Semiconductor H26M41208HPRN (6/22/2021)
Device Parameters
- Manufacturer: Hynix Semiconductor (ID=90h)
- Part Number: H26M41208HPRN (HS400) (ID=6132h)
- 8-bit Bytes: 8814329856
- Memory Regions: 0h-1 F02F FFFFh; 1 F030 0000h-2 0D5F FFFFh
- Vcc(program): 3.3
- Electrical Erase: Yes
- Set programming: Yes
- Packages: BGA(153)
- Device Type: eMMC
- Device Size: 8 GByte
- Algorithm Programming Mode: HS400
- Socket: FVE4ASMC153BGJ
Hynix Semiconductor H26M41208HPRI (6/22/2021)
Device Parameters
- Manufacturer: Hynix Semiconductor (ID=90h)
- Part Number: H26M41208HPRI (HS400) (ID=6132h)
- 8-bit Bytes: 8814329856
- Memory Regions: 0h-1 F02F FFFFh; 1 F030 0000h-2 0D5F FFFFh
- Vcc(program): 3.3
- Electrical Erase: Yes
- Set programming: Yes
- Packages: BGA(153)
- Device Type: eMMC
- Device Size: 8 GByte
- Algorithm Programming Mode: HS400
- Socket: FVE4ASMC153BGJ
Hynix Semiconductor H26M41208HPRA (6/22/2021)
Device Parameters
- Manufacturer: Hynix Semiconductor (ID=90h)
- Part Number: H26M41208HPRA (HS400) (ID=6132h)
- 8-bit Bytes: 8814329856
- Memory Regions: 0h-1 F02F FFFFh; 1 F030 0000h-2 0D5F FFFFh
- Vcc(program): 3.3
- Electrical Erase: Yes
- Set programming: Yes
- Packages: BGA(153)
- Device Type: eMMC
- Device Size: 8 GByte
- Algorithm Programming Mode: HS400
- Socket: FVE4ASMC153BGJ