Would it be possible to build a breadboard version of the Arduino Mega? I've already made a few Arduinos based on the ATMega 168/328 chips. Simple enough to do with the smaller chips, but I'm thinking the answer to the question is no due to the form factor of the ATMega1280 chip among other considerations. This is probably a silly question, but I am an electronics novice
I would also think that form factor is the issue here. Through hole parts are becoming increasingly difficult to find so perhaps we all need to learn to work with tiny surface mount parts sooner or later.
As for the Mega however I've never been particularly "excited". My thinking is that once you outgrow the I/O pin count of the ATMega328 you may as well put a second (or more) ATMega328's on the proto board. The I2C interface works well for inter mcu connectivity and you will get additional cpu's with processing power above and beyond that of a Mega.
That said however I realize that for some projects cpu power may not be the issue. One option (for breadboarding) may then be a ZIF type DIP socket for the mcu. I've also seen proto boards from Atmel that can be extended with daughterboards for a fair number of AVR's. Cost may be a limiting factor however when on a "hobby budget".
I think I like the two-chip I2C setup better now that you mention it. One more silly question: Can both chips run off the same 16Mhz clock crystal or do they each need their own?
Can both chips run off the same 16Mhz clock crystal or do they each need their own?
I've seen posts on this forum suggesting it is possible (search for dual-core Arduino), but I would not try that. For my multi-mcu designs I've used separate small boards (easier to fit into a final design) with either crystal/resonator or the ATmega internal 8MHz oscillator.
Can both chips run off the same 16Mhz clock crystal or do they each need their own?
As BenF said, some people have gotten this to work, but it isn't really recommended to do it this way. If you absolutely need both CPUs to be running in lockstep (which, depending on the application, might be something that is needed), you would need to set up an external clock source running at 16 MHz, and feed this to the clock inputs on the ATMega chips. You will also have to change the fuse settings (and I am not sure how this would effect the bootloader, or if it would):
Finally, I am not sure how you would generate that 16 MHz clock; I know that there exists clock generator chips, such as this one from Maxim:
That one requires a 3.3 volt source, though; you would want one with a 5 volt source. These chips are referenced as a "PLL external clock generator" (so you can search for that if you want - PLL, btw, stands for "Phase Locked Loop"). They probably also all come in SMT packages as well, and are not something easily set up for experimentation on a breadboard or protoboard.
They basically use an external crystal just like you would on a singular ATMega, but output the clock signal via a buffer/amplifier that I suspect outputs more current, to allow you to route to multiple chips using the same clock; even so, you likely need to keep the traces as short as possible (and I am not sure if bypass caps are needed to ground or not).
Lastly, and this is something else you may investigate - it may be possible for one ATMega to generate the clock (via a separate pin?) for another ATMega; so, the first would be set up (fuse bits) for whatever clock is desired (standard would be external resonator/crystal, I believe - for the 16 MHz resonator), and would output a generated clock signal on one of its pins (via timer interrupt code, I imagine?) to the second (or multiple?) ATMega, which would be set (again, via the fuses) for an external clock (which isn't the same as an external resonator/crystal, just to make this clear).
This is all "educated speculation" on my part; I've never done any of this, but it seems possible and plausible. Good luck, and I hope this helps!
Thanks for all your help. I actually have enough clock crystals for several chips (I was just being cheap lol). I will be doing some googling of I2C this coming weekend and let you know what I come up with. Thanks again!