Electrical – Serial programming of several AVR microcontrollers simultaneously via ISP interface

avrisppcbproductionprogramming

I'd like to put several PCBs in a panel with only one ISP connector routed to each MCU in parallel.

I hope that it will be no problem that many MCU's outputs will be connected together as it is intended that the output data will be always the same.

However I can not be sure that the programming device (STK500 in my case) will be electrically able to handle many devices (and how many in this case?) I think it is hopeless to try to find any specification as the programmers intended to be connected only to one MCU in a single time.

I did find a similar topic here, but Brian asked about parallel programming but I need to do it serially. And the question was related to relatively small amount of MCUs (3 in the picture) when I'd like to do this trick with a 20 or 30 devices!

So is there anything slept out of my sight? I could make an experiment with 2 or maybe 3 devices but I don't have enough boards to provide a full scale test, so probably someone did this? I'd like to have more PoVs before I will place a panel in the production.

Any thoughts?

Best Answer

The AVR ISP programing protocol both writes to and reads from the device being programmed during programming. For this reason you will not be able to do this (program multiple devices simultaneously) unless you write your own software to do writes only (and take the significant risk that you miss a dead device on your panel). http://www.atmel.com/webdoc/protocoldocs/protocoldocs.avrispprotocol.html

There are many commercial gang programmers on the market (though you'd expect $2-3k pricing), but given the ridiculously low cost of an AVR ISP MKII programmers on Ebay, you could hook up multiple USB programmers and cycle through the various ports. Not exactly gang programming, but certainly could be faster than a manual single device process. If you are really keen to save time, then you could roll your own software to gang program multiple AVR ISP programmers, it would not be difficult.