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?
-
1Take a look in this link: electronics.stackexchange.com/questions/82466/…Roh– Roh2014年07月11日 17:27:35 +00:00Commented Jul 11, 2014 at 17:27
-
1What problem are you trying to solve?Ignacio Vazquez-Abrams– Ignacio Vazquez-Abrams2014年07月12日 00:38:56 +00:00Commented Jul 12, 2014 at 0:38
-
@IgnacioVazquez-Abrams I've 60 Arduino Pro Minis and all of them need to be programmed same. I just wanted to do this 10 by 10.siniradam– siniradam2014年07月14日 08:10:43 +00:00Commented Jul 14, 2014 at 8:10
-
1sparkfun.com/products/11591Ignacio Vazquez-Abrams– Ignacio Vazquez-Abrams2014年07月14日 08:12:21 +00:00Commented Jul 14, 2014 at 8:12
2 Answers 2
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– siniradam2014年07月14日 08:12:11 +00:00Commented Jul 14, 2014 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– mpflaga2014年07月15日 01:04:11 +00:00Commented Jul 15, 2014 at 1:04
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.