Datasheet Arduino Mega 2560
Datasheet Arduino Mega 2560
Datasheet Arduino Mega 2560
Overview
The Arduino Mega 2560 is a microcontroller board based on
the ATmega2560 (datasheet). It has 54 digital input/output pins (of
which 15 can be used as PWM outputs), 16 analog inputs,
4 UARTs (hardware serial ports), a 16 MHz crystal oscillator, a USB
connection, a power jack, an ICSP header, and a reset button. It
contains everything needed to support the microcontroller; simply
connect it to a computer with a USB cable or power it with a AC-toDC adapter or battery to get started. The Mega is compatible with
most shields designed for the Arduino Duemilanove or Diecimila.
The Mega 2560 is an update to the Arduino Mega, which it replaces.
The Mega2560 differs from all preceding boards in that it does not
use the FTDI USB-to-serial driver chip. Instead, it features
the ATmega16U2 (ATmega8U2 in the revision 1 and revision 2
boards) programmed as a USB-to-serial converter.
Revision 2 of the Mega2560 board has a resistor pulling the 8U2
HWB line to ground, making it easier to put into DFU mode.
Revision 3 of the board has the following new features:
1.0 pinout: added SDA and SCL pins that are near to the AREF
pin and two other new pins placed near to the RESET pin, the IOREF
that allow the shields to adapt to the voltage provided from the
board. In future, shields will be compatible both with the board that
use the AVR, which operate with 5V and with the Arduino Due that
operate with 3.3V. The second one is a not connected pin, that is
reserved for future purposes.
ATmega2560
5V
7-12V
6-20V
54 (of which 15 provide PWM output)
16
40 mA
50 mA
256 KB of which 8 KB used by bootloader
8 KB
4 KB
16 MHz
Power
The Arduino Mega can be powered via the USB connection or with
an external power supply. The power source is selected
automatically.
External (non-USB) power can come either from an AC-to-DC
adapter (wall-wart) or battery. The adapter can be connected by
plugging a 2.1mm center-positive plug into the board's power jack.
Leads from a battery can be inserted in the Gnd and Vin pin headers
of the POWER connector.
The board can operate on an external supply of 6 to 20 volts. If
supplied with less than 7V, however, the 5V pin may supply less
than five volts and the board may be unstable. If using more than
12V, the voltage regulator may overheat and damage the board.
The recommended range is 7 to 12 volts.
The power pins are as follows:
VIN. The input voltage to the Arduino board when it's using an
external power source (as opposed to 5 volts from the USB
connection or other regulated power source). You can supply
voltage through this pin, or, if supplying voltage via the power jack,
access it through this pin.
Communication
The Arduino Mega2560 has a number of facilities for communicating
with a computer, another Arduino, or other microcontrollers.
The ATmega2560 provides four hardware UARTs for TTL (5V) serial
communication. An ATmega16U2(ATmega 8U2 on the revision 1 and
revision 2 boards) on the board channels one of these over USB and
provides a virtual com port to software on the computer (Windows
machines will need a .inf file, but OSX and Linux machines will
recognize the board as a COM port automatically. The Arduino
software includes a serial monitor which allows simple textual data
to be sent to and from the board. The RX and TX LEDs on the board
will flash when data is being transmitted via
the ATmega8U2/ATmega16U2 chip and USB connection to the
computer (but not for serial communication on pins 0 and 1).
A SoftwareSerial library allows for serial communication on any of the
Mega2560's digital pins.
The ATmega2560 also supports TWI and SPI communication. The
Arduino software includes a Wire library to simplify use of the TWI
bus; see the documentation for details. For SPI communication, use
the SPI library.
Programming
The Arduino Mega can be programmed with the Arduino software
(download). For details, see the reference andtutorials.
When this line is asserted (taken low), the reset line drops long
enough to reset the chip. The Arduino software uses this capability
to allow you to upload code by simply pressing the upload button in
the Arduino environment. This means that the bootloader can have
a shorter timeout, as the lowering of DTR can be well-coordinated
with the start of the upload.
This setup has other implications. When the Mega2560 is connected
to either a computer running Mac OS X or Linux, it resets each time
a connection is made to it from software (via USB). For the
following half-second or so, the bootloader is running on the
Mega2560. While it is programmed to ignore malformed data (i.e.
anything besides an upload of new code), it will intercept the first
few bytes of data sent to the board after a connection is opened. If
a sketch running on the board receives one-time configuration or
other data when it first starts, make sure that the software with
which it communicates waits a second after opening the connection
and before sending this data.
The Mega2560 contains a trace that can be cut to disable the autoreset. The pads on either side of the trace can be soldered together
to re-enable it. It's labeled "RESET-EN". You may also be able to
disable the auto-reset by connecting a 110 ohm resistor from 5V to
the reset line; see this forum thread for details.
USB Overcurrent Protection