Go Down

Topic: Programming multiple ATMega's/arduino's at once (Read 7802 times) previous topic - next topic

SirNickity

#15
May 16, 2013, 09:06 pm Last Edit: May 16, 2013, 09:08 pm by SirNickity Reason: 1
A shift register and a bunch of buffered ZIF sockets would make an easy batch programmer.  I would opt for a scheme that uses the shifter to basically trigger an Enable pin for each socket.  Whether that controls Reset, Vcc, or transistors on the data lines is up to you.

If you had a commercial op and would be doing this a lot, I would even go so far as using a fleet of ATtiny's to write each socket in parallel.  The real hassle would be loading and unloading the chips.  Hacking together an automated robot arm could be a good complement for, or alternative to, parallel flashing.

I would never consider bypassing the verify stage.  The meager time you save on rushing the process will rob you of your lunch money the first time there's a bad flash cell, a noisy PSU, or bad RFI.  If you're serious enough to need to bulk program chips, you should be serious enough to do some QA.  Just MHO of course.  :-)

westfw

In my somewhat extensive experience, the search for "simultaneous" programming is somewhat useless.  With the programming speed of modern devices, you will spend more time connecting or inserting a device in your programmer, than it will actually take to program the memory.  Once you get two or three programmers programming sequentially, YOU become the limiting factor in programming speed.  Even more so if you're doing things like pin-straightening, chip labeling, or putting the programmed chips into pretty packaging.

(Up to the point where you have expensive automated machinery to move chips from tubes/reels to your programming adapter.  At which point you should be thinking about using digikey (or equiv) to do your programming for you.)

omniaxis

john1993 excuse my ignorance I'm new to the Arduino world. When you say ISP program can you give my a little more info on how to do that or perhaps send me to a link that does? Even a brief explanation will be incredibly helpful as to how to set it up.  Thank being said thank you for all your input thus far.

john1993

generally there are 2 ways we program an avr. isp makes use of hardware built into the chip (miso/mosi/sck) and is normally the way to flash a raw chip from the factory. arduino chips have a bootloader program put into them which allows loading code via a serial port using the avr self program (spm) instructions. but a bootloader must be intalled using isp for this to work. so ALL chips can be isp flashed but only those with bootloader previously programmed can use a serial port. the datasheets and atmel app notes go into much more detail. google is your friend.

omniaxis

#19
May 19, 2013, 02:19 pm Last Edit: May 19, 2013, 02:35 pm by omniaxis Reason: 1
SOLVED... Frist thank you all for you input I found it to be extremely invaluable. It was a simple fix but I found out how to upload a sketch to many Arduino's at the same time. This was key!!! - You connect all the GRN in parallel (from the FTDI - the DTR connection and the Arduino's GRN) , the TX from the master serial (in this case my FTDI) connects to all the RX on the slave Arduino's in parallel and the GRD on all connected together as well in parallel. The only down side is that you can't receive a verify from the uploaded. But it's not needed in this case. Again thank you for the help.  

fungus

#20
May 19, 2013, 03:04 pm Last Edit: May 19, 2013, 03:06 pm by fungus Reason: 1

john1993 excuse my ignorance I'm new to the Arduino world. When you say ISP program can you give my a little more info on how to do that or perhaps send me to a link that does? Even a brief explanation will be incredibly helpful as to how to set it up.  Thank being said thank you for all your input thus far.


The little six pin connector on the Arduino gives direct access to all AVR chip memory over the SPI bus, including fuse bits and EEPROM. You have to hold the RESET pin low while you do it (which is why the RESET pin appears on that connector).

You don't need a bootloader or anything loaded on the chip to use ISP  (in fact you use ISP to write the bootloaders!)

Advanced Arduino

Go Up