Pages: [1]   Go Down
Author Topic: How To: Clone of the ATmega1280 of a Arduino Mega  (Read 1415 times)
0 Members and 1 Guest are viewing this topic.
0
Offline Offline
Full Member
***
Karma: 1
Posts: 111
... only learning ...
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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.

Better ideas? Please....
Logged

DeKalb, IL USA
Offline Offline
Full Member
***
Karma: 0
Posts: 243
KB9SXU
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

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.

When I program my MegaMini's (http://jkdevices.com/arduino-megamini) I just use a buspirate with the STK500v2 firmware loaded on it.  I then use the probe cable to connect it all up http://dangerousprototypes.com/2009/10/13/bus-pirate-probe-cable-7-75/  Would be easier if I had a dedicated header I could just plug in to, but there was no room on this board.
Logged

Jeff K - JKDevices.com - home of the MegaMini

nr Bundaberg, Australia
Offline Offline
Tesla Member
***
Karma: 126
Posts: 8471
Scattered showers my arse -- Noah, 2348BC.
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
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.

Quote
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.
Logged

Rob Gray aka the GRAYnomad www.robgray.com

0
Offline Offline
Full Member
***
Karma: 1
Posts: 111
... only learning ...
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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....

Any ideas?
Logged

0
Offline Offline
Full Member
***
Karma: 1
Posts: 111
... only learning ...
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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?

Thanks!!
Logged

nr Bundaberg, Australia
Offline Offline
Tesla Member
***
Karma: 126
Posts: 8471
Scattered showers my arse -- Noah, 2348BC.
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
It seems to me that CBGA is easier to sold
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.

Quote
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?
Logged

Rob Gray aka the GRAYnomad www.robgray.com

DeKalb, IL USA
Offline Offline
Full Member
***
Karma: 0
Posts: 243
KB9SXU
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
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.

Quote
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.

Quote
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.
Logged

Jeff K - JKDevices.com - home of the MegaMini

Pages: [1]   Go Up
Jump to: