Arduino Mega 2560
Arduino Mega 2560
OSH: Schematics
Arduino Mega 2560 is open-source hardware! You can build your own
board using the follwing files:
Programming
The Mega 2560 board can be programmed with the Arduino Software
(IDE). For details, see thereference and tutorials.
The ATmega16U2 (or 8U2 in the rev1 and rev2 boards) firmware source
code is available in theArduino repository. The ATmega16U2/8U2 is
loaded with a DFU bootloader, which can be activated by:
On Rev1 boards: connecting the solder jumper on the back of the board
(near the map of Italy) and then resetting the 8U2.
On Rev2 or later boards: there is a resistor that pulling the 8U2/16U2
HWB line to ground, making it easier to put into DFU mode. You can then
use Atmel's FLIP software (Windows) or the DFU programmer (Mac OS X
and Linux) to load a new firmware. Or you can use the ISP header with an
external programmer (overwriting the DFU bootloader). See this user-
contributed tutorial for more information.
Warnings
The Mega 2560 has a resettable polyfuse that protects your computer's
USB ports from shorts and overcurrent. Although most computers provide
their own internal protection, the fuse provides an extra layer of
protection. If more than 500 mA is applied to the USB port, the fuse will
automatically break the connection until the short or overload is removed.
Power
The Mega 2560 can be powered via the USB connection or with an
external power supply. The power source is selected automatically.
Vin. The input voltage to the board when it's using an external power
source (as opposed to 5 volts from the USB connection or ot her regulated
power source). You can supply voltage through this pin, or, if supplying
voltage via the power jack, access it through this pin.
5V. This pin outputs a regulated 5V from the regulator on the board. The
board can be supplied with power either from the DC power jack (7 - 12V),
the USB connector (5V), or the VIN pin of the board (7-12V). Supplying
voltage via the 5V or 3.3V pins bypasses the regulator, and can damage
your board. We don't advise it.
3V3. A 3.3 volt supply generated by the on-board regulator. Maximum
current draw is 50 mA.
GND. Ground pins.
IOREF. This pin on the board provides the voltage reference with which
the microcontroller operates. A properly configured shield can read the
IOREF pin voltage and select the appropriate power source or enable
voltage translators on the outputs for working with the 5V or 3.3V.
Memory
The ATmega2560 has 256 KB of flash memory for storing co de (of which
8 KB is used for the bootloader), 8 KB of SRAM and 4 KB of EEPROM
(which can be read and written with the EEPROM library).
Each of the 54 digital pins on the Mega can be used as an input or output,
using pinMode(),digitalWrite(), and digitalRead() functions. They operate
at 5 volts. Each pin can provide or receive 20 mA as recommended
operating condition and has an internal pull-up resistor (disconnected by
default) of 20-50 k ohm. A maximum of 40mA is the value that must not be
exceeded to avoid permanent damage to the microcontroller.
Serial: 0 (RX) and 1 (TX); Serial 1: 19 (RX) and 18 (TX); Serial 2: 17 (RX)
and 16 (TX); Serial 3: 15 (RX) and 14 (TX). Used to receive (RX) and
transmit (TX) TTL serial data. Pins 0 and 1 are also connected to the
corresponding pins of the ATmega16U2 USB-to-TTL Serial chip.
External Interrupts: 2 (interrupt 0), 3 (interrupt 1), 18 (interrupt 5), 19
(interrupt 4), 20 (interrupt 3), and 21 (interrupt 2). These pins can be
configured to trigger an interrupt on a low level, a rising or falling edge, or
a change in level. See the attachInterrupt() function for details.
PWM: 2 to 13 and 44 to 46. Provide 8-bit PWM output with
the analogWrite() function.
SPI: 50 (MISO), 51 (MOSI), 52 (SCK), 53 (SS). These pins support SPI
communication using theSPI library. The SPI pins are also broken out on
the ICSP header, which is physically compatible with the Arduino
/Genuino Uno and the old Duemilanove and Diecimila Arduino boards.
LED: 13. There is a built-in LED connected to digital pin 13. When the pin
is HIGH value, the LED is on, when the pin is LOW, it's off.
TWI: 20 (SDA) and 21 (SCL). Support TWI communication using the Wire
library. Note that these pins are not in the same location as the TWI pins
on the old Duemilanove or Diecimila Arduino boards.
Communication
The Mega 2560 board has a number of facilities for communicating with a
computer, another board, 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 (IDE) includes a serial monitor which
allows simple textual data to be sent to and from the board. Th e 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).
The Mega 2560 also supports TWI and SPI communication. The Arduino
Software (IDE) includes a Wire library to simplify use of the TWI bus; see
the documentation for details. For SPI communication, use the SPI library.
Physical Characteristics and Shield Compatibility
The maximum length and width of the Mega 2560 PCB are 4 and 2.1
inches respectively, with the USB connector and power jack extending
beyond the former dimension. Three screw holes allow the board to be
attached to a surface or case. Note that the distance between digital pins
7 and 8 is 160 mil (0.16"), not an even multiple of the 100 mil spacing of
the other pins.
The Mega 2560 board contains a trace that can be cut to disable the auto -
reset. 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.
Revisions
The Mega 2560 does not use the FTDI USB-to-serial driver chip used in
past designs. Instead, it features the ATmega16U2 (ATmega8U2 in the
revision 1 and revision 2 Arduino boards) programmed as a USB-to-serial
converter.
Revision 2 of the Mega 2560 board has a resistor pulling the 8U2 HWB
line to ground, making it easier to put into DFU mode.
Revision 3 of the Arduino board and the current Genuino Mega 2560 have
the following improved features:
1.0 pinout: SDA and SCL pins - 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 board that uses ATSAM3X8E, that operate with 3.3V. The
second one is a not connected pin, that is reserved for future pu rposes.
Stronger RESET circuit.
Atmega 16U2 replace the 8U2.