0
\$\begingroup\$

How can I program multiple ATmega328p at once?

Like, for example, the Arduino Uno. How do they program it for mass manufacturing production?

\$\endgroup\$
2
  • 2
    \$\begingroup\$ If you order enough ATMega328 chips at Atmel and pay for the programming they will do it for you with the code you supply them. In the factory a special "programmer" is used, probably it is part of the testing procedure. After testing and the chip has tested OK, it is programmed. I am unsure what you mean by "at once" programming. \$\endgroup\$ Commented Oct 12, 2020 at 8:13
  • \$\begingroup\$ you can use In Circuit Serial Programming or ICSP pins to program them. \$\endgroup\$ Commented Oct 12, 2020 at 8:52

4 Answers 4

3
\$\begingroup\$

To program in-circuit, you can also use either a JTAG-Connector - as seen on the J-Link Mini, or an on-PCB connector - as you can see on this tinyK22 microprocessor that's used at my university quite a lot. You can see the connectors next to the "K20" and "K22" print. The cable to plug this in is fairly expensive, but it allows you to program a board that only has the 'connector' implemented on the PCB.

Rather than downloading through the IDE, you'd download using a standalone flashing program.

If your quantities are high enough, just as the others said, you'd use preprogrammed chips from the factory.

\$\endgroup\$
1
  • \$\begingroup\$ Just to give it a name: Looks like a Tag-Connect header on the tinyK22 board you’ve shown. \$\endgroup\$
    – Michael
    Commented Oct 13, 2020 at 8:59
2
\$\begingroup\$

Arduino exposes all the pins needed for "high voltage" parallel programming on the pin headers. This is faster than ICSP and probably how they are programmed in production, unless pre-programmed chips are used.

However the terminals needed for ICSP are also available so for low volumn production that's an option too.

\$\endgroup\$
1
\$\begingroup\$

If you do high volume production, the boards are assembled and tested automatically, so you already have a production step where voltage is applied to the board at selected spots.

Programming the board at this stage is just a matter of connecting to the appropriate pads for half a second, that is barely noticeable compared to the time that is spent testing for soldering defects.

\$\endgroup\$
1
\$\begingroup\$

If you are using the original arduino uno type chip, you can swap the chips or even get a ZIF socket for easier insertion and removal

enter image description here

Image source: Universal Solder - CANADUINO ZIF Socket Programming Shield V2 for Arduino

You can also pay atmel/supplier to program it for you

\$\endgroup\$
0

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.