Select Page

IC Programming During PCBA Processing

IC programming during PCBA processing

Figure 1. IC programming during PCBA processing

Last updated: May 2026 · A manufacturing guide for embedded engineers and hardware sourcing teams

There are two practical ways to load firmware into the chips on a board during PCBA: pre-program the devices before placement (off-board, on a gang or automated programmer) or program them in-circuit after assembly through a debug interface such as JTAG, SWD, ISP, or a serial bootloader. Pre-programming is fast on the line and suits high volume with stable firmware; in-circuit programming lets you load the latest image, calibrate, and serialize each unit but needs accessible programming pins designed into the board. Most modern assemblies use in-circuit programming at the test station because it ties firmware, calibration, and traceability together on the finished board.

The two approaches at a glance:
Off-board pre-programming — chips programmed in a socket/automated system before SMT. Fast cycle, no on-board access needed, but parts are committed to one firmware version.
In-circuit / in-system programming (ICSP/ISP) — chips programmed after assembly via JTAG/SWD/SPI/UART on the board. Flexible, supports per-unit data, but requires programming access in the layout.

Why IC Programming Is Part of PCBA Processing

Most boards built today contain at least one programmable device — a microcontroller, an MCU with integrated radio, a flash memory, an FPGA configuration device, or a smart power/sensor IC. A bare assembled board is not yet a working product until that silicon holds the right firmware. Folding programming into PCBA — rather than shipping blank boards for the customer to flash — saves a step, lets the factory verify the device works at functional test, and allows unique data to be written into each unit. The question is not whether to program during assembly, but which method fits the product.

Method 1: Off-Board IC Pre-Programming

In off-board pre-programming, devices are loaded with firmware before they are placed on the board. This is done on a device programmer, and at volume on an automated programming system that pulls parts from tape-and-reel, programs them (often many at once — “gang” programming), verifies, and re-reels or trays them for the pick-and-place machine.

  • Strengths: very fast on the SMT line (no programming step at assembly), no on-board programming access required, high throughput for stable firmware.
  • Trade-offs: parts are committed to one firmware version, so a late code change means re-programming or scrapping stock; handling adds a step; and per-unit data (serial numbers, calibration) generally cannot be written this way because each part is identical.

Pre-programming shines for high-volume products whose firmware is frozen, and for devices that are awkward to program in-circuit.

Method 2: In-Circuit / In-System Programming (ICSP/ISP)

In-circuit programming — also called in-system programming (ISP) or in-circuit serial programming (ICSP) — loads firmware after the device is soldered to the board, through a small programming interface exposed on the assembly. A programmer connects to a header or a set of test pads, the board is powered, and the firmware is written and verified in place.

  • Strengths: always loads the current firmware image; supports calibration and per-unit data; enables functional verification right after programming; firmware updates need no parts re-work.
  • Trade-offs: the layout must provide programming access; it adds time at a programming/test station; and pin sharing or missing pull-ups can cause failures if not designed carefully.

This is the default for most contemporary designs because it unifies programming, calibration, and traceability on the finished board — and because firmware almost always keeps evolving.

Common IC Programming Interfaces (JTAG, SWD, SPI)

Interface Typical devices Notes
SWD (2-wire) ARM Cortex-M MCUs Compact (SWDIO/SWCLK + power/GND); also debug
JTAG MCUs, FPGAs, CPLDs, boundary-scan chains Can program flash and test interconnects
SPI / ISP AVR, SPI flash, config devices Watch bus sharing during programming
ICSP Microchip PIC family Few pins; reserve MCLR/PGC/PGD access
UART / USB bootloader Many MCUs with built-in bootloader Programs over existing serial/USB lines
I²C EEPROMs, smart sensors For config/calibration data more than code

Pre-Programming vs In-Circuit Programming: Which to Choose

Consideration Favors pre-programming Favors in-circuit (ICSP)
Volume High, steady volume Prototype to mid-volume; mixed builds
Firmware stability Frozen, rarely changes Evolving or per-build images
Per-unit data Not needed (identical parts) Serial numbers, MAC, calibration required
Board access No programming header desired Programming pads/header available
Verification at test Done separately Combined with FCT in one station

Many programs use a hybrid: a large external memory pre-programmed off-board, while the MCU is flashed in-circuit so the latest application and per-unit data load on the line.

How to Design a Board for In-Circuit Programming

In-circuit programming only goes smoothly if the layout supports it. Plan these before releasing files:

  • Expose the programming pins — a small header or, to save space, test pads sized for pogo pins. Keep them on one side and clear of tall parts.
  • Reserve the right signals — e.g., SWDIO/SWCLK, or MCLR/PGC/PGD, or JTAG TCK/TMS/TDI/TDO/TRST, plus a target-power sense and ground.
  • Protect shared buses — add series resistors or isolation so the programmer does not contend with other devices on the same lines during programming.
  • Pull-ups/pull-downs and reset — provide the correct passive states and an accessible reset so the device enters programming mode reliably.
  • Power and sequencing — ensure the device can be powered for programming (target-powered or programmer-powered) without back-feeding the rest of the board.
  • Plan security up front — if you will set read-protect/lock bits, confirm the sequence still allows verification before the part is locked.

These are exactly the items a Design-for-Test review checks, because programming access and test access usually share the same fixture.

Per-Unit Programming: Serialization, Calibration, Security

One of the strongest reasons to program in-circuit is that each board can receive its own data:

  • Serial numbers and unique IDs for traceability and warranty.
  • MAC addresses / network keys for connected products.
  • Calibration constants measured at functional test and written back into the device so every unit meets spec.
  • Region/feature configuration for product variants built from one hardware design.
  • Security locking — after programming and verification, read-protect or lock bits are set to protect firmware IP. Because locking is often irreversible, it is the last step and is validated carefully.

Where IC Programming Happens on the PCBA Line

In a typical flow, in-circuit programming is performed at a dedicated programming station or, more often, combined with functional test: the board enters the fixture, firmware is loaded, calibration runs, the device is verified, per-unit data and security are written, and a pass/fail result plus a record is logged for that serial number. Pairing programming with FCT means a unit is only declared good once it is both programmed and proven to work.

This is also where traceability is captured — linking firmware version, calibration values, and test results to each unit — which is the kind of evidence overseas buyers should request from a contract manufacturer.

Common IC Programming Mistakes to Avoid

  • No programming access in the layout — discovering at production that there is nowhere to connect a programmer.
  • Bus contention — sharing programming lines with other active devices and no isolation, causing intermittent failures.
  • Locking too early — setting security bits before verification, so failures cannot be diagnosed.
  • Committing pre-programmed stock to soon-to-change firmware — scrapping or re-working parts after a code update.
  • Vague handoff — not specifying which firmware version, what per-unit data, and what security state the factory should apply.

IC Programming Services at Highleap Electronics

Highleap Electronics is a China-based PCB and PCBA manufacturer that integrates device programming into turnkey assembly for customers shipping to the United States, Europe, and Asia-Pacific. The goal is a board that arrives programmed, calibrated, verified, and traceable — not blank.

  • IC programming via JTAG, SWD, ISP/ICSP, and serial bootloaders, in-circuit or pre-programmed as the project requires.
  • Functional testing combined with programming and calibration in one station, with per-unit records.
  • Design-for-Test review of programming access, isolation, and security sequence before files are frozen.
  • Turnkey PCBA covering sourcing, SMT, programming, test, and serialization end to end.
IC programming during PCBA processing details

Figure 2. IC programming during PCBA processing details

IC Programming During PCBA FAQ

What does in-circuit programming (ICSP) mean?

It means loading firmware into a device after it is already soldered to the board, through a programming interface (such as SWD, JTAG, ISP, or ICSP) exposed on the assembly. The board is connected to a programmer, powered, and the firmware is written and verified in place.

Is it better to pre-program chips or program them on the board?

It depends on volume, firmware stability, and whether each unit needs unique data. Pre-programming is fastest for high-volume, frozen firmware. In-circuit programming is better when firmware changes, when calibration or serialization is required, or when you want to verify the device at functional test. Hybrid approaches are common.

What do I need to provide for IC programming during assembly?

The firmware image and version, the target device and interface, the programming/connection points on the board, any per-unit data (serial numbers, MAC, calibration procedure), and the desired security/lock state. Programming is then run at a dedicated station or alongside functional test.

Can each board get a unique serial number or calibration?

Yes — that is a key advantage of in-circuit programming. Unique IDs, MAC addresses, and calibration constants measured at test can be written into each unit, and the values logged for traceability.

How do I protect my firmware from being read out?

Most MCUs support read-protect or lock bits that disable external readback after programming. These are set as the final step, after the device is verified, because locking is often irreversible. Discuss the exact security state you want with the manufacturer.

Does adding a programming header take much board space?

Not necessarily. You can use a compact two- or four-wire interface (such as SWD) or replace the header with small test pads contacted by the test fixture’s pogo pins, which keeps the production footprint minimal.

Can a China-based manufacturer handle firmware programming securely?

Yes, when the manufacturer controls firmware revisions, programs and verifies on a documented station, applies the agreed security locking, and provides per-unit records. Define the firmware version, data, and security policy in writing so there is no ambiguity about what is loaded.

get-instant-quote

Recommended Posts

How to get a quote for PCBs

Let‘s run DFM/DFA analysis for you and get back to you with a report. You can upload your files securely through our website. We require the following information in order to give you a quote:

    • Gerber, ODB++, or .pcb, spec.
    • BOM list if you require assembly
    • Quantity
    • Turn time
In addition to PCB manufacturing, we offer a comprehensive range of electronic services, including PCB design, PCBA, and turnkey solutions. Whether you need help with prototyping, design verification, component sourcing, or mass production, we provide end-to-end support to ensure your project’s success.

For PCBA services, please provide your BOM (Bill of Materials) and any specific assembly instructions. We also offer DFM/DFA analysis to optimize your designs for manufacturability and assembly, ensuring a smooth production process.






    Quick Note: Our team will email you shortly after submission. To ensure you receive our reply, we kindly recommend checking your SPAM/JUNK FOLDER if you do not see our message in your inbox.