Possible to buy Atmega328p with programmed Flash and EEPROM?

In my experience, this has only economical for gigantic production runs; the cost of this value-add service can be high (I've been quoted a multiple of the price of each controller.) Consider the cost of the service vs. how much it costs for 30-60 seconds of labour on the production line to program the board and go for what makes the most economic sense.

It's often easy enough to add some circular copper pads on the board and use a pogo-pin fixture to program the micro as part of the board's assembly process. This allows for much more flexibility - imagine what might happen if you need a firmware update and you have 100000 pre-programmed parts in stock. If you don't have programming pins on your board, you'd need to ship'em all back and get them unpackaged/reprogrammed/repackaged. (Also, every time a part is handled there's a risk of ESD or other damage -yields may be affected)

If you really must go with pre-programmed, consider having the supplier only program a bootloader into the controller, and do the programming as part of your product test suite. This still allows you to control and update firmware as needed. Once the bootloader is working, it's rare to ever need to update it so it's much safer to pre-program that part of the software.

At my workplace we produce many controller boards with multiple microcontrollers and we always go with the post-assembly pin-programming option. Any EEPROM programming is taken care of during functional test. The cost of doing it at our CM is much cheaper than pre-programming; also, because we use the microcontrollers in multiple projects we would need a unique P/N for each micro + firmware combination in order for the CM to not get mixed up - that would be a logistical nightmare.


You can order them directly from Microchip pre-programmed and they can ship to your assembly house.

It might be more economical to have the distributor do it, or to incorporate it as part of the testing procedure. Sometimes you might want to load a self-test program and then load the user program when it passes.

Unless your code is extremely simple and stable and your product is disposable, I would strongly suggest retaining some means of reprogramming the MCUs.


Chip preprogramming is a so-called "Value Add" Service offered by many IC distributors. You will receive your programmed chips in a tape, just like you would an unprogrammed SM IC.

Arrow.com has IC programming-as-a-service

Future Electronics has value-add-programming

or, in this case, you can order programmed chips directly from microchip: https://www.microchipdirect.com/programming/price-lookup

Note, when you use a preprogrammed chip and a contract manufacturer (someone assembling your boards), Definitely use your own part number, do not use the normal MFG pn. The CM will tend to just order the "normal" part and skip ordering your special preprogrammed variant.