There is already a similar topic about this but the answers are not clear and I would like to add more aspects at my question.
I finished all the programming stuff using Arduino Mega. Now, I need to "clone" the ATMega1280 (Arduino bootloader + my code written at the flash memory) to multiple "new" ATMega1280 from Atmel. The main goal is to develop my own PCB which includes the ATMega1280 Arduino programmed chip.
Obviously, the ATMEga1280 at the Arduino board is solded there... I have 2 pins-options for this MCU: TQFP and CBGA. What is the step-by-step to realize such cloning stuff. I mean, what MCU sockets, AVR programmer or other tool.
An idea, may be stupid, is to remove the chip from the Arduino Mega, make the soldering of a socket at it, purchase new ATMega1280 and divide the process into 2 steps: load the bootloader using ISP connector and an AVR programmer and continue saving my project at the new chip. Now, remove this chip and deploy it at the new OCB board. If this process works, what is the socket I need to purchase.
You can't easily remove 100 pin TQFP chips... CBGA's add a lot more problems, unless you are getting them mass produced and using more than 2 layers probably stay from the CBGA.
The best way to go about programming them is to do it after they have been installed on the board. You can either make a dedicated ICSP header that you can plug your programmer in or just hook up to the correct pins.
You will need an STK500 compatible or similar programmer. You can use another Arduino for this, a buspirate, or build your own. You connect that to your ICSP header and flash the chip. No need to remove it or program it before it goes in the board.
is to remove the chip from the Arduino Mega, make the soldering of a socket at it,
You can get test-and-burn sockets for TQFP packs (and most other packages for that matter) but I've never seen one that can be used on a TQFP site on a target PCB, they normally break out the pins to .1" grid or something usable. So I don't think you can do that.
Now, remove this chip and deploy it at the new OCB board.
Same problem unless you make your board to match the TnB socket.
Leave your Mega in one piece and make the application PCB to take a 1280 TQFP, include an ISP header and flash your program with that.
I will add some information that I figured out so far:
The chip on the Arduino Mega board comes with the TQFP-100 package for soldering.
There is another package option for the chip: CBGA, that is, ceramic BGA 10 pins. This one can be "plugged" to a socket and the price is almost 10% higher than the TQFP option. The main idea is to have the TQFP or BGA socket at the programmer and to sold the "burned" ATMega1280 in my final customized PCB.
Question: assuming that you have tools and soldering skills, what is the best option for your own PCB with the ATMega1280 chip: TQFP or CBGA? It seems to me that CBGA is easier to sold bit I never tried this one, only DIP and TQFP.
It is possible to purchase the STK-600 (also STK-500) with the proper TQFP adapter. I did not saw BGA adapter; therefore, if no other easier way to program the chip exists, I will have to go at the TQFP option instead of BGA.
Question: is it possible to upload the Arduino bootloader and also our own Arduino code only using STK-600 + STK600 TQFP-100 adapter + ATMega1280? That is, without involving the Arduino Mega board?
Another option still seems to exist: to "adapt" TQFP/BGA-100 adapter to the existing Arduino Mega. However, the prices are so high that I think it would be better to go to STK-500 or 600 options....
Good ideas!! So I understood the best deployment way is to have the ISP connector at my target/customized PCB.
May someone talk about this option?
What are the MCU's pins to connect to the ISP connector?
Is this a simple task or I will need additional hardware?
With the ISP connector at the target board and the Arduino Mega, I do not need any extra programmer. Am I right? What is the step-by-step to upload the bootloader and user code to new ATMega1280 chip?
How so, unless you have vias under each ball and to a "plug solder" from the rear.
Really I would forget about the BGA, even if you can solder it how will you design a PCB to get all those pins out unless to go to several layers. Maybe if the socket you've found breaks out the pins, but then it will be huge.
Question: is it possible to upload the Arduino bootloader and also our own Arduino code only using STK-600 + STK600 TQFP-100 adapter + ATMega1280? That is, without involving the Arduino Mega board?
I think so, but if you can do that why not just flash a chip on your PCB using ISP?
With the ISP connector at the target board and the Arduino Mega, I do not need any extra programmer. Am I right?
Correct... there are plenty of tutorials for using an Arduino to load a bootloader on to another.
Is this a simple task or I will need additional hardware?
Very simple... it could be done with no additional hardware depending on your goals.
What are the MCU's pins to connect to the ISP connector?
If you plan on designing your own board, you should be able to figure this out on your own. Download the Atmega1280 datasheet (full version) and read through it at least once. It doesn't take as long as it looks. This will tell you a lot about the chip and help you with your final design.