How To Program Circuit Boards: Six Programming Methods

Once a PCB gets fabricated and assembled, the next step is to upload software to the chip to run the board components. So how to program circuit boards?

There are several ways of programming the device, and the process depends on the device form factor and assembly run volume. 

All these methods have pros and cons. But the bottom line is programming the IC before the product release data will save you time and money. 

So we’ll show you all the methods you can use before the launch date.

How To Program Circuit Boards: From the Factory

One of the easiest ways of programming a circuit board is by getting the manufacturer to do it. 

Alternatively, you can ask your parts distributor to program the chip.

In such a case, the chip won’t require any modification after assembly. You’ll only have to test it to ensure the software works. 

This process eliminates the need for a programming connector on the board, which consumes some real estate. 

And the lack of a connector reduces the manufacturing cost and makes the PCB more compact.

If manufacturers handle the programming, they insert the chip into a Zero Insertion Force (ZIF) socket. 

This component links to the required program for the IC and its support circuitry for programming.

 After that, the chip gets repackaged for later use (assembly).

A Zero Insertion Force 28-pin socket

A Zero Insertion Force 28-pin socket

But this method has its downsides. If you detect a software bug or need to update the program, the manufacturer must halt the production process. 

After that, the manufacturer must reprogram the chips.

This issue is not as bad if the boards have programming headers.

 But if you had chosen to eliminate them to lower manufacturing costs, the manufacturer will have to:

  • Remove the assembled ICs with the faulty code
  • Reprogram them
  • Assemble them back into the boards

So the process is not as flexible as the rest. And the changes can drastically increase the set-up fee. 

However, it is the best option for uploading bootloaders because the code rarely changes.

How To Program Circuit Boards: Using Dedicated Headers

Dedicated headers are arguably the most commonly used method to program circuit boards due to their flexibility. 

With the chip mounted on the PCB, dedicated programming headers provide connector pins that access the IC. 

So you can connect your computer to remove, replace, or edit the installed software.

A computer board with a pin header

A computer board with a pin header

Even if you want your contract manufacturer to upload the code, dedicated headers simplify reprogramming at the factory level.

But the most significant advantage is the flexibility the headers give you as the end user. 

However, they increase the PCB cost because connectors are expensive components. So you have to factor in their price and the assembly cost.

Another issue occurs if you use non-keyed connectors. If you make the mistake of plugging these components backward, false negatives and positives can damage the circuit components.

So consider using keyed connectors, such as USB.

How To Program Circuit Boards: Manufacturing and Test Jigs

Dedicated headers might not be ideal for high-volume runs. So if you are in this situation, using jigs like pogo pins is faster.

Manufacturing and test jigs are spring-loaded contacts that create electrical joints with the circuit board. 

This spring helps maintain firm contact when pressed to conduct electrical signals to the board.

A jig setup

A jig setup

Besides programming, the jig can contact other points on the board for testing purposes. And when programming, you can use the jigs to handle entire panels in one go. 

So this programming process is quick, which means faster programming and testing.

On the downside, the jigs are not easy to build. Also, the tooling cost is high. 

So the method is only suitable for medium to high volume production to offset the high equipment cost.

How To Program Circuit Boards: Using Universal Headers

We discussed dedicated headers and jigs earlier. Universal headers sit somewhere between the two because they resemble headers but with pogo pins built in.

So one end links to the IC program you want to upload while the other presses against the circuit board contacts.

These components eliminate the need for dedicated headers and costly programming/testing jigs. 

However, they are not the best for high-volume production runs. So consider them for low and medium-volume production.

How To Program Circuit Boards: Offline Programming

Offline programming requires an adapter for the different IC and package types

The adapters are not exactly cheap, but this method introduces a high level of flexibility.

The purpose of the adapter is to enhance the clamp accuracy. 

So it’s not a must to use the adapter, but we recommend using it to enable higher program burning levels.

When testing during production, you can unplug the chip from the adapter if there are any issues. 

So it enables you to detach the IC before damage hits. However, the method is expensive and takes a lot of time.

How To Program Circuit Boards: Online Programming

Online programming implies uploading software to the chip while connected to the circuit board. So you can use connectors like JTAG, SWD, or USB as the primary interface.

When programming, keep the number of pins to a minimum because the communication interface rate is not high.

A blue dev board with JTAG and USB connectors

A blue dev board with JTAG and USB connectors

This process begins after fixing the PCB in place. The software will get burned into the chip directly, after which the board goes into the testing machine.

 Since most manufacturing processes lean towards automation to shorten the lead time, PCB manufacturers use testing machines to hasten production.

So after manual program uploading, the testing machine automates the rest of the process.

 Automation involves elevating the production line’s performance while minimizing power consumption and manufacturing costs.

Challenges In PCB Programming

It is vital to order all the required components and fixtures before assembly, then confirm the programming software’s compatibility.

 If you don’t do so, you’ll have to stop the assembly process or postpone it until all components get programmed.

Some of the obstacles assemblers encounter that slow the pace of the assembly process include the following.

  • Differences in part number suffixes (assemblers must clarify this issue because the variations can create different programming timing parameters or pin voltages)
  • Fixtures or programming devices having a lead time
  • Incompatibility between the circuit board and chip programming software
A ZIF socket attached to a red PCB

A ZIF socket attached to a red PCB

If you don’t handle these issues, the assembly delays will be costly, and you’ll delay the product’s release date.

Wrap Up

As you can see, chip or circuit programming is not difficult.

 But the programming method matters because it depends on the assembly volume and IC form factor. 

Also, try to eliminate all the bottlenecks beforehand to ensure a smooth assembly operation. 

Contact us if you need further clarification on this topic. We’ll be happy to help.