switching from Uno to Mega 2560


I posted a question a month or so ago to ask if I could switch from a Uno to a Mega 2560 without changing anything. I was told that the Mega should be more or less plug and play with no changes. Seems that that is not quite right. The problem centers around getting an Adafruit Data Logger Shield that to work with an Mega 2560. I've walked part of the way through the tutorial (Using the Real Time Clock | Adafruit Data Logger Shield | Adafruit Learning System). I'm using the online editor rather than the IDE. Anyway, I've found the library referenced in the tutorial and opened the example PCF8523 (I have the latest rev of the data logger shield with the PCF8523 chip on it). When I plug in the shield to my Mega and upload the example, I get garbage on the serial monitor. I also have an Uno, and when I plug the Datalogger into that, it seems to run the example just fine. There must be something different about the Mega 2560 hardware compared to the Uno. Anyone know what I need to do to make the shield work with the Mega? I need the extra inputs on the Mega, or I would use the Uno.


What type of interface is used between the data logger and the Arduino ?

I'm not sure what you mean exactly. The datalogger is a shield that plugs into the Arduino. Overview | Adafruit Data Logger Shield | Adafruit Learning System

i didn't think the pins on an UNO shield line up with the pins on a mega (just checked)

There were problems with this shield. The old version didn’t work with the mega without either hardware/software changes. The newer version shouldn’t cause any problems.


Original Unos and Megas use different pins for SPI and I2C buses. I suspect the shield you have is not the one you link to. IF your shield does NOT have a 6-pin cluster header, it is not compatible with Mega. The cluster solves the SPI problem. See reply #4. Modern Uno and Megas have extra pins for the RTC that are common and the current Ada shield covers that too.