Can MacroFab Program and Test my PCB Products

MacroFab can program and test your PCBs (and electronic products) if you supply us with the proper firmware and testing instructions.

Whether you would like us to test a single prototype prior to delivery or need a way to ensure the integrity of thousands of boards and products, our programming and testing service is a great way to streamline your operations.

By completing the Firmware steps within a Product, you can easily upload your firmware, provide the necessary testing information, and receive a quote for this service.

For more info on preparing your boards for programming, check out Engineering Blog posts on different programming methods and how to design a programming and test fixture.


Click on the Firmware section of a Product and then click on the Tell us about the process link.


This will open up some fields that will need to be filled out and completed so we can properly load firmware on your device.


1. Uploading Firmware

Attach your firmware files by clicking the “Select Firmware” button. Typically firmware files have the file extension .hex or .elf.

2. Part Being Flashed

In this box, please enter the manufacturer part number of the IC that is to be programmed. Example: ATMEGA328P

3. What Software is Being Used?

In this box, please let us know what software program we will need to program your device. Example: Atmel Studio

4. Power

We will need to apply power to your design in order to flash it? Please tell us how to apply power. If your board is to be powered from a power supply please let us know the the voltage and current limiting specifications. Example: 5V and 100mA current limiting

5. Cabling

We will need to physically connect a computer or programmer to your device to flash it. Please tell us the method of connection and any specific cables or harnesses we will need. Example: USB cable or tag-connect ICSP cable

6. Special Instructions

If there are any special instructions that we need to know to flash your boards, please write them here. Often, microcontrollers will need to have fuse or configuration bits burned into memory during the firmware programming phase. If we need to burn any fuses or configuration bits in your unit during the programming phase, please include a list of the fuses and their values here. If there is a specific device needed to program your unit like a programmer or debugger hardware please tell us what programmer we will need to use here.

7. Programming Time Estimate

Enter the time in seconds needed to completely flash one unit. We’ll double-check the time and provide an update, if needed.

8. Add More Firmware Definitions

If your PCB assembly or product has additional firmware to upload you can add another Firmware install step here. This could be used to first define uploading a bootloader to your PCB assembly with a programmer and then uploading the production or test firmware over USB.

Additional Questions?

Need some help defining your firmware instructions or have more questions about our capabilities? Message our support team!