Reading chip content, and make a copy?

New in here, and fint it a little hard searching the forum :-/
Anyway, i was thinking of using arduino for a product. Cost is important so i plan to use mostly ATMega328 28 Pin 20MHz with an external crystal…
I see it is offered with the arduino bootloader also, but it cost 25% more.
I had this idea the it would be cool to copy my arduino chip over to a complet blank one. With the arduino bootloader and everything. So basically i would need to reed the chip and copy it over to the new one.

It would be extra cool to do it without a computer connected, only another arduino.

Any thoughts? :slight_smile:

You can use the ISP sketch to program any chip externally (including setting the fuses).
(e.g. )

You can change that code to program autonomously rather than waiting for STK500 commands (this needs some understanding of the code).

Then just make a copy of the upper part of its own FLASH, byte by byte.
Don’t forget to also set the fuses!

With the help of a PC it is just this:

you don’t need to read the chip to get the bootloader either, you can download it from the arduino website (you really should look into what open source means!)

Of course, but the question was how to do it without the help of a PC.

Thanks a lot, for some good references :smiley:

I will dig into the code and tutorials when some time soon.
Would need to buy some more chips to get started i guess :slight_smile:

I work as a java programmer during the day, and hardly use anything else then open source, and have a few contributions myself… (so i know what it means).
…but like in the java community, what i really like about arduino are the people like you guys helping giving me a flying start ;D

Hope i mange, and maybe someone else would be interested in the same…?
I´ll try to keep the post updated…

...and sorry for all the typos :-[

I dont see why you couldnt san's pc, but its not going to be something already figured out

people make fuse doctors which are basically little single use programmers set on a avr chip to enable "high voltage" programming (so if you screw up your fuses you can set them back to default)

I think your main concern outside of how to actually program a avr chip (which I breifly looked, there is not a ton of info out there, but you could reverse it from the gnu avr tools) would be storage