3

I have 10 Arduino Pro Minis and one Arduino Uno. Via breadboard, if I connect Pro Minis in parallel, can I program all of them at same time?

Is it possible?

migrated from electronics.stackexchange.com Jul 11 '14 at 22:02

This question came from our site for electronics and electrical engineering professionals, students, and enthusiasts.

4

Arduino Pro Mini is programmed through serial, using a bootloader. It uses STK500 protocol, which is described by Atmel.

In theory, it can be possible to program multiple boards if only one TX Arduino pin is connected to USB-Serial converter, and all RX are in parralel, but this is an unreliable method. Only the board with TX pin connected can send its status back to programmer.

Arduino Mini also requires a physical reset before uploading. Make sure that all Reset pins are connected together when reset button is pressed.

  • Thank you, may ask, is it worth to risk? What can be go wrong? – siniradam Jul 14 '14 at 8:12
  • Noting that the avrdude using STK500 protocol expects responses, which is initially accommodated above by "only one TX pin connected" However, this will be very very problematic, as the "only TX" will likely respond (even occasionally or just once) before the other slaves are not ready and such slaves will fall out of sync. I have done just this on a different product(not AVR) and we had to add long delays on the Master (avrdude in this case) to after it got the response to ensure all the slaves had a chance to catch-up. Likely will not be able to do the same here. – mpflaga Jul 15 '14 at 1:04
3

In this case I would recommend considering using multiple USB-to-Serial Ports and simply replacing the ".\arduino-1.5.6-r2\hardware\tools\avr\bin\avrdude.exe" with a batch file that then called 10 (or any number of Serial Ports) of your choice.


I would recommend reading my answer from Programming Arduino's from a centralized location.

Where that solution may be a bit more complicated, then needed. But the same pieces would allow you to create a custom programmer that can specifically call the custom avrdude. Allowing the original methods to still exist.


Additionally worth noting. Is that you can turn on verbose for the compiling and uploading from the IDE's preferences. This will display the temporary directory that contains the exact location of the bin file and command executed to upload. Which can then be easily re-executed your convenience. Noting the temporary directory is not immediately destroyed. Where you can also change the arguments to execute different ports and sending it to the background. To call others. So that you can simultaneously upload many devices.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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