Why Program ICs Before PCB Assembly?
Many ICs — microcontrollers, Flash memory, EEPROMs, FPGAs, and programmable logic — ship blank from the manufacturer. The firmware, configuration data, or bootloader must be loaded before the component can function on the assembled PCB. Programming ICs before placement on the board — known as offline or pre-programming — eliminates the need for in-circuit programming headers, reduces assembly line complexity, and allows programming yield issues to be caught before the component is soldered to an expensive PCB. Superb Automation provides IC programming as a standalone service — the customer supplies blank components and the firmware image; we program, verify, and deliver programmed devices ready for assembly.
Supported Device Types
| Device Type | Examples | Programming Interface |
| Microcontrollers (MCU) | STM32, MSP430, PIC, AVR, NXP Kinetis, Renesas RL78 | SWD, JTAG, ISP, UART bootloader |
| Flash Memory | NOR Flash (SPI, parallel), NAND Flash, eMMC | SPI, parallel, eMMC protocol |
| EEPROM | Serial I²C and SPI EEPROMs — 24xx, 25xx, 93xx series | I²C, SPI |
| FPGA / CPLD | Configuration PROM or direct device programming | JTAG, SPI configuration |
| Programmable Logic | CPLD, SPLD, PAL/GAL | JTAG, vendor-specific |
Programming Methods
Gang Programming
Multiple devices of the same type are programmed simultaneously on a multi-socket gang programmer. Typical gang sizes range from 4 to 16 sockets per programmer, with multiple programmers operating in parallel. Gang programming maximizes throughput for medium-volume production — 1,000 to 50,000 devices per batch. Each socket is independently verified: a device that fails programming on one socket does not stop the other sockets. Failed devices are identified by socket position and removed from the batch.
Automated Handler Programming
For high-volume production — 50,000+ devices — automated pick-and-place handlers feed devices from tray or tape into the programmer, then sort programmed parts into "pass" and "fail" output trays. Automated handlers support SOP, QFP, QFN, BGA, and WLCSP packages. Throughput is 800–1,500 devices per hour depending on device programming time and handler speed. Automated handling eliminates the electrostatic discharge (ESD) risk and mechanical lead damage associated with manual socket insertion and removal.
In-System Programming (ISP)
For assembled PCBs, ISP programs the device through a connector or test points on the board. This method is used when devices are too small for socket programming (WLCSP, very fine-pitch QFN), when the firmware must be loaded after board-level calibration, or when the customer prefers to program after assembly to avoid handling pre-programmed devices. Superb Automation provides ISP as part of the PCBA test process — a test fixture with pogo-pin programming interface connects to the board's programming header and loads the firmware as the final assembly step.
Programming Workflow
Firmware receipt and verification: Customer provides the binary (.bin), hex (.hex), or ELF firmware file with checksum. The file is loaded into the programmer and a checksum is computed and compared to the customer-provided value to confirm file integrity before production programming begins.
First-article programming and verification: A small batch — typically 5–10 devices — is programmed and verified. A sample is returned to the customer for functional validation on a test board. Production programming proceeds after the customer approves the first-article samples.
Production programming: All devices in the batch are programmed with the verified image. Programmers log the device serial number (if present), programming timestamp, and pass/fail result. The log is delivered with the programmed devices.
Post-programming verification: A statistical sample from each batch is re-read and compared to the original image to confirm data retention. Devices are packaged in ESD-safe trays or tape-and-reel per the customer's assembly line requirements.
Traceability: Programmed devices are labeled with a batch identifier that links to the programming log. If a field firmware issue is traced to a specific programming batch, the affected devices can be identified and isolated.
Package Support
Through-hole: DIP, SIP, ZIP
Surface mount: SOIC, SOP, SSOP, TSSOP, QFP, LQFP, TQFP
Leadless: QFN, DFN, MLF, LGA
Ball grid: BGA, WLCSP, FBGA — requires socket adapter
Tape and reel: Devices supplied in tape are programmed using a tape-to-tape handler or tray-converted feeding system
Superb Automation — IC Programming Service
Gang programming: 4–16 sockets per programmer, multiple programmers in parallel — throughput-matched to your batch size
Automated handlers: For high-volume production — device feeding, programming, and sorting automated
ISP on assembled boards: In-system programming integrated with PCBA test
Firmware verification: Checksum match before production, read-back verify per device, statistical sample verification post-batch
Traceability log: Programming timestamp, device serial number, pass/fail per device — delivered with every batch
ESD-safe handling: All programming stations ESD-protected; programmed devices packaged in ESD-safe trays or tape
Request Quote — IC Programming, Firmware Loading, Gang or Automated — Prototype to Volume