Main.ArduinoBoardMega2560 History

Hide minor edits - Show changes to output

August 20, 2015, at 11:37 AM by Alice Pintus -
Changed line 25 from:
English (英语)
to:
English
Changed line 29 from:
<li class="selected">English (英语)</li>
to:
<li class="selected">English</li>
Changed line 83 from:
The Arduino/Genuino Mega 2560 is a microcontroller board based on the ATmega2560 (<a href="http://www.atmel.com/Images/Atmel-2549-8-bit-AVR-Microcontroller-ATmega640-1280-1281-2560-2561_datasheet.pdf">datasheet</a>). It has 54 digital input/output pins (of which 15
to:
The Arduino/Genuino Mega 2560 is a microcontroller board based on the <a href="http://www.atmel.com/Images/Atmel-2549-8-bit-AVR-Microcontroller-ATmega640-1280-1281-2560-2561_datasheet.pdf">ATmega2560</a>. It has 54 digital input/output pins (of which 15
Changed line 420 from:
Chinese(中文)
to:
中文 (Chinese)
Changed lines 424-425 from:
<li class="selected">Chinese(中文)</li>
<li><a href="?setlang=en">English(英语)</a></li>
to:
<li class="selected">中文 (Chinese)</li>
<li><a href="?setlang=en">英语 (English)</a></li>
August 10, 2015, at 01:02 PM by Simone Maiocchi -
August 10, 2015, at 12:58 PM by Simone Maiocchi -
Changed lines 496-497 from:
<li>如果对硬件产品有问题,请咨询<a href="https://store.arduino.cc/index.php?main_page=contact_us&language=en"> 技术支持团队</li></ul>
to:
<li>如果对硬件产品有问题,请咨询<a href="https://store.arduino.cc/index.php?main_page=contact_us&language=en"> 技术支持团队</a></li>
</ul>
August 10, 2015, at 12:53 PM by Simone Maiocchi -
Changed line 490 from:
</div>
to:
August 10, 2015, at 12:53 PM by Simone Maiocchi -
Changed line 491 from:
<div>
to:
<div>
Changed lines 498-501 from:
</div>
</div>

to:
</div>
</div>
August 10, 2015, at 12:44 PM by Simone Maiocchi -
Added line 490:
</div>
August 10, 2015, at 12:40 PM by Simone Maiocchi -
Changed line 481 from:
Arduino的/ GENUINO兆2560是一个更新到<a href="en/Main/ArduinoBoardMega">Arduino Mega</a> ,它取代。
to:
Arduino/Genuino MEGA 2560是一个基于<a href="en/Main/ArduinoBoardMega">Arduino Mega</a> 迭代的产品。
August 10, 2015, at 12:37 PM by Simone Maiocchi -
August 10, 2015, at 12:34 PM by Simone Maiocchi -
Changed lines 490-496 from:
<div>
<div class="subtitle">需要帮助?</div>
<ul class="textindent">
<li>在对<a href="https://forum.arduino.cc/index.php?board=63.0">Arduino的论坛</a>软件</li>
<li>论<a href="https://forum.arduino.cc/index.php?board=3.0">Arduino的论坛</a>项目</li>
<li>通过我们的<a href="https://store.arduino.cc/index.php?main_page=contact_us&language=en">客户支持</a>产品本身</li></ul>
</div>
to:
<div>
<div class="subtitle">需要帮助?</div>
<ul class="textindent">
<li>如果对软件有问题,请进入<a href="https://forum.arduino.cc/index.php?board=63.0"> Arduino论坛。</a></li>
<li>如果对项目制作有问题,请进入<a href="https://forum.arduino.cc/index.php?board=3.0"> Arduino论坛。</a></li>
<li>如果对硬件产品有问题,请咨询<a href="https://store.arduino.cc/index.php?main_page=contact_us&language=en"> 技术支持团队</li></ul>
</div>
Changed line 739 from:
(:htmlend:)
to:
(:htmlend:)
August 10, 2015, at 12:00 PM by Simone Maiocchi -
Changed line 448 from:
<a href="http://world.taobao.com/item/520190101634.htm?fromSite=main&spm=a312a.7700824.w4002-11172317909.9.InD5Zn" rel="nofollow"><button class="button orange-button">現在去購物</button></a>
to:
<a href="http://world.taobao.com/item/520190101634.htm?fromSite=main&spm=a312a.7700824.w4002-11172317909.9.InD5Zn" rel="nofollow"><button class="button orange-button">立即购买</button></a>
August 07, 2015, at 03:50 PM by Ramona Banfi -
Changed line 18 from:
<a class="wikilink" href="/en/Main/Products">Arduino Products/a>
to:
<a class="wikilink" href="/en/Main/Products">Arduino Products</a>
August 07, 2015, at 03:49 PM by Ramona Banfi -
Changed lines 9-10 from:
(:if lang cn:)
to:

(:if lang en :)
Changed lines 12-19 from:
<div class="product-page">
<div class="subHeader row">

<div class="breadcrumb columns large-10 medium-10">
<p>
<a class="wikilink" href="/cn/Main/Landingpage">欢迎来到Genuino的世界 </a>
> 产品 > Genuino MEGA 2560
</p>
to:

<div class="product-page">
<div class="subHeader row">

<div class="breadcrumb columns large-10 medium-10">
<p>
<a class="wikilink" href="/en/Main/Products">Arduino Products/a>
> Arduino/Genuino MEGA 2560
</p>
</div>

<div class="language-dropdown columns large-2 medium-2">
<a href="#" class="current">
English (英语)
</a>
<a href="#" class="selector"></a>
<ul>
<li class="selected">English (英语)</li>
<li><a href="?setlang=cn">中文 (Chinese)</a></li>
</ul>
</div>

</div>

<div class="product-page-header">

<img class="header-imagemega" src="/en/uploads/Main/ArdGen_Mega.jpg">

<div class="text-column">
<div class="titolo mega">Arduino / Genuino MEGA 2560</div>
<div class="description">Arduino/Genuino MEGA 2560 is designed for
more complex projects. With 54 digital I/O pins,
16 analog inputs and a larger space for your
sketch it is the recommended board for 3D printers
and robotics projects. This gives your projects
plenty of room and opportunities.


</div>
Changed lines 53-61 from:
<div class="language-dropdown columns large-2 medium-2">
<a href="#" class="current">
Chinese(中文)
</a>
<a href="#" class="selector"></a>
<ul>
<li class="selected">Chinese(中文)</li>
<li><a href="?setlang=en">English(英语)</a></li>
</ul>
to:
<div class="buttons">
<a href="/en/Guide/HomePage" rel="nofollow"><button class="button blue-button">GETTING STARTED</button></a>
<a href="https://store.arduino.cc/product/A000067" rel="nofollow"><button class="button orange-button">SHOP NOW</button></a>
Changed lines 60-79 from:
<div class="product-page-header">

<img class="header-imagemega" src="/en/uploads/Main/ArdGen_Mega.jpg">

<div class="text-column">
<div class="titolo mega">Arduino / Genuino MEGA 2560</div>
<div class="description">Arduino/ Genuino MEGA 2560专为更复杂的项
目而设计。该开发板设有54路数字输入
/输出引脚、16路模拟输入以及更大的
草图空间。该开发板已成为大多数3D打
印机和机器人项目的基础。
这能为您的项目提供足够的空间和机会。

</div>
</div>

<div class="buttons chinese">
<a href="http://world.taobao.com/item/520190101634.htm?fromSite=main&spm=a312a.7700824.w4002-11172317909.9.InD5Zn" rel="nofollow"><button class="button orange-button">現在去購物</button></a>
</div>
to:
<div class="row">
<div class="large-2 medium-2 columns menu">
<ul class="product-page-nav">
<li><a href="#overview">Overview</a></li>
<li><a href="#techspecs">Technical Specs</a></li>
<li><a href="#documentation">Documentation</a></li>
</ul>
Changed lines 69-75 from:
<div class="row">
<div class="large-2 medium-2 columns menu">
<ul class="product-page-nav">
<li><a href="#overview">概况</a></li>
<li><a href="#techspecs">技术规格</a></li>
<li><a href="#documentation">文件</a></li>
</ul>
to:
<div class="large-10 medium-10 columns">

<div id="overview">
<div class="title1margintop">Overview</div>

<div class="box red">5V</div>
<div class="box orange">8-bit</div>
<div class="box brown">16 MHz</div>
<div class="box blue">AVR</div>


<div class="textsummary">

<div>
The Arduino/Genuino Mega 2560 is a microcontroller board based on the ATmega2560 (<a href="http://www.atmel.com/Images/Atmel-2549-8-bit-AVR-Microcontroller-ATmega640-1280-1281-2560-2561_datasheet.pdf">datasheet</a>). 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-to-DC adapter or battery to get started. The Mega 2560 board is compatible with most shields designed for Arduino/Genuino Uno
and the former boards Duemilanove or Diecimila.
</div>
<div>
The Arduino/Genuino Mega 2560 is an update to the <a href="en/Main/ArduinoBoardMega">Arduino Mega</a>, which it replaces.
</div>
<div>
You can find <a href="/en/Main/warranty">here</a> your board warranty informations.
</div>
<div>
<div class="subtitle">Getting Started</div>
You can find in the <a href="/en/Guide/HomePage">Getting Started section</a> all the information you need to configure your board,
use the Arduino Software (IDE), and start tinker with coding and electronics.
</div>
<div>
<div class="subtitle">Need Help?</div>
<ul class="textindent">
<li>On the Software <a href="https://forum.arduino.cc/index.php?board=63.0">on the Arduino Forum</a></li>
<li>On Projects <a href="https://forum.arduino.cc/index.php?board=3.0">on the Arduino Forum</a></li>
<li>On the Product itself through <a href="https://store.arduino.cc/index.php?main_page=contact_us&language=en">our Customer Support</a></li>
</ul>
</div>
</div>
Changed lines 111-123 from:
<div class="large-10 medium-10 columns">

<div id="overview">
<div class="title1margintop">概况</div>

<div class="box red">5V</div>
<div class="box orange">8-bit</div>
<div class="box brown">16 MHz</div>
<div class="box blue">AVR</div>


<div class="textsummary">
to:

<div id="techspecs">
<div class="title1margintop">Technical specs</div>
<div class="textsummary">
<table>
<tbody>

<tr>
<td>Microcontroller</td>
<td><a href="http://www.atmel.com/Images/Atmel-2549-8-bit-AVR-Microcontroller-ATmega640-1280-1281-2560-2561_datasheet.pdf">ATmega2560</a></td>
</tr>

<tr>
<td>Operating Voltage</td>
<td>5V</td>
</tr>

<tr>
<td>Input Voltage (recommended)</td>
<td>7-12V</td>
</tr>

<tr>
<td>Input Voltage (limit)</td>
<td>6-20V</td>
</tr>

<tr>
<td>Digital I/O Pins</td>
<td>54 (of which 15 provide PWM output)</td>
</tr>

<tr>
<td>Analog Input Pins</td>
<td>16</td>
</tr>

<tr>
<td>DC Current per I/O Pin</td>
<td>20 mA</td>
</tr>

<tr>
<td>DC Current for 3.3V Pin</td>
<td>50 mA</td>
</tr>

<tr>
<td>Flash Memory</td>
<td>256 KB of which 8 KB used by bootloader</td>
</tr>

<tr>
<td>SRAM</td>
<td>8 KB</td>
</tr>

<tr>
<td>EEPROM</td>
<td>4 KB</td>
</tr>

<tr>
<td>Clock Speed</td>
<td>16 MHz</td>
</tr>

<tr>
<td>Length</td>
<td>101.52 mm</td>
</tr>

<tr>
<td>Width</td>
<td>53.3 mm</td>
</tr>

<tr>
<td>Weight</td>
<td>37 g</td>
</tr>

</tbody>
</table>


</div>
</div>

<div id="documentation">
<div class="title1margintop">Documentation</div>
<div class="textsummary">
Changed lines 205-207 from:
Genuino Mega 2560是基于ATmega2560(<a href="http://www.atmel.com/Images/Atmel-2549-8-bit-AVR-Microcontroller-ATmega640-1280-1281-2560-2561_datasheet.pdf">数据表</a>)的单片机开发板。
该开发板由54路数字输入/输出引脚(其中15路可以用作PWM输出)、16路模拟输入、4个UART(硬件串口)、1个16MHz的晶体振荡器、1个USB接口、1个电源接头、1个ICSP接口以及1个复位按钮组成。它包含了单片机运行所需的所有要素,
使用USB连接线将其连接到计算机、利用AC-DC适配器或电池供电后即可使用。Mega能与绝大部分为Arduino/Genuino Uno设计的sheild兼容。
to:
<div class="subtitle">OSH: Schematics, Reference Design, Board size</div>
Arduino / Genuino Mega 2560 is open-source hardware! You can build your own board using the follwing files:
Added lines 208-214:


<a href="/en/uploads/Main/arduino-mega2560_R3-ref-design.zip"><div class="rectdocumentation yellow"><div class="immrect"><img src="/en/uploads/Main/eaglefile.svg" alt="EAGLE" style="width:64px; height:47px;"></div><div class="textrect">EAGLE FILES<br> IN .ZIP</div> </div></a>
<a href="/en/uploads/Main/arduino-mega2560_R3-sch.pdf"><div class="rectdocumentation brown"><div class="immrect"><img src="/en/uploads/Main/schematicsfile.svg" alt="PDF" style="width:48px; height:48px;"></div><div class="textrect margin">SCHEMATICS<br> IN .PDF</div></div></a>
<a href="http://arduino.cc/documents/dimensioni%20Mega.dxf"><div class="rectdocumentation orange"><div class="immrect"><img src="/en/uploads/Main/boardsizefile.svg" alt="DXF" style="width:79px; height:48px;"></div><div class="textrect margintwo">BOARD SIZE<br> IN .DXF</div></div></a>

Changed lines 216-217 from:
Arduino的/ GENUINO兆2560是一个更新到<a href="en/Main/ArduinoBoardMega">Arduino Mega</a> ,它取代。
to:
<div class="subtitle">Programming</div>
The Arduino/Genuino 2560 Mega board can be programmed with the <a href="/en/Main/Software">Arduino Software (IDE)</a>. For details, see the <a href="/en/Reference/HomePage">reference</a> and <a href="/en/Tutorial/HomePage">tutorials</a>.
Added line 219:
Changed lines 221-222 from:
您可以在<a href="/en/Main/warranty">这里</a>找到有关开发板的保修信息。
to:
The ATmega2560 on the Arduino/Genuino Mega 2560 comes preprogrammed with a <a href="/en/Hacking/Bootloader?from=Tutorial.Bootloader">bootloader</a> that allows you to upload new code to it
without the use of an external hardware programmer. It communicates using the original STK500 protocol (<a href="http://www.atmel.com/Images/doc2525.pdf">reference</a>, <a href="http://www.atmel.com/dyn/resources/prod_documents/avr061.zip">C header files</a>).
Added line 224:
Changed lines 226-227 from:
<div class="subtitle">入门指南</div>
您可以在入门指南部分找到所有配置开发板、使用Arduino软件(IDE)以及<a href="/en/Guide/HomePage">开始</a>编码和摆弄电子产品所需的所有信息。
to:
You can also bypass the bootloader and program the microcontroller through the ICSP (In-Circuit Serial Programming) header using
<a href="/en/Main/ArduinoISP">Arduino ISP</a> or similar; see these <a href="/en/Hacking/Programmer">instructions for details</a>.
Added line 229:
Changed lines 231-235 from:
<div class="subtitle">需要帮助?</div>
<ul class="textindent">
<li>在对<a href="https://forum.arduino.cc/index.php?board=63.0">Arduino的论坛</a>软件</li>
<li>论<a href="https://forum.arduino.cc/index.php?board=3.0">Arduino的论坛</a>项目</li>
<li>通过我们的<a href="https://store.arduino.cc/index.php?main_page=contact_us&language=en">客户支持</a>产品本身</li></ul>
to:
The ATmega16U2 (or 8U2 in the rev1 and rev2 boards) firmware source code is available in the <a href="https://github.com/arduino/Arduino/tree/master/hardware/arduino/avr/firmwares/">Arduino repository</a>.
The ATmega16U2/8U2 is loaded with a DFU bootloader, which can be activated by:
<ul class="textindent">
<li>On Rev1 boards: connecting the solder jumper on the back of the board (near the map of Italy) and then resetting the 8U2.</li>
<li>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 <a href="http://www.atmel.com/dyn/products/tools_card.asp?tool_id=3886">Atmel's FLIP software </a>(Windows) or the <a href="http://dfu-programmer.sourceforge.net/">DFU programmer </a>(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 <a href="http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1285962838">this user-contributed tutorial</a> for more information.</li>
</ul>
Changed lines 240-245 from:
</div>
</div>


<div id="techspecs">
<div class="title1margintop">技术规格</div>
to:

<div>
<div class="subtitle">Warnings</div>
The Arduino/Genuino 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.
</div>


<div>
<div class="subtitle">Power</div>
The Arduino/Genuino Mega 2560 can be powered via the USB connection or with an external power supply. The power source is selected automatically.
</div>
<div>
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.
</div>
<div>
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 become unstable. If using more than 12V, the voltage regulator may overheat and damage the board. The recommended range is 7 to 12 volts.
</div>

<div>
The power pins are as follows:<br>
<ul class="textindent">
<li> 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 other regulated power source).
You can supply voltage through this pin, or, if supplying voltage via the power jack, access it through this pin.</li>
<li>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.</li>
<li>3V3. A 3.3 volt supply generated by the on-board regulator. Maximum current draw is 50 mA.</li>
<li>GND. Ground pins.</li>
<li>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.</li>
</ul>
</div>

<div>
<div class="subtitle">Memory</div>
The ATmega2560 has 256 KB of flash memory for storing code (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 <a href="/en/Reference/EEPROM">EEPROM library</a>).
</div>

<div>
<div class="subtitle">Input and Output</div>
<div>
See the mapping between Arduino pins and Atmega2560 ports:</div>
<a href="/en/Hacking/PinMapping2560"><div class="rectdocumentation green"><div class="immrect"><img src="/en/uploads/Main/pin_mapping.svg" alt="PIN_MAPPING" style="width:55px; height:46px;"></div><div class="textrect">PIN MAPPING<br>Atmega2560</div> </div></a>

<div>
Each of the 54 digital pins on the Mega can be used as an input or output, using <a href="/en/Reference/PinMode">pinMode()</a>, <a href="/en/Reference/DigitalWrite">digitalWrite()</a>, and <a href="/en/Reference/DigitalRead">digitalRead()</a> 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.
</div>

<div>
In addition, some pins have specialized functions:<br>
<ul class="textindent">
<li>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.</li>
<li>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 <a href="/en/Reference/AttachInterrupt">attachInterrupt()</a> function for details.</li>
<li>PWM: 2 to 13 and 44 to 46. Provide 8-bit PWM output with the <a href="/en/Reference/AnalogWrite">analogWrite()</a> function.</li>
<li>SPI: 50 (MISO), 51 (MOSI), 52 (SCK), 53 (SS). These pins support SPI communication using the <a href="/en/Reference/SPI">SPI library</a>. 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.</li>
<li>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.</li>
<li>TWI: 20 (SDA) and 21 (SCL). Support TWI communication using the <a href="/en/Reference/Wire">Wire library</a>. Note that these pins are not in the same location as the TWI
pins on the old Duemilanove or Diecimila Arduino boards.</li></ul>

See also the mapping Arduino Mega 2560 PIN diagram.
</div>
</div>
<div>
Arduino/Genuino Mega 2560 has 16 analog inputs, each of which provide 10 bits of resolution (i.e. 1024 different values). By default they measure from ground to 5 volts,
though is it possible to change the upper end of their range using the AREF pin and <a href="/en/Reference/AnalogReference">analogReference()</a> function.<br>
There are a couple of other pins on the board:<br>
<ul class="textindent">
<li>AREF. Reference voltage for the analog inputs. Used with analogReference().</li>
<li>Reset. Bring this line LOW to reset the microcontroller. Typically used to add a reset button to shields which block the one on the board.</li>
</ul>
</div>


<div>
<div class="subtitle">Communication</div>
The Arduino/Genuino 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. 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).
</div>

<div>
A <a href="/en/Reference/SoftwareSerial">SoftwareSerial library</a> allows for serial communication on any of the Mega 2560's digital pins.
</div>

<div>
The Arduino/Genuino 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 <a href="/en/Reference/Wire">documentation</a> for details. For SPI communication, use the <a href="/en/Reference/SPI">SPI library</a>.
</div>

<div>
<div class="subtitle">Physical Characteristics and Shield Compatibility</div>
The maximum length and width of the Arduino/Genuino 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.
</div>

<div>
Arduino/Genuino Mega 2560 is designed to be compatible with most shields designed for Arduino/Genuino Uno and the older Diecimila or Duemilanove Arduino boards.
Digital pins 0 to 13 (and the adjacent AREF and GND pins), analog inputs 0 to 5, the power header, and ICSP header are all in equivalent locations.
Furthermore, the main UART (serial port) is located on the same pins (0 and 1), as are external interrupts 0 and 1 (pins 2 and 3 respectively).
SPI is available through the ICSP header on both the Arduino/Genuino Mega 2560 and Duemilanove / Diecimila boards. Please note that I2C is not located on
the same pins on the Mega 2560 board (20 and 21) as the Duemilanove / Diecimila boards (analog inputs 4 and 5).
</div>


<div>
<div class="subtitle">Automatic (Software) Reset</div>
Rather then requiring a physical press of the reset button before an upload, the Arduino/Genuino Mega 2560 is designed in a way that allows it to be
reset by software running on a connected computer. One of the hardware flow control lines (DTR) of the ATmega8U2 is connected to the reset line of the
ATmega2560 via a 100 nanofarad capacitor. When this line is asserted (taken low), the reset line drops long enough to reset the chip. The Arduino Software (IDE)
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.
</div>

<div>
This setup has other implications. When the Arduino/Genuino Mega 2560 board 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 ATMega2560. 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.
</div>

<div>
The Arduino/Genuino 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 <a href="http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1213719666/all">this
forum thread</a> for details.
</div>


<div>
<div class="subtitle">Revisions</div>
Arduino/Genuino 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. <br>Revision 2 of the Mega 2560 board has a resistor pulling the 8U2 HWB line to ground, making it easier to put into <a href="/en/Hacking/DFUProgramming8U2">DFU mode.</a><br>
Revision 3 of the Arduino board and the current Genuino Mega 2560 have the following improved features:
<ul class="textindent">
<li>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 purposes.</li>
<li>Stronger RESET circuit.</li>
<li>Atmega 16U2 replace the 8U2.</li>
</ul>
</div>

</div>
</div>




</div>
</div>

</div>
(:htmlend:)

(:if lang cn:)
(:html:)
<div class="product-page">
<div class="subHeader row">

<div class="breadcrumb columns large-10 medium-10">
<p>
<a class="wikilink" href="/cn/Main/Landingpage">欢迎来到Genuino的世界 </a>
> 产品 > Genuino MEGA 2560
</p>
</div>

<div class="language-dropdown columns large-2 medium-2">
<a href="#" class="current">
Chinese(中文)
</a>
<a href="#" class="selector"></a>
<ul>
<li class="selected">Chinese(中文)</li>
<li><a href="?setlang=en">English(英语)</a></li>
</ul>
</div>

</div>

<div class="product-page-header">

<img class="header-imagemega" src="/en/uploads/Main/ArdGen_Mega.jpg">

<div class="text-column">
<div class="titolo mega">Arduino / Genuino MEGA 2560</div>
<div class="description">Arduino/ Genuino MEGA 2560专为更复杂的项
目而设计。该开发板设有54路数字输入
/输出引脚、16路模拟输入以及更大的
草图空间。该开发板已成为大多数3D打
印机和机器人项目的基础。
这能为您的项目提供足够的空间和机会。

</div>
</div>

<div class="buttons chinese">
<a href="http://world.taobao.com/item/520190101634.htm?fromSite=main&spm=a312a.7700824.w4002-11172317909.9.InD5Zn" rel="nofollow"><button class="button orange-button">現在去購物</button></a>
</div>

</div>

<div class="row">
<div class="large-2 medium-2 columns menu">
<ul class="product-page-nav">
<li><a href="#overview">概况</a></li>
<li><a href="#techspecs">技术规格</a></li>
<li><a href="#documentation">文件</a></li>
</ul>
</div>

<div class="large-10 medium-10 columns">

<div id="overview">
<div class="title1margintop">概况</div>

<div class="box red">5V</div>
<div class="box orange">8-bit</div>
<div class="box brown">16 MHz</div>
<div class="box blue">AVR</div>

Added lines 474-503:

<div>
Genuino Mega 2560是基于ATmega2560(<a href="http://www.atmel.com/Images/Atmel-2549-8-bit-AVR-Microcontroller-ATmega640-1280-1281-2560-2561_datasheet.pdf">数据表</a>)的单片机开发板。
该开发板由54路数字输入/输出引脚(其中15路可以用作PWM输出)、16路模拟输入、4个UART(硬件串口)、1个16MHz的晶体振荡器、1个USB接口、1个电源接头、1个ICSP接口以及1个复位按钮组成。它包含了单片机运行所需的所有要素,
使用USB连接线将其连接到计算机、利用AC-DC适配器或电池供电后即可使用。Mega能与绝大部分为Arduino/Genuino Uno设计的sheild兼容。
</div>
<div>
Arduino的/ GENUINO兆2560是一个更新到<a href="en/Main/ArduinoBoardMega">Arduino Mega</a> ,它取代。
</div>
<div>
您可以在<a href="/en/Main/warranty">这里</a>找到有关开发板的保修信息。
</div>
<div>
<div class="subtitle">入门指南</div>
您可以在入门指南部分找到所有配置开发板、使用Arduino软件(IDE)以及<a href="/en/Guide/HomePage">开始</a>编码和摆弄电子产品所需的所有信息。
</div>
<div>
<div class="subtitle">需要帮助?</div>
<ul class="textindent">
<li>在对<a href="https://forum.arduino.cc/index.php?board=63.0">Arduino的论坛</a>软件</li>
<li>论<a href="https://forum.arduino.cc/index.php?board=3.0">Arduino的论坛</a>项目</li>
<li>通过我们的<a href="https://store.arduino.cc/index.php?main_page=contact_us&language=en">客户支持</a>产品本身</li></ul>
</div>
</div>
</div>


<div id="techspecs">
<div class="title1margintop">技术规格</div>
<div class="textsummary">
Deleted lines 739-1133:
(:if lang en :)
(:html:)

<div class="product-page">
<div class="subHeader row">

<div class="breadcrumb columns large-10 medium-10">
<p>
<a class="wikilink" href="/en/Main/Products">Arduino Products/a>
> Arduino/Genuino MEGA 2560
</p>
</div>

<div class="language-dropdown columns large-2 medium-2">
<a href="#" class="current">
English (英语)
</a>
<a href="#" class="selector"></a>
<ul>
<li class="selected">English (英语)</li>
<li><a href="?setlang=cn">中文 (Chinese)</a></li>
</ul>
</div>

</div>

<div class="product-page-header">

<img class="header-imagemega" src="/en/uploads/Main/ArdGen_Mega.jpg">

<div class="text-column">
<div class="titolo mega">Arduino / Genuino MEGA 2560</div>
<div class="description">Arduino/Genuino MEGA 2560 is designed for
more complex projects. With 54 digital I/O pins,
16 analog inputs and a larger space for your
sketch it is the recommended board for 3D printers
and robotics projects. This gives your projects
plenty of room and opportunities.


</div>
</div>

<div class="buttons">
<a href="/en/Guide/HomePage" rel="nofollow"><button class="button blue-button">GETTING STARTED</button></a>
<a href="https://store.arduino.cc/product/A000067" rel="nofollow"><button class="button orange-button">SHOP NOW</button></a>
</div>

</div>

<div class="row">
<div class="large-2 medium-2 columns menu">
<ul class="product-page-nav">
<li><a href="#overview">Overview</a></li>
<li><a href="#techspecs">Technical Specs</a></li>
<li><a href="#documentation">Documentation</a></li>
</ul>
</div>

<div class="large-10 medium-10 columns">

<div id="overview">
<div class="title1margintop">Overview</div>

<div class="box red">5V</div>
<div class="box orange">8-bit</div>
<div class="box brown">16 MHz</div>
<div class="box blue">AVR</div>


<div class="textsummary">

<div>
The Arduino/Genuino Mega 2560 is a microcontroller board based on the ATmega2560 (<a href="http://www.atmel.com/Images/Atmel-2549-8-bit-AVR-Microcontroller-ATmega640-1280-1281-2560-2561_datasheet.pdf">datasheet</a>). 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-to-DC adapter or battery to get started. The Mega 2560 board is compatible with most shields designed for Arduino/Genuino Uno
and the former boards Duemilanove or Diecimila.
</div>
<div>
The Arduino/Genuino Mega 2560 is an update to the <a href="en/Main/ArduinoBoardMega">Arduino Mega</a>, which it replaces.
</div>
<div>
You can find <a href="/en/Main/warranty">here</a> your board warranty informations.
</div>
<div>
<div class="subtitle">Getting Started</div>
You can find in the <a href="/en/Guide/HomePage">Getting Started section</a> all the information you need to configure your board,
use the Arduino Software (IDE), and start tinker with coding and electronics.
</div>
<div>
<div class="subtitle">Need Help?</div>
<ul class="textindent">
<li>On the Software <a href="https://forum.arduino.cc/index.php?board=63.0">on the Arduino Forum</a></li>
<li>On Projects <a href="https://forum.arduino.cc/index.php?board=3.0">on the Arduino Forum</a></li>
<li>On the Product itself through <a href="https://store.arduino.cc/index.php?main_page=contact_us&language=en">our Customer Support</a></li>
</ul>
</div>
</div>
</div>


<div id="techspecs">
<div class="title1margintop">Technical specs</div>
<div class="textsummary">
<table>
<tbody>

<tr>
<td>Microcontroller</td>
<td><a href="http://www.atmel.com/Images/Atmel-2549-8-bit-AVR-Microcontroller-ATmega640-1280-1281-2560-2561_datasheet.pdf">ATmega2560</a></td>
</tr>

<tr>
<td>Operating Voltage</td>
<td>5V</td>
</tr>

<tr>
<td>Input Voltage (recommended)</td>
<td>7-12V</td>
</tr>

<tr>
<td>Input Voltage (limit)</td>
<td>6-20V</td>
</tr>

<tr>
<td>Digital I/O Pins</td>
<td>54 (of which 15 provide PWM output)</td>
</tr>

<tr>
<td>Analog Input Pins</td>
<td>16</td>
</tr>

<tr>
<td>DC Current per I/O Pin</td>
<td>20 mA</td>
</tr>

<tr>
<td>DC Current for 3.3V Pin</td>
<td>50 mA</td>
</tr>

<tr>
<td>Flash Memory</td>
<td>256 KB of which 8 KB used by bootloader</td>
</tr>

<tr>
<td>SRAM</td>
<td>8 KB</td>
</tr>

<tr>
<td>EEPROM</td>
<td>4 KB</td>
</tr>

<tr>
<td>Clock Speed</td>
<td>16 MHz</td>
</tr>

<tr>
<td>Length</td>
<td>101.52 mm</td>
</tr>

<tr>
<td>Width</td>
<td>53.3 mm</td>
</tr>

<tr>
<td>Weight</td>
<td>37 g</td>
</tr>

</tbody>
</table>


</div>
</div>

<div id="documentation">
<div class="title1margintop">Documentation</div>
<div class="textsummary">

<div>
<div class="subtitle">OSH: Schematics, Reference Design, Board size</div>
Arduino / Genuino Mega 2560 is open-source hardware! You can build your own board using the follwing files:
</div>


<a href="/en/uploads/Main/arduino-mega2560_R3-ref-design.zip"><div class="rectdocumentation yellow"><div class="immrect"><img src="/en/uploads/Main/eaglefile.svg" alt="EAGLE" style="width:64px; height:47px;"></div><div class="textrect">EAGLE FILES<br> IN .ZIP</div> </div></a>
<a href="/en/uploads/Main/arduino-mega2560_R3-sch.pdf"><div class="rectdocumentation brown"><div class="immrect"><img src="/en/uploads/Main/schematicsfile.svg" alt="PDF" style="width:48px; height:48px;"></div><div class="textrect margin">SCHEMATICS<br> IN .PDF</div></div></a>
<a href="http://arduino.cc/documents/dimensioni%20Mega.dxf"><div class="rectdocumentation orange"><div class="immrect"><img src="/en/uploads/Main/boardsizefile.svg" alt="DXF" style="width:79px; height:48px;"></div><div class="textrect margintwo">BOARD SIZE<br> IN .DXF</div></div></a>


<div>
<div class="subtitle">Programming</div>
The Arduino/Genuino 2560 Mega board can be programmed with the <a href="/en/Main/Software">Arduino Software (IDE)</a>. For details, see the <a href="/en/Reference/HomePage">reference</a> and <a href="/en/Tutorial/HomePage">tutorials</a>.
</div>

<div>
The ATmega2560 on the Arduino/Genuino Mega 2560 comes preprogrammed with a <a href="/en/Hacking/Bootloader?from=Tutorial.Bootloader">bootloader</a> that allows you to upload new code to it
without the use of an external hardware programmer. It communicates using the original STK500 protocol (<a href="http://www.atmel.com/Images/doc2525.pdf">reference</a>, <a href="http://www.atmel.com/dyn/resources/prod_documents/avr061.zip">C header files</a>).
</div>

<div>
You can also bypass the bootloader and program the microcontroller through the ICSP (In-Circuit Serial Programming) header using
<a href="/en/Main/ArduinoISP">Arduino ISP</a> or similar; see these <a href="/en/Hacking/Programmer">instructions for details</a>.
</div>

<div>
The ATmega16U2 (or 8U2 in the rev1 and rev2 boards) firmware source code is available in the <a href="https://github.com/arduino/Arduino/tree/master/hardware/arduino/avr/firmwares/">Arduino repository</a>.
The ATmega16U2/8U2 is loaded with a DFU bootloader, which can be activated by:
<ul class="textindent">
<li>On Rev1 boards: connecting the solder jumper on the back of the board (near the map of Italy) and then resetting the 8U2.</li>
<li>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 <a href="http://www.atmel.com/dyn/products/tools_card.asp?tool_id=3886">Atmel's FLIP software </a>(Windows) or the <a href="http://dfu-programmer.sourceforge.net/">DFU programmer </a>(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 <a href="http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1285962838">this user-contributed tutorial</a> for more information.</li>
</ul>
</div>

<div>
<div class="subtitle">Warnings</div>
The Arduino/Genuino 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.
</div>


<div>
<div class="subtitle">Power</div>
The Arduino/Genuino Mega 2560 can be powered via the USB connection or with an external power supply. The power source is selected automatically.
</div>
<div>
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.
</div>
<div>
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 become unstable. If using more than 12V, the voltage regulator may overheat and damage the board. The recommended range is 7 to 12 volts.
</div>

<div>
The power pins are as follows:<br>
<ul class="textindent">
<li> 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 other regulated power source).
You can supply voltage through this pin, or, if supplying voltage via the power jack, access it through this pin.</li>
<li>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.</li>
<li>3V3. A 3.3 volt supply generated by the on-board regulator. Maximum current draw is 50 mA.</li>
<li>GND. Ground pins.</li>
<li>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.</li>
</ul>
</div>

<div>
<div class="subtitle">Memory</div>
The ATmega2560 has 256 KB of flash memory for storing code (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 <a href="/en/Reference/EEPROM">EEPROM library</a>).
</div>

<div>
<div class="subtitle">Input and Output</div>
<div>
See the mapping between Arduino pins and Atmega2560 ports:</div>
<a href="/en/Hacking/PinMapping2560"><div class="rectdocumentation green"><div class="immrect"><img src="/en/uploads/Main/pin_mapping.svg" alt="PIN_MAPPING" style="width:55px; height:46px;"></div><div class="textrect">PIN MAPPING<br>Atmega2560</div> </div></a>

<div>
Each of the 54 digital pins on the Mega can be used as an input or output, using <a href="/en/Reference/PinMode">pinMode()</a>, <a href="/en/Reference/DigitalWrite">digitalWrite()</a>, and <a href="/en/Reference/DigitalRead">digitalRead()</a> 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.
</div>

<div>
In addition, some pins have specialized functions:<br>
<ul class="textindent">
<li>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.</li>
<li>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 <a href="/en/Reference/AttachInterrupt">attachInterrupt()</a> function for details.</li>
<li>PWM: 2 to 13 and 44 to 46. Provide 8-bit PWM output with the <a href="/en/Reference/AnalogWrite">analogWrite()</a> function.</li>
<li>SPI: 50 (MISO), 51 (MOSI), 52 (SCK), 53 (SS). These pins support SPI communication using the <a href="/en/Reference/SPI">SPI library</a>. 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.</li>
<li>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.</li>
<li>TWI: 20 (SDA) and 21 (SCL). Support TWI communication using the <a href="/en/Reference/Wire">Wire library</a>. Note that these pins are not in the same location as the TWI
pins on the old Duemilanove or Diecimila Arduino boards.</li></ul>

See also the mapping Arduino Mega 2560 PIN diagram.
</div>
</div>
<div>
Arduino/Genuino Mega 2560 has 16 analog inputs, each of which provide 10 bits of resolution (i.e. 1024 different values). By default they measure from ground to 5 volts,
though is it possible to change the upper end of their range using the AREF pin and <a href="/en/Reference/AnalogReference">analogReference()</a> function.<br>
There are a couple of other pins on the board:<br>
<ul class="textindent">
<li>AREF. Reference voltage for the analog inputs. Used with analogReference().</li>
<li>Reset. Bring this line LOW to reset the microcontroller. Typically used to add a reset button to shields which block the one on the board.</li>
</ul>
</div>


<div>
<div class="subtitle">Communication</div>
The Arduino/Genuino 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. 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).
</div>

<div>
A <a href="/en/Reference/SoftwareSerial">SoftwareSerial library</a> allows for serial communication on any of the Mega 2560's digital pins.
</div>

<div>
The Arduino/Genuino 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 <a href="/en/Reference/Wire">documentation</a> for details. For SPI communication, use the <a href="/en/Reference/SPI">SPI library</a>.
</div>

<div>
<div class="subtitle">Physical Characteristics and Shield Compatibility</div>
The maximum length and width of the Arduino/Genuino 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.
</div>

<div>
Arduino/Genuino Mega 2560 is designed to be compatible with most shields designed for Arduino/Genuino Uno and the older Diecimila or Duemilanove Arduino boards.
Digital pins 0 to 13 (and the adjacent AREF and GND pins), analog inputs 0 to 5, the power header, and ICSP header are all in equivalent locations.
Furthermore, the main UART (serial port) is located on the same pins (0 and 1), as are external interrupts 0 and 1 (pins 2 and 3 respectively).
SPI is available through the ICSP header on both the Arduino/Genuino Mega 2560 and Duemilanove / Diecimila boards. Please note that I2C is not located on
the same pins on the Mega 2560 board (20 and 21) as the Duemilanove / Diecimila boards (analog inputs 4 and 5).
</div>


<div>
<div class="subtitle">Automatic (Software) Reset</div>
Rather then requiring a physical press of the reset button before an upload, the Arduino/Genuino Mega 2560 is designed in a way that allows it to be
reset by software running on a connected computer. One of the hardware flow control lines (DTR) of the ATmega8U2 is connected to the reset line of the
ATmega2560 via a 100 nanofarad capacitor. When this line is asserted (taken low), the reset line drops long enough to reset the chip. The Arduino Software (IDE)
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.
</div>

<div>
This setup has other implications. When the Arduino/Genuino Mega 2560 board 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 ATMega2560. 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.
</div>

<div>
The Arduino/Genuino 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 <a href="http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1213719666/all">this
forum thread</a> for details.
</div>


<div>
<div class="subtitle">Revisions</div>
Arduino/Genuino 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. <br>Revision 2 of the Mega 2560 board has a resistor pulling the 8U2 HWB line to ground, making it easier to put into <a href="/en/Hacking/DFUProgramming8U2">DFU mode.</a><br>
Revision 3 of the Arduino board and the current Genuino Mega 2560 have the following improved features:
<ul class="textindent">
<li>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 purposes.</li>
<li>Stronger RESET circuit.</li>
<li>Atmega 16U2 replace the 8U2.</li>
</ul>
</div>

</div>
</div>




</div>
</div>

</div>
(:htmlend:)
August 07, 2015, at 03:31 PM by Ramona Banfi -
Changed line 17 from:
> Genuino MEGA 2560
to:
> 产品 > Genuino MEGA 2560
August 07, 2015, at 03:24 PM by Ramona Banfi -
Changed line 17 from:
> Arduino/Genuino MEGA 2560
to:
> Genuino MEGA 2560
Changed line 31 from:
to:
Changed line 98 from:
<li>通过我们的<a href="https://store.arduino.cc/index.php?main_page=contact_us&language=en">客户支持</a>产品本身</li>
to:
<li>通过我们的<a href="https://store.arduino.cc/index.php?main_page=contact_us&language=en">客户支持</a>产品本身</li></ul>
Changed line 224 from:
<div class="subtitle">Warnings</div>
to:
<div class="subtitle">警告</div>
August 07, 2015, at 03:09 PM by Ramona Banfi -
Changed line 16 from:
<a class="wikilink" href="/en/Main/Products">Arduino的产品</a>
to:
<a class="wikilink" href="/cn/Main/Landingpage">欢迎来到Genuino的世界 </a>
Changed line 23 from:
Chinese
to:
Chinese(中文)
Changed lines 27-28 from:
<li class="selected">Chinese</li>
<li><a href="?setlang=en">English</a></li>
to:
<li class="selected">Chinese(中文)</li>
<li><a href="?setlang=en">English(英语)</a></li>
Changed line 31 from:
to:
Changed lines 356-366 from:
<div class="language-dropdown columns large-2 medium-2">
<a href="#" class="current">
English
</a>
<a href="#" class="selector"></a>
<ul>
<li class="selected">English</li>
<li><a href="?setlang=cn">Chinese</a></li>
</ul>
</div>
to:
<div class="language-dropdown columns large-2 medium-2">
<a href="#" class="current">
English (英语)
</a>
<a href="#" class="selector"></a>
<ul>
<li class="selected">English (英语)</li>
<li><a href="?setlang=cn">中文 (Chinese)</a></li>
</ul>
</div>
August 07, 2015, at 02:56 PM by Ramona Banfi -
Changed line 84 from:
Arduino的/ GENUINO兆2560是一个更新到<a href="en/Main/ArduinoBoardMega">Arduino Mega</a> ,它取代
to:
Arduino的/ GENUINO兆2560是一个更新到<a href="en/Main/ArduinoBoardMega">Arduino Mega</a> ,它取代。
Changed lines 221-222 from:

to:

August 07, 2015, at 02:55 PM by Ramona Banfi -
Added lines 221-222:

Deleted lines 330-343:
<div>
<div class="subtitle">Revisions</div>
Arduino/Genuino 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. <br>Revision 2 of the Mega 2560 board has a resistor pulling the 8U2 HWB line to ground, making it easier to put into <a href="/en/Hacking/DFUProgramming8U2">DFU mode.</a><br>
Revision 3 of the Arduino board and the current Genuino Mega 2560 have the following improved features:
<ul class="textindent">
<li>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 purposes.</li>
<li>Stronger RESET circuit.</li>
<li>Atmega 16U2 replace the 8U2.</li>
</ul>
</div>
Added lines 713-726:
<div>
<div class="subtitle">Revisions</div>
Arduino/Genuino 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. <br>Revision 2 of the Mega 2560 board has a resistor pulling the 8U2 HWB line to ground, making it easier to put into <a href="/en/Hacking/DFUProgramming8U2">DFU mode.</a><br>
Revision 3 of the Arduino board and the current Genuino Mega 2560 have the following improved features:
<ul class="textindent">
<li>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 purposes.</li>
<li>Stronger RESET circuit.</li>
<li>Atmega 16U2 replace the 8U2.</li>
</ul>
</div>
August 07, 2015, at 02:54 PM by Ramona Banfi -
Deleted lines 221-231:
The ATmega16U2 (or 8U2 in the rev1 and rev2 boards) firmware source code is available in the <a href="https://github.com/arduino/Arduino/tree/master/hardware/arduino/avr/firmwares/">Arduino repository</a>.
The ATmega16U2/8U2 is loaded with a DFU bootloader, which can be activated by:
<ul class="textindent">
<li>On Rev1 boards: connecting the solder jumper on the back of the board (near the map of Italy) and then resetting the 8U2.</li>
<li>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 <a href="http://www.atmel.com/dyn/products/tools_card.asp?tool_id=3886">Atmel's FLIP software </a>(Windows) or the <a href="http://dfu-programmer.sourceforge.net/">DFU programmer </a>(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 <a href="http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1285962838">this user-contributed tutorial</a> for more information.</li>
</ul>
</div>

<div>
Deleted lines 724-737:
<div>
<div class="subtitle">Revisions</div>
Arduino/Genuino 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. <br>Revision 2 of the Mega 2560 board has a resistor pulling the 8U2 HWB line to ground, making it easier to put into <a href="/en/Hacking/DFUProgramming8U2">DFU mode.</a><br>
Revision 3 of the Arduino board and the current Genuino Mega 2560 have the following improved features:
<ul class="textindent">
<li>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 purposes.</li>
<li>Stronger RESET circuit.</li>
<li>Atmega 16U2 replace the 8U2.</li>
</ul>
</div>
August 07, 2015, at 12:52 PM by Ramona Banfi -
Changed line 84 from:
The Arduino/Genuino Mega 2560 is an update to the <a href="en/Main/ArduinoBoardMega">Arduino Mega</a>, which it replaces.
to:
Arduino的/ GENUINO兆2560是一个更新到<a href="en/Main/ArduinoBoardMega">Arduino Mega</a> ,它取代
August 07, 2015, at 12:51 PM by Ramona Banfi -
Changed line 268 from:
请参阅Arduino引脚和Atmega2560端口映射图</div>
to:
请参阅Arduino引脚和Atmega2560端口映射图:</div>
August 07, 2015, at 12:50 PM by Ramona Banfi -
Changed line 3 from:
.titolo.mega{ margin-top:10px;font-size: 27px;}
to:
.titolo.mega{ font-size: 27px;margin-top:20px}
Added line 6:
#wikitext .product-page .buttons.chinese{ margin-right: 180px;}
Changed lines 8-9 from:

to:
(:htmlend:)
(:if lang cn:)
(:html:)
Changed line 16 from:
<a class="wikilink" href="/en/Main/Products">Arduino Products</a>
to:
<a class="wikilink" href="/en/Main/Products">Arduino的产品</a>
Changed lines 21-22 from:

to:
<div class="language-dropdown columns large-2 medium-2">
<a href="#" class="current">
Chinese
</a>
<a href="#" class="selector"></a>
<ul>
<li class="selected">Chinese</li>
<li><a href="?setlang=en">English</a></li>
</ul>
</div>
Changed lines 40-47 from:
<div class="description">Arduino/Genuino MEGA 2560 is designed for
more complex projects. With 54 digital I/O pins,
16 analog inputs and a larger space for your
sketch it is the recommended board for 3D printers
and robotics projects. This gives your projects
plenty of room and opportunities.

to:
<div class="description">Arduino/ Genuino MEGA 2560专为更复杂的项
目而设计。该开发板设有54路数字输入
/输出引脚、16路模拟输入以及更大的
草图空间。该开发板已成为大多数3D打
印机和机器人项目的基础。
这能为您的项目提供足够的空间和机会。
Changed lines 50-52 from:
<div class="buttons">
<a href="/en/Guide/HomePage" rel="nofollow"><button class="button blue-button">GETTING STARTED</button></a>
<a href="https://store.arduino.cc/product/A000067" rel="nofollow"><button class="button orange-button">SHOP NOW</button></a>
to:
<div class="buttons chinese">
<a href="http://world.taobao.com/item/520190101634.htm?fromSite=main&spm=a312a.7700824.w4002-11172317909.9.InD5Zn" rel="nofollow"><button class="button orange-button">現在去購物</button></a>
Changed lines 59-61 from:
<li><a href="#overview">Overview</a></li>
<li><a href="#techspecs">Technical Specs</a></li>
<li><a href="#documentation">Documentation</a></li>
to:
<li><a href="#overview">概况</a></li>
<li><a href="#techspecs">技术规格</a></li>
<li><a href="#documentation">文件</a></li>
Changed lines 68-69 from:
<div class="title1margintop">Overview</div>
to:
<div class="title1margintop">概况</div>
Changed lines 79-83 from:
The Arduino/Genuino Mega 2560 is a microcontroller board based on the ATmega2560 (<a href="http://www.atmel.com/Images/Atmel-2549-8-bit-AVR-Microcontroller-ATmega640-1280-1281-2560-2561_datasheet.pdf">datasheet</a>). 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-to-DC adapter or battery to get started. The Mega 2560 board is compatible with most shields designed for Arduino/Genuino Uno
and the former boards Duemilanove or Diecimila.
to:
Genuino Mega 2560是基于ATmega2560(<a href="http://www.atmel.com/Images/Atmel-2549-8-bit-AVR-Microcontroller-ATmega640-1280-1281-2560-2561_datasheet.pdf">数据表</a>)的单片机开发板。
该开发板由54路数字输入/输出引脚(其中15路可以用作PWM输出)、16路模拟输入、4个UART(硬件串口)、1个16MHz的晶体振荡器、1个USB接口、1个电源接头、1个ICSP接口以及1个复位按钮组成。它包含了单片机运行所需的所有要素,
使用USB连接线将其连接到计算机、利用AC-DC适配器或电池供电后即可使用。Mega能与绝大部分为Arduino/Genuino Uno设计的sheild兼容。
Changed line 87 from:
You can find <a href="/en/Main/warranty">here</a> your board warranty informations.
to:
您可以在<a href="/en/Main/warranty">这里</a>找到有关开发板的保修信息。
Changed lines 90-92 from:
<div class="subtitle">Getting Started</div>
You can find in the <a href="/en/Guide/HomePage">Getting Started section</a> all the information you need to configure your board,
use the Arduino Software (IDE), and start tinker with coding and electronics.
to:
<div class="subtitle">入门指南</div>
您可以在入门指南部分找到所有配置开发板、使用Arduino软件(IDE)以及<a href="/en/Guide/HomePage">开始</a>编码和摆弄电子产品所需的所有信息。
Changed line 94 from:
<div class="subtitle">Need Help?</div>
to:
<div class="subtitle">需要帮助?</div>
Changed lines 96-99 from:
<li>On the Software <a href="https://forum.arduino.cc/index.php?board=63.0">on the Arduino Forum</a></li>
<li>On Projects <a href="https://forum.arduino.cc/index.php?board=3.0">on the Arduino Forum</a></li>
<li>On the Product itself through <a href="https://store.arduino.cc/index.php?main_page=contact_us&language=en">our Customer Support</a></li>
</ul>
to:
<li>在对<a href="https://forum.arduino.cc/index.php?board=63.0">Arduino的论坛</a>软件</li>
<li>论<a href="https://forum.arduino.cc/index.php?board=3.0">Arduino的论坛</a>项目</li>
<li>通过我们的<a href="https://store.arduino.cc/index.php?main_page=contact_us&language=en">客户支持</a>产品本身</li>
Changed line 105 from:
<div class="title1margintop">Technical specs</div>
to:
<div class="title1margintop">技术规格</div>
Changed line 111 from:
<td>Microcontroller</td>
to:
<td>微处理器</td>
Changed line 116 from:
<td>Operating Voltage</td>
to:
<td>工作电压</td>
Changed line 121 from:
<td>Input Voltage (recommended)</td>
to:
<td>输入电压(推荐)</td>
Changed line 126 from:
<td>Input Voltage (limit)</td>
to:
<td>输入电压(限值)</td>
Changed lines 131-132 from:
<td>Digital I/O Pins</td>
<td>54 (of which 15 provide PWM output)</td>
to:
<td>数字输入/输出引脚</td>
<td>54路(其中15路可用于PWM输出)</td>
Changed line 136 from:
<td>Analog Input Pins</td>
to:
<td>模拟输入引脚</td>
Changed line 141 from:
<td>DC Current per I/O Pin</td>
to:
<td>I/O引脚电流</td>
Changed line 146 from:
<td>DC Current for 3.3V Pin</td>
to:
<td>3.3V引脚电流</td>
Changed lines 151-152 from:
<td>Flash Memory</td>
<td>256 KB of which 8 KB used by bootloader</td>
to:
<td>Flash</td>
<td>256KB,其中引导程序占用8KB</td>
Changed line 166 from:
<td>Clock Speed</td>
to:
<td>时钟频率</td>
Changed line 171 from:
<td>Length</td>
to:
<td>长</td>
Changed line 176 from:
<td>Width</td>
to:
<td>宽</td>
Changed line 181 from:
<td>Weight</td>
to:
<td>重</td>
Changed line 193 from:
<div class="title1margintop">Documentation</div>
to:
<div class="title1margintop">文件</div>
Changed lines 197-198 from:
<div class="subtitle">OSH: Schematics, Reference Design, Board size</div>
Arduino / Genuino Mega 2560 is open-source hardware! You can build your own board using the follwing files:
to:
<div class="subtitle">OSH:原理图、参考设计和开发板尺寸</div>
Arduino的/ GENUINO是开源硬件!您可以使用下列文件建立自己的主板:
Changed lines 208-209 from:
<div class="subtitle">Programming</div>
The Arduino/Genuino 2560 Mega board can be programmed with the <a href="/en/Main/Software">Arduino Software (IDE)</a>. For details, see the <a href="/en/Reference/HomePage">reference</a> and <a href="/en/Tutorial/HomePage">tutorials</a>.
to:
<div class="subtitle">编程</div>
Genuino Mega 2560可通过Arduino IDE (<a href="/en/Main/Software">下载</a>)进行编程。更多详细信息,请参阅<a href="/en/Reference/HomePage">参考</a> 和 <a href="/en/Tutorial/HomePage">教程</a>.
Changed lines 213-214 from:
The ATmega2560 on the Arduino/Genuino Mega 2560 comes preprogrammed with a <a href="/en/Hacking/Bootloader?from=Tutorial.Bootloader">bootloader</a> that allows you to upload new code to it
without the use of an external hardware programmer. It communicates using the original STK500 protocol (<a href="http://www.atmel.com/Images/doc2525.pdf">reference</a>, <a href="http://www.atmel.com/dyn/resources/prod_documents/avr061.zip">C header files</a>).
to:
Genuino Mega2560中的ATmega2560已进行<a href="/en/Hacking/Bootloader?from=Tutorial.Bootloader">预编程引导程序</a> ,允许用户上传新的代码而无需使用额外的硬件编程器。该过程使用STK500协议。(<a href="http://www.atmel.com/Images/doc2525.pdf">参考</a>、
<a href="http://www.atmel.com/dyn/resources/prod_documents/avr061.zip">C线头文件</a>)。
Changed lines 218-219 from:
You can also bypass the bootloader and program the microcontroller through the ICSP (In-Circuit Serial Programming) header using
<a href="/en/Main/ArduinoISP">Arduino ISP</a> or similar; see these <a href="/en/Hacking/Programmer">instructions for details</a>.
to:
您还可以不使用引导程序,通过 <a href="/en/Main/ArduinoISP">Arduino ICSP接口</a> 直接对微处理器进行编程处理,请参阅<a href="/en/Hacking/Programmer">详情说明</a>,了解详细信息。
Changed lines 234-236 from:
The Arduino/Genuino 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.
to:
Genuino Mega 2560 设有可恢复保险丝以避免您的计算机USB接口遭受短路和过载的影响。虽然大多数计算机设有内部保护,但该保险丝能提供额外的保护。若USB端口上使用的电流超过了500mA,
保险丝将会自动断开,直到短路或过载消除。
Changed lines 240-241 from:
<div class="subtitle">Power</div>
The Arduino/Genuino Mega 2560 can be powered via the USB connection or with an external power supply. The power source is selected automatically.
to:
<div class="subtitle">供电</div>
Genuino Mega 2560可以通过USB连接供电,或采用外部电源供电,电源自动完成切换。
Changed lines 244-245 from:
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.
to:
外部(非USB)电源可以来自AC-DC适配器(Wall-Wart)或电池。可以将2.1mm的公头插座插入开发板的电源插孔。来自电池的电源线可插在电源接口的的GND和VIN引脚上。
Changed lines 247-248 from:
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 become unstable. If using more than 12V, the voltage regulator may overheat and damage the board. The recommended range is 7 to 12 volts.
to:
开发板可以在外部供电电压为6-20V的情况下运行。若供电电压小于7V,则5V引脚可以提供的电压可能小于5V,从而可能导致开发板不能稳定运行。如接入电压超过12V,稳压器可能会出现过热现象,从而使开发板受损。推荐工作电压范围为7-12V。
Changed line 251 from:
The power pins are as follows:<br>
to:
电源引脚详情如下所示:<br>
Changed lines 253-260 from:
<li> 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 other regulated power source).
You can supply voltage through this pin, or, if supplying voltage via the power jack, access it through this pin.</li>
<li>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.</li>
<li>3V3. A 3.3 volt supply generated by the on-board regulator. Maximum current draw is 50 mA.</li>
<li>GND. Ground pins.</li>
<li>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.</li>
to:
<li>Vin: Arduino开发板采用外部电源供电的电压输入引脚(对应USB连接供电或其他规定电源供电时的5V电压)。您可以通过此引脚输入电源电压。或通过适配器接口进行供电。</li>
<li>5V: 该引脚输出开发板稳压器的5V电源。开发板可以通过DC电源接头(7-12V)、USB接口(5V)或开发板的VIN引脚(7-12V)进行供电。绕开稳压器直接通过5V或3.3V引脚供电可能会损坏开发板,我们不建议采用此方法。</li>
<li>3V3: 由板上稳压器产生的3.3V电源。最大电流负载为50 mA。</li>
<li>GND: 接地引脚。</li>
<li>IOREF: 该管脚提供Arduino开发板上微处理器运行的参考电压。正确配置的shield可以读取IOREF引脚电压,选择合适的电源,或启用电平转换电路,以适用5V或3.3V电压。</li>
Changed lines 262-265 from:
<div class="subtitle">Memory</div>
The ATmega2560 has 256 KB of flash memory for storing code (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 <a href="/en/Reference/EEPROM">EEPROM library</a>).
</div>
to:
<div class="subtitle">片上存储</div>
ATmega2560设有256KB的flash存储空间(其中引导程序占用8KB)、8KB的SRAM以及4KB的EEPROM(可通过<a href="/en/Reference/EEPROM">EEPROM library</a>读取和写入)。 </div>
Changed line 266 from:
<div class="subtitle">Input and Output</div>
to:
<div class="subtitle">输入和输出</div>
Changed line 268 from:
See the mapping between Arduino pins and Atmega2560 ports:</div>
to:
请参阅Arduino引脚和Atmega2560端口映射图</div>
Changed lines 272-274 from:
Each of the 54 digital pins on the Mega can be used as an input or output, using <a href="/en/Reference/PinMode">pinMode()</a>, <a href="/en/Reference/DigitalWrite">digitalWrite()</a>, and <a href="/en/Reference/DigitalRead">digitalRead()</a> 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.
to:
Mega上的54路数字引脚中的每一路引脚都可以作为输入或输出引脚。这可以通过使用<a href="/en/Reference/PinMode">引脚模式()</a>、<a href="/en/Reference/DigitalWrite">数字写入()</a>和<a href="/en/Reference/DigitalRead">数字读取()</a>功能来实现。各引脚的工作电压均为5V。
各引脚可以提供或接收20mA电流,且配有20-50kΩ的内部上拉电阻(默认处于断开状态)。最大电流值不得超过40mA,以避免对单片机造成永久性损坏。
Changed line 277 from:
In addition, some pins have specialized functions:<br>
to:
此外,某些引脚还具有专用功能:<br>
Changed lines 279-290 from:
<li>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.</li>
<li>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 <a href="/en/Reference/AttachInterrupt">attachInterrupt()</a> function for details.</li>
<li>PWM: 2 to 13 and 44 to 46. Provide 8-bit PWM output with the <a href="/en/Reference/AnalogWrite">analogWrite()</a> function.</li>
<li>SPI: 50 (MISO), 51 (MOSI), 52 (SCK), 53 (SS). These pins support SPI communication using the <a href="/en/Reference/SPI">SPI library</a>. 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.</li>
<li>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.</li>
<li>TWI: 20 (SDA) and 21 (SCL). Support TWI communication using the <a href="/en/Reference/Wire">Wire library</a>. Note that these pins are not in the same location as the TWI
pins on the old Duemilanove or Diecimila Arduino boards.</li></ul>

See also the mapping Arduino Mega 2560 PIN diagram.
to:
<li>串口0(RX)和1(TX)号引脚,串口1:19(RX)和18(TX)号引脚;串口2:17(RX)和16(TX)号引脚;串口3:15(RX)和14(TX)号引脚''' :这些引脚可用于接收(RX)和发送(TX)TTL串行数据。0和1号管脚也连接到ATmega16U2 USB-to-TTL串口转换芯片的对应引脚上。</li>
<li>外部中断:2(中断0)、3(中断1)、18(中断5)、19(中断4)、20(中断3)和21(中断2)号引脚''':可以对这些引脚进行配置,以便在出现低电平、上升沿、下降沿或数值变化时,触发中断。更多详细信息,请参阅<a href="/en/Reference/AttachInterrupt">中断连接指令()</a>功能。</li>
<li>PWM:2到13号以及44到46号引脚''':能通过<a href="/en/Reference/AnalogWrite">模拟写入()</a>功能,提供8位PWM输出。</li>
<li>SPI:50(MISO)、51(MOSI)、52(SCK)和53(SS)号引脚''' :这些引脚支持通过<a href="/en/Reference/SPI">SPI库</a>.来实现SPI通信。SPI引脚同时与ICSP接口连接,与Uno、Duemilanove和Diecimila(更早版本的开发板)兼容。</li>
<li>LED:13号引脚''':有一个LED连接到13号数字引脚。当引脚置高,LED亮起,而当引脚置低,LED熄灭。</li>
<li>TWI: 20(SDA)和21(SCL)号引脚''':支持通过[[Reference/Wire|线库]]进行TWI通信。请注意,这些引脚的位置与Duemilanove或Diecimila开发板上的相同引脚的位置不相同。</li></ul>
Changed lines 288-290 from:
Arduino/Genuino Mega 2560 has 16 analog inputs, each of which provide 10 bits of resolution (i.e. 1024 different values). By default they measure from ground to 5 volts,
though is it possible to change the upper end of their range using the AREF pin and <a href="/en/Reference/AnalogReference">analogReference()</a> function.<br>
There are a couple of other pins on the board:<br>
to:
Genuino Mega 2560配有16路模拟输入,每路输入提供10位分辨率(即1024种不同的值)。虽然可以通过AREF引脚和模拟参考功能来改变模拟输入的上限值,但其默认输入值范围为0-5V。<br>
开发板上还配有其他的引脚:<br>
Changed lines 291-292 from:
<li>AREF. Reference voltage for the analog inputs. Used with analogReference().</li>
<li>Reset. Bring this line LOW to reset the microcontroller. Typically used to add a reset button to shields which block the one on the board.</li>
to:
<li>模拟输入参考电压,与 <a href="/en/Reference/AnalogReference"> analogReference(</a>)功能一同使用</li>
<li>拉低该引脚,复位微处理器。由于shield本身会挡住该键位,所以一般而言会在shield上再增加一个复位按键。</li>
Changed lines 298-304 from:
<div class="subtitle">Communication</div>
The Arduino/Genuino 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. 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).
to:
<div class="subtitle">通信</div>
Genuino Micro配有许多接口,可与计算机、其他Genuino或微处理器通信。Mega 2560提供4个硬件UART用于TTL(5V)串行通信。开发板上的ATmega16U2完成usb和串口通信的转换,并在计算机显示为虚拟串口
(采用Windows系统的计算机将需要配置一个.inf文件,而采用OSX和Linux系统的计算机将自动识别开发板为COM端口。Arduino IDE中包含有串口监听软件,允许通过开发板发送和接收简单的文本数据。通过USB接口将数据传输到计算机时(不支持第0和1号引脚上的串口通信),开发板上的RX和TX LED会闪烁。
Changed line 305 from:
A <a href="/en/Reference/SoftwareSerial">SoftwareSerial library</a> allows for serial communication on any of the Mega 2560's digital pins.
to:
可通过<a href="/en/Reference/SoftwareSerial">软件串口库</a>与其他Mega 2560的数字引脚实现串行通信。
Changed lines 309-310 from:
The Arduino/Genuino 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 <a href="/en/Reference/Wire">documentation</a> for details. For SPI communication, use the <a href="/en/Reference/SPI">SPI library</a>.
to:
ATmega32U4还支持I2C(TWI)和SPI通信。Arduino软件(IDE)包括一个库,以简化使用I2C总线的操作,更多详细信息请参阅<a href="/en/Reference/Wire">文档</a>。对于SPI通信,需使用 <a href="/en/Reference/SPI">SPI 库</a>。
Changed lines 313-316 from:
<div class="subtitle">Physical Characteristics and Shield Compatibility</div>
The maximum length and width of the Arduino/Genuino 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.
to:
<div class="subtitle">物理特性和Shield兼容性</div>
Genuino Mega 2560印刷电路板的最大长度和宽度分别为4英寸和2.1英寸,其USB接口和电源接头伸出前端部位。设有三个螺丝孔,允许将电路板安装在表面或外壳上。
请注意,数字引脚7和8之间的距离为160mil(0.16"),而不是其他引脚100mil间距的偶数倍。
Changed lines 319-323 from:
Arduino/Genuino Mega 2560 is designed to be compatible with most shields designed for Arduino/Genuino Uno and the older Diecimila or Duemilanove Arduino boards.
Digital pins 0 to 13 (and the adjacent AREF and GND pins), analog inputs 0 to 5, the power header, and ICSP header are all in equivalent locations.
Furthermore, the main UART (serial port) is located on the same pins (0 and 1), as are external interrupts 0 and 1 (pins 2 and 3 respectively).
SPI is available through the ICSP header on both the Arduino/Genuino Mega 2560 and Duemilanove / Diecimila boards. Please note that I2C is not located on
the same pins on the Mega 2560 board (20 and 21) as the Duemilanove / Diecimila boards (analog inputs 4 and 5).
to:
Genuino Mega 2560设计为可以大多数Uno、Diecimila或Duemilanove的shield兼容。0〜13号数字引脚(以及相邻的AREF和GND引脚)、0〜5号模拟输入、电源接头和ICSP数据头都设置在等效的位置。再进一步,主要的UART(串口)位于相同的引脚(0和1)上,
0和1(分别为2和3号引脚)同时也是外部中断指令引脚。通过Genuino Mega 2560和Duemilanove/Diecimila上的ICSP数据头都可以实现SPI功能。请注意,I2C在Mega中的位置(20和21号引脚)与在Duemilanove/Diecimila中的位置(4和5号模拟输入)不同。
Changed lines 325-330 from:
<div class="subtitle">Automatic (Software) Reset</div>
Rather then requiring a physical press of the reset button before an upload, the Arduino/Genuino Mega 2560 is designed in a way that allows it to be
reset by software running on a connected computer. One of the hardware flow control lines (DTR) of the ATmega8U2 is connected to the reset line of the
ATmega2560 via a 100 nanofarad capacitor. When this line is asserted (taken low), the reset line drops long enough to reset the chip. The Arduino Software (IDE)
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.
to:
<div class="subtitle">软复位</div>
对于Genuino Mega 2560,用户可以通过其所连接电脑中正在运行的软件将Genuino Mega 2560复位,而不需要在上传代码之前手动按下复位按钮。ATmega16U2的硬件启动控制管脚(DTR)通过一个100纳法的电容连接到ATmega2560的复位引脚上。
该引脚被拉低后,拉低的时间长到足以复位芯片。通过该功能,Arduino IDE使得用户只需轻按Arduino IDE上的上传按钮即可上传代码。这意味着,引导程序可以把超时时间缩短,因为降低DTR可以与启动上传很好地协调进行。
Changed lines 331-335 from:
This setup has other implications. When the Arduino/Genuino Mega 2560 board 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 ATMega2560. 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.
to:
这种设置还有其他目的。当Genuino Mega 2560连接到运行Mac OS X或Linux系统的计算机时,每次从软件(通过USB)发起连接到Mega,Mega都会进行复位操作。在复位后的0.5s左右时间内,引导程序将在ATMega2560上运行。而Mega中的程序被设计为忽略无效数据(即除新代码上传以外的任何数据),
所以在建立连接前,Mega将会拦截发送到开发板上的前面几个字节的数据。若您的项目启动时,需要在一开始就接受配置信息或其他数据,请确保连接打开后以及发送该数据之前,与Mega通信的软件有等待1s。
Changed lines 336-338 from:
The Arduino/Genuino 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 <a href="http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1213719666/all">this
forum thread</a> for details.
to:
Genuino Mega 2560有可切断的连线以禁用其软复位。如果需要重新启用软复位,可将连线两端的焊盘焊接在一起。该连线标有“RESET-EN”标签。您还可以将复位线通过110Ω上拉电阻连接到5V管脚,以禁用自动复位功能。请参阅<a href="http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1213719666/all">此论坛主题</a>,了解详细信息。
Added lines 366-760:
(:if lang en :)
(:html:)

<div class="product-page">
<div class="subHeader row">

<div class="breadcrumb columns large-10 medium-10">
<p>
<a class="wikilink" href="/en/Main/Products">Arduino Products/a>
> Arduino/Genuino MEGA 2560
</p>
</div>

<div class="language-dropdown columns large-2 medium-2">
<a href="#" class="current">
English
</a>
<a href="#" class="selector"></a>
<ul>
<li class="selected">English</li>
<li><a href="?setlang=cn">Chinese</a></li>
</ul>
</div>

</div>

<div class="product-page-header">

<img class="header-imagemega" src="/en/uploads/Main/ArdGen_Mega.jpg">

<div class="text-column">
<div class="titolo mega">Arduino / Genuino MEGA 2560</div>
<div class="description">Arduino/Genuino MEGA 2560 is designed for
more complex projects. With 54 digital I/O pins,
16 analog inputs and a larger space for your
sketch it is the recommended board for 3D printers
and robotics projects. This gives your projects
plenty of room and opportunities.


</div>
</div>

<div class="buttons">
<a href="/en/Guide/HomePage" rel="nofollow"><button class="button blue-button">GETTING STARTED</button></a>
<a href="https://store.arduino.cc/product/A000067" rel="nofollow"><button class="button orange-button">SHOP NOW</button></a>
</div>

</div>

<div class="row">
<div class="large-2 medium-2 columns menu">
<ul class="product-page-nav">
<li><a href="#overview">Overview</a></li>
<li><a href="#techspecs">Technical Specs</a></li>
<li><a href="#documentation">Documentation</a></li>
</ul>
</div>

<div class="large-10 medium-10 columns">

<div id="overview">
<div class="title1margintop">Overview</div>

<div class="box red">5V</div>
<div class="box orange">8-bit</div>
<div class="box brown">16 MHz</div>
<div class="box blue">AVR</div>


<div class="textsummary">

<div>
The Arduino/Genuino Mega 2560 is a microcontroller board based on the ATmega2560 (<a href="http://www.atmel.com/Images/Atmel-2549-8-bit-AVR-Microcontroller-ATmega640-1280-1281-2560-2561_datasheet.pdf">datasheet</a>). 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-to-DC adapter or battery to get started. The Mega 2560 board is compatible with most shields designed for Arduino/Genuino Uno
and the former boards Duemilanove or Diecimila.
</div>
<div>
The Arduino/Genuino Mega 2560 is an update to the <a href="en/Main/ArduinoBoardMega">Arduino Mega</a>, which it replaces.
</div>
<div>
You can find <a href="/en/Main/warranty">here</a> your board warranty informations.
</div>
<div>
<div class="subtitle">Getting Started</div>
You can find in the <a href="/en/Guide/HomePage">Getting Started section</a> all the information you need to configure your board,
use the Arduino Software (IDE), and start tinker with coding and electronics.
</div>
<div>
<div class="subtitle">Need Help?</div>
<ul class="textindent">
<li>On the Software <a href="https://forum.arduino.cc/index.php?board=63.0">on the Arduino Forum</a></li>
<li>On Projects <a href="https://forum.arduino.cc/index.php?board=3.0">on the Arduino Forum</a></li>
<li>On the Product itself through <a href="https://store.arduino.cc/index.php?main_page=contact_us&language=en">our Customer Support</a></li>
</ul>
</div>
</div>
</div>


<div id="techspecs">
<div class="title1margintop">Technical specs</div>
<div class="textsummary">
<table>
<tbody>

<tr>
<td>Microcontroller</td>
<td><a href="http://www.atmel.com/Images/Atmel-2549-8-bit-AVR-Microcontroller-ATmega640-1280-1281-2560-2561_datasheet.pdf">ATmega2560</a></td>
</tr>

<tr>
<td>Operating Voltage</td>
<td>5V</td>
</tr>

<tr>
<td>Input Voltage (recommended)</td>
<td>7-12V</td>
</tr>

<tr>
<td>Input Voltage (limit)</td>
<td>6-20V</td>
</tr>

<tr>
<td>Digital I/O Pins</td>
<td>54 (of which 15 provide PWM output)</td>
</tr>

<tr>
<td>Analog Input Pins</td>
<td>16</td>
</tr>

<tr>
<td>DC Current per I/O Pin</td>
<td>20 mA</td>
</tr>

<tr>
<td>DC Current for 3.3V Pin</td>
<td>50 mA</td>
</tr>

<tr>
<td>Flash Memory</td>
<td>256 KB of which 8 KB used by bootloader</td>
</tr>

<tr>
<td>SRAM</td>
<td>8 KB</td>
</tr>

<tr>
<td>EEPROM</td>
<td>4 KB</td>
</tr>

<tr>
<td>Clock Speed</td>
<td>16 MHz</td>
</tr>

<tr>
<td>Length</td>
<td>101.52 mm</td>
</tr>

<tr>
<td>Width</td>
<td>53.3 mm</td>
</tr>

<tr>
<td>Weight</td>
<td>37 g</td>
</tr>

</tbody>
</table>


</div>
</div>

<div id="documentation">
<div class="title1margintop">Documentation</div>
<div class="textsummary">

<div>
<div class="subtitle">OSH: Schematics, Reference Design, Board size</div>
Arduino / Genuino Mega 2560 is open-source hardware! You can build your own board using the follwing files:
</div>


<a href="/en/uploads/Main/arduino-mega2560_R3-ref-design.zip"><div class="rectdocumentation yellow"><div class="immrect"><img src="/en/uploads/Main/eaglefile.svg" alt="EAGLE" style="width:64px; height:47px;"></div><div class="textrect">EAGLE FILES<br> IN .ZIP</div> </div></a>
<a href="/en/uploads/Main/arduino-mega2560_R3-sch.pdf"><div class="rectdocumentation brown"><div class="immrect"><img src="/en/uploads/Main/schematicsfile.svg" alt="PDF" style="width:48px; height:48px;"></div><div class="textrect margin">SCHEMATICS<br> IN .PDF</div></div></a>
<a href="http://arduino.cc/documents/dimensioni%20Mega.dxf"><div class="rectdocumentation orange"><div class="immrect"><img src="/en/uploads/Main/boardsizefile.svg" alt="DXF" style="width:79px; height:48px;"></div><div class="textrect margintwo">BOARD SIZE<br> IN .DXF</div></div></a>


<div>
<div class="subtitle">Programming</div>
The Arduino/Genuino 2560 Mega board can be programmed with the <a href="/en/Main/Software">Arduino Software (IDE)</a>. For details, see the <a href="/en/Reference/HomePage">reference</a> and <a href="/en/Tutorial/HomePage">tutorials</a>.
</div>

<div>
The ATmega2560 on the Arduino/Genuino Mega 2560 comes preprogrammed with a <a href="/en/Hacking/Bootloader?from=Tutorial.Bootloader">bootloader</a> that allows you to upload new code to it
without the use of an external hardware programmer. It communicates using the original STK500 protocol (<a href="http://www.atmel.com/Images/doc2525.pdf">reference</a>, <a href="http://www.atmel.com/dyn/resources/prod_documents/avr061.zip">C header files</a>).
</div>

<div>
You can also bypass the bootloader and program the microcontroller through the ICSP (In-Circuit Serial Programming) header using
<a href="/en/Main/ArduinoISP">Arduino ISP</a> or similar; see these <a href="/en/Hacking/Programmer">instructions for details</a>.
</div>

<div>
The ATmega16U2 (or 8U2 in the rev1 and rev2 boards) firmware source code is available in the <a href="https://github.com/arduino/Arduino/tree/master/hardware/arduino/avr/firmwares/">Arduino repository</a>.
The ATmega16U2/8U2 is loaded with a DFU bootloader, which can be activated by:
<ul class="textindent">
<li>On Rev1 boards: connecting the solder jumper on the back of the board (near the map of Italy) and then resetting the 8U2.</li>
<li>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 <a href="http://www.atmel.com/dyn/products/tools_card.asp?tool_id=3886">Atmel's FLIP software </a>(Windows) or the <a href="http://dfu-programmer.sourceforge.net/">DFU programmer </a>(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 <a href="http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1285962838">this user-contributed tutorial</a> for more information.</li>
</ul>
</div>

<div>
<div class="subtitle">Warnings</div>
The Arduino/Genuino 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.
</div>


<div>
<div class="subtitle">Power</div>
The Arduino/Genuino Mega 2560 can be powered via the USB connection or with an external power supply. The power source is selected automatically.
</div>
<div>
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.
</div>
<div>
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 become unstable. If using more than 12V, the voltage regulator may overheat and damage the board. The recommended range is 7 to 12 volts.
</div>

<div>
The power pins are as follows:<br>
<ul class="textindent">
<li> 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 other regulated power source).
You can supply voltage through this pin, or, if supplying voltage via the power jack, access it through this pin.</li>
<li>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.</li>
<li>3V3. A 3.3 volt supply generated by the on-board regulator. Maximum current draw is 50 mA.</li>
<li>GND. Ground pins.</li>
<li>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.</li>
</ul>
</div>

<div>
<div class="subtitle">Memory</div>
The ATmega2560 has 256 KB of flash memory for storing code (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 <a href="/en/Reference/EEPROM">EEPROM library</a>).
</div>

<div>
<div class="subtitle">Input and Output</div>
<div>
See the mapping between Arduino pins and Atmega2560 ports:</div>
<a href="/en/Hacking/PinMapping2560"><div class="rectdocumentation green"><div class="immrect"><img src="/en/uploads/Main/pin_mapping.svg" alt="PIN_MAPPING" style="width:55px; height:46px;"></div><div class="textrect">PIN MAPPING<br>Atmega2560</div> </div></a>

<div>
Each of the 54 digital pins on the Mega can be used as an input or output, using <a href="/en/Reference/PinMode">pinMode()</a>, <a href="/en/Reference/DigitalWrite">digitalWrite()</a>, and <a href="/en/Reference/DigitalRead">digitalRead()</a> 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.
</div>

<div>
In addition, some pins have specialized functions:<br>
<ul class="textindent">
<li>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.</li>
<li>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 <a href="/en/Reference/AttachInterrupt">attachInterrupt()</a> function for details.</li>
<li>PWM: 2 to 13 and 44 to 46. Provide 8-bit PWM output with the <a href="/en/Reference/AnalogWrite">analogWrite()</a> function.</li>
<li>SPI: 50 (MISO), 51 (MOSI), 52 (SCK), 53 (SS). These pins support SPI communication using the <a href="/en/Reference/SPI">SPI library</a>. 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.</li>
<li>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.</li>
<li>TWI: 20 (SDA) and 21 (SCL). Support TWI communication using the <a href="/en/Reference/Wire">Wire library</a>. Note that these pins are not in the same location as the TWI
pins on the old Duemilanove or Diecimila Arduino boards.</li></ul>

See also the mapping Arduino Mega 2560 PIN diagram.
</div>
</div>
<div>
Arduino/Genuino Mega 2560 has 16 analog inputs, each of which provide 10 bits of resolution (i.e. 1024 different values). By default they measure from ground to 5 volts,
though is it possible to change the upper end of their range using the AREF pin and <a href="/en/Reference/AnalogReference">analogReference()</a> function.<br>
There are a couple of other pins on the board:<br>
<ul class="textindent">
<li>AREF. Reference voltage for the analog inputs. Used with analogReference().</li>
<li>Reset. Bring this line LOW to reset the microcontroller. Typically used to add a reset button to shields which block the one on the board.</li>
</ul>
</div>


<div>
<div class="subtitle">Communication</div>
The Arduino/Genuino 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. 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).
</div>

<div>
A <a href="/en/Reference/SoftwareSerial">SoftwareSerial library</a> allows for serial communication on any of the Mega 2560's digital pins.
</div>

<div>
The Arduino/Genuino 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 <a href="/en/Reference/Wire">documentation</a> for details. For SPI communication, use the <a href="/en/Reference/SPI">SPI library</a>.
</div>

<div>
<div class="subtitle">Physical Characteristics and Shield Compatibility</div>
The maximum length and width of the Arduino/Genuino 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.
</div>

<div>
Arduino/Genuino Mega 2560 is designed to be compatible with most shields designed for Arduino/Genuino Uno and the older Diecimila or Duemilanove Arduino boards.
Digital pins 0 to 13 (and the adjacent AREF and GND pins), analog inputs 0 to 5, the power header, and ICSP header are all in equivalent locations.
Furthermore, the main UART (serial port) is located on the same pins (0 and 1), as are external interrupts 0 and 1 (pins 2 and 3 respectively).
SPI is available through the ICSP header on both the Arduino/Genuino Mega 2560 and Duemilanove / Diecimila boards. Please note that I2C is not located on
the same pins on the Mega 2560 board (20 and 21) as the Duemilanove / Diecimila boards (analog inputs 4 and 5).
</div>


<div>
<div class="subtitle">Automatic (Software) Reset</div>
Rather then requiring a physical press of the reset button before an upload, the Arduino/Genuino Mega 2560 is designed in a way that allows it to be
reset by software running on a connected computer. One of the hardware flow control lines (DTR) of the ATmega8U2 is connected to the reset line of the
ATmega2560 via a 100 nanofarad capacitor. When this line is asserted (taken low), the reset line drops long enough to reset the chip. The Arduino Software (IDE)
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.
</div>

<div>
This setup has other implications. When the Arduino/Genuino Mega 2560 board 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 ATMega2560. 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.
</div>

<div>
The Arduino/Genuino 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 <a href="http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1213719666/all">this
forum thread</a> for details.
</div>


<div>
<div class="subtitle">Revisions</div>
Arduino/Genuino 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. <br>Revision 2 of the Mega 2560 board has a resistor pulling the 8U2 HWB line to ground, making it easier to put into <a href="/en/Hacking/DFUProgramming8U2">DFU mode.</a><br>
Revision 3 of the Arduino board and the current Genuino Mega 2560 have the following improved features:
<ul class="textindent">
<li>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 purposes.</li>
<li>Stronger RESET circuit.</li>
<li>Atmega 16U2 replace the 8U2.</li>
</ul>
</div>

</div>
</div>




</div>
</div>

</div>
(:htmlend:)
August 03, 2015, at 05:51 PM by Ramona Banfi -
Changed line 5 from:
table tr:nth-child(oddtable) { background-color: #f6fafa;}
to:
table tr:nth-child(odd) { background-color: #f6fafa;}
August 03, 2015, at 05:08 PM by Ramona Banfi -
Changed line 5 from:
table tr:nth-child(oddtable { background-color: #f6fafa;}
to:
table tr:nth-child(oddtable) { background-color: #f6fafa;}
Changed lines 29-33 from:
<div class="description">Arduino/Genuino MEGA 2560 is designed for
more complex projects. With 54 digital I/O pins,
16 analog inputs and a larger space for your
sketch it is the recommended board for 3D printers
and robotics projects. This gives your projects
to:
<div class="description">Arduino/Genuino MEGA 2560 is designed for
more complex projects. With 54 digital I/O pins,
16 analog inputs and a larger space for your
sketch it is the recommended board for 3D printers
and robotics projects. This gives your projects
Deleted line 392:
August 03, 2015, at 04:51 PM by Ramona Banfi -
Changed line 80 from:
You can find <a href="">here</a> your board warranty informations.
to:
You can find <a href="/en/Main/warranty">here</a> your board warranty informations.
August 03, 2015, at 04:49 PM by Ramona Banfi -
Changed line 3 from:
.titolo.mega{ font-size: 27px;}
to:
.titolo.mega{ margin-top:10px;font-size: 27px;}
Deleted line 5:
.product-page-header .description{ margin-top: 70px;}
August 03, 2015, at 04:48 PM by Ramona Banfi -
Changed lines 30-31 from:
<div class="description">
Arduino/Genuino MEGA 2560 is designed for
to:
<div class="description">Arduino/Genuino MEGA 2560 is designed for
August 03, 2015, at 04:47 PM by Ramona Banfi -
Changed line 6 from:
.product-page-header .text-column .description{ margin-top:-20px;}
to:
.product-page-header .description{ margin-top: 70px;}
August 03, 2015, at 04:45 PM by Ramona Banfi -
Changed line 6 from:
.text-column .description{ margin-top: -20px;}
to:
.product-page-header .text-column .description{ margin-top:-20px;}
August 03, 2015, at 04:44 PM by Ramona Banfi -
Changed line 6 from:
.text-column .description{ margin-top: -20px;}
to:
.text-column .description{ margin-top: -20px;}
August 03, 2015, at 04:43 PM by Ramona Banfi -
Added line 6:
.text-column .description{ margin-top: -20px;}
August 03, 2015, at 04:42 PM by Ramona Banfi -
Changed line 3 from:
.titolo.mega{ font-size: 27px;margin-top:20px}
to:
.titolo.mega{ font-size: 27px;}
Added line 394:
August 03, 2015, at 04:41 PM by Ramona Banfi -
Changed lines 1-151 from:
!!Arduino/Genuino Mega 2560


(:table border=0 align=centre:)
(:cell:)[[Attach:ArduinoMega2560_R3_Fronte.jpg | Attach:ArduinoMega2560_R3_Front_450px.jpg ]]
(:cell:)[[Attach:ArduinoMega2560_R3_Back.jpg | Attach:ArduinoMega2560_R3_Back_450px.jpg ]]
(:cellnr:)''Arduino Mega 2560 R3 Front''
(:cell:)''Arduino Mega 2560 R3 Back''

(:if false:)
(:cellnr:)%width=50pct%[[Attach:ArduinoMega2560_r2_front.jpg | Attach:ArduinoMega2560_r2_front_450px.jpg ]]
(:cell:)%width=50pct%[[Attach:ArduinoMega2650Back.jpg | Attach:ArduinoMega2650Back_450px.jpg ]]
(:cellnr:)''Arduino Mega 2560 Front''
(:cell:)''Arduino Mega 2560 Back''
(:tableend:)(:ifend:)


(:table border = 0 :)
(:cell:) [[http://store.arduino.cc/ww/index.php?main_page=product_info&cPath=11_12&products_id=196 | Attach:buttonStore.jpg ]]
(:cell:)[[http://arduino.cc/en/Main/Buy | Attach:buttonDistributors.jpg ]]
(:tableend:)

!!!Overview

The Arduino/Genuino Mega 2560 is a microcontroller board based on the ATmega2560 ([[http://www.atmel.com/Images/Atmel-2549-8-bit-AVR-Microcontroller-ATmega640-1280-1281-2560-2561_datasheet.pdf | 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-to-DC adapter or battery to get started. The Mega 2560 board is compatible with most shields designed for Arduino/Genuino Uno and the former boards Duemilanove or Diecimila.


The Arduino/Genuino Mega 2560 is an update to the [[ArduinoBoardMega | Arduino Mega]], which it replaces.

Arduino/Genuino 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 [[/Hacking/DFUProgramming8U2 | 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 purposes.
* Stronger RESET circuit.
* Atmega 16U2 replace the 8U2.


!!!Schematic, Reference Design & Pin Mapping

EAGLE files: [[Attach:arduino-mega2560_R3-ref-design.zip | arduino-mega2560_R3-reference-design.zip]]

Schematic: [[Attach:arduino-mega2560_R3-sch.pdf | arduino-mega2560_R3-schematic.pdf]]

Pin Mapping: [[Hacking/PinMapping2560 | PinMap2560 page ]]
!!!Summary

||border=0
||Microcontroller ||ATmega2560 ||
||Operating Voltage ||5V ||
||Input Voltage (recommended) ||7-12V ||
||Input Voltage (limits) ||6-20V ||
||Digital I/O Pins ||54 (of which 15 provide PWM output) ||
||Analog Input Pins ||16 ||
||DC Current per I/O Pin ||20 mA ||
||DC Current for 3.3V Pin ||50 mA ||
||Flash Memory ||256 KB of which 8 KB used by bootloader ||
||SRAM ||8 KB ||
||EEPROM ||4 KB ||
||Clock Speed ||16 MHz ||
||Length ||101.52 mm ||
||Width ||53.3 mm ||
||Weight ||37 g ||

!!!Power

The Arduino/Genuino Mega 2560 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 become 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 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.

* '''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 code (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 [[http://www.arduino.cc/en/Reference/EEPROM | EEPROM library]]).

!!!Input and Output

Each of the 54 digital pins on the Mega can be used as an input or output, using [[Reference/PinMode | pinMode()]], [[Reference/DigitalWrite | digitalWrite()]], and [[Reference/DigitalRead | 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. In addition, some pins have specialized functions:

* '''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 [[Reference/AttachInterrupt | attachInterrupt()]] function for details.

* '''PWM: 2 to 13 and 44 to 46.''' Provide 8-bit PWM output with the [[Reference/AnalogWrite | analogWrite()]] function.

* '''SPI: 50 (MISO), 51 (MOSI), 52 (SCK), 53 (SS).''' These pins support SPI communication using the [[Reference/SPI | SPI 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 [[Reference/Wire | Wire library]]. Note that these pins are not in the same location as the TWI pins on the old Duemilanove or Diecimila Arduino boards.

Arduino/Genuino Mega 2560 has 16 analog inputs, each of which provide 10 bits of resolution (i.e. 1024 different values). By default they measure from ground to 5 volts, though is it possible to change the upper end of their range using the AREF pin and analogReference() function.

There are a couple of other pins on the board:

* '''AREF.''' Reference voltage for the analog inputs. Used with [[Reference/AnalogReference | analogReference]]().

* '''Reset.''' Bring this line LOW to reset the microcontroller. Typically used to add a reset button to shields which block the one on the board.

!!!Communication

The Arduino/Genuino 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. 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 [[http://www.arduino.cc/en/Reference/SoftwareSerial | SoftwareSerial library]] allows for serial communication on any of the Mega 2560's digital pins.

The Arduino/Genuino 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 [[Reference/Wire | documentation]] for details. For SPI communication, use the [[Reference/SPI | SPI library]].

!!!Programming

The Arduino/Genuino 2560 Mega board can be programmed with the [[Main/Software | Arduino Software (IDE)]]. For details, see the [[Reference/HomePage | reference]] and [[Tutorial/HomePage | tutorials]].

The ATmega2560 on the Arduino/Genuino Mega 2560 comes preprogrammed with a [[Tutorial/Bootloader | bootloader]] that allows you to upload new code to it without the use of an external hardware programmer. It communicates using the original STK500 protocol ([[http://www.atmel.com/dyn/resources/prod_documents/doc2525.pdf | reference]], [[http://www.atmel.com/dyn/resources/prod_documents/avr061.zip | C header files]]).

You can also bypass the bootloader and program the microcontroller through the ICSP (In-Circuit Serial Programming) header using [[arduino.cc/en/Main/ArduinoISP | Arduino ISP]] or similar; see [[Hacking/Programmer | these instructions]] for details.

The ATmega16U2 (or 8U2 in the rev1 and rev2 boards) firmware source code is available [[https://github.com/arduino/Arduino/tree/master/hardware/arduino/avr/firmwares/ | in the Arduino 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 [[http://www.atmel.com/dyn/products/tools_card.asp?tool_id=3886 | Atmel's FLIP software]] (Windows) or the [[http://dfu-programmer.sourceforge.net/ | 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 [[http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1285962838 | this user-contributed tutorial]] for more information.

!!!Automatic (Software) Reset

Rather then requiring a physical press of the reset button before an upload, the Arduino/Genuino Mega 2560 is designed in a way that allows it to be reset by software running on a connected computer. One of the hardware flow control lines (DTR) of the ATmega8U2 is connected to the reset line of the ATmega2560 via a 100 nanofarad capacitor. When this line is asserted (taken low), the reset line drops long enough to reset the chip. The Arduino Software (IDE) 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 Arduino/Genuino Mega 2560 board 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 ATMega2560. 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 Arduino/Genuino 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 [[http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1213719666/all | this forum thread]] for details.

!!!USB Overcurrent Protection

The Arduino/Genuino 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.

!!!Physical Characteristics and Shield Compatibility

The maximum length and width of the Arduino/Genuino 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.

Arduino/Genuino Mega 2560 is designed to be compatible with most shields designed for Arduino/Genuino Uno and the older Diecimila or Duemilanove Arduino boards. Digital pins 0 to 13 (and the adjacent AREF and GND pins), analog inputs 0 to 5, the power header, and ICSP header are all in equivalent locations. Furthermore, the main UART (serial port) is located on the same pins (0 and 1), as are external interrupts 0 and 1 (pins 2 and 3 respectively). SPI is available through the ICSP header on both the Arduino/Genuino Mega 2560 and Duemilanove / Diecimila boards. ''Please note that I'^2^'C is not located on the same pins on the Mega 2560 board (20 and 21) as the Duemilanove / Diecimila boards (analog inputs 4 and 5).''

(:div id='commentsbox':)
to:
(:html:)
<style>
.titolo.mega{ font-size: 27px;margin-top:20px}
.header-imagemega{ width: 55%;}
table tr:nth-child(oddtable { background-color: #f6fafa;}
</style>


<div class="product-page">
<div class="subHeader row">

<div class="breadcrumb columns large-10 medium-10">
<p>
<a class="wikilink" href="/en/Main/Products">Arduino Products</a>
> Arduino/Genuino MEGA 2560
</p>
</div>



</div>

<div class="product-page-header">

<img class="header-imagemega" src="/en/uploads/Main/ArdGen_Mega.jpg">

<div class="text-column">
<div class="titolo mega">Arduino / Genuino MEGA 2560</div>
<div class="description">
Arduino/Genuino MEGA 2560 is designed for
more complex projects. With 54 digital I/O pins,
16 analog inputs and a larger space for your
sketch it is the recommended board for 3D printers
and robotics projects. This gives your projects
plenty of room and opportunities.


</div>
</div>

<div class="buttons">
<a href="/en/Guide/HomePage" rel="nofollow"><button class="button blue-button">GETTING STARTED</button></a>
<a href="https://store.arduino.cc/product/A000067" rel="nofollow"><button class="button orange-button">SHOP NOW</button></a>
</div>

</div>

<div class="row">
<div class="large-2 medium-2 columns menu">
<ul class="product-page-nav">
<li><a href="#overview">Overview</a></li>
<li><a href="#techspecs">Technical Specs</a></li>
<li><a href="#documentation">Documentation</a></li>
</ul>
</div>

<div class="large-10 medium-10 columns">

<div id="overview">
<div class="title1margintop">Overview</div>

<div class="box red">5V</div>
<div class="box orange">8-bit</div>
<div class="box brown">16 MHz</div>
<div class="box blue">AVR</div>


<div class="textsummary">

<div>
The Arduino/Genuino Mega 2560 is a microcontroller board based on the ATmega2560 (<a href="http://www.atmel.com/Images/Atmel-2549-8-bit-AVR-Microcontroller-ATmega640-1280-1281-2560-2561_datasheet.pdf">datasheet</a>). 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-to-DC adapter or battery to get started. The Mega 2560 board is compatible with most shields designed for Arduino/Genuino Uno
and the former boards Duemilanove or Diecimila.
</div>
<div>
The Arduino/Genuino Mega 2560 is an update to the <a href="en/Main/ArduinoBoardMega">Arduino Mega</a>, which it replaces.
</div>
<div>
You can find <a href="">here</a> your board warranty informations.
</div>
<div>
<div class="subtitle">Getting Started</div>
You can find in the <a href="/en/Guide/HomePage">Getting Started section</a> all the information you need to configure your board,
use the Arduino Software (IDE), and start tinker with coding and electronics.
</div>
<div>
<div class="subtitle">Need Help?</div>
<ul class="textindent">
<li>On the Software <a href="https://forum.arduino.cc/index.php?board=63.0">on the Arduino Forum</a></li>
<li>On Projects <a href="https://forum.arduino.cc/index.php?board=3.0">on the Arduino Forum</a></li>
<li>On the Product itself through <a href="https://store.arduino.cc/index.php?main_page=contact_us&language=en">our Customer Support</a></li>
</ul>
</div>
</div>
</div>


<div id="techspecs">
<div class="title1margintop">Technical specs</div>
<div class="textsummary">
<table>
<tbody>

<tr>
<td>Microcontroller</td>
<td><a href="http://www.atmel.com/Images/Atmel-2549-8-bit-AVR-Microcontroller-ATmega640-1280-1281-2560-2561_datasheet.pdf">ATmega2560</a></td>
</tr>

<tr>
<td>Operating Voltage</td>
<td>5V</td>
</tr>

<tr>
<td>Input Voltage (recommended)</td>
<td>7-12V</td>
</tr>

<tr>
<td>Input Voltage (limit)</td>
<td>6-20V</td>
</tr>

<tr>
<td>Digital I/O Pins</td>
<td>54 (of which 15 provide PWM output)</td>
</tr>

<tr>
<td>Analog Input Pins</td>
<td>16</td>
</tr>

<tr>
<td>DC Current per I/O Pin</td>
<td>20 mA</td>
</tr>

<tr>
<td>DC Current for 3.3V Pin</td>
<td>50 mA</td>
</tr>

<tr>
<td>Flash Memory</td>
<td>256 KB of which 8 KB used by bootloader</td>
</tr>

<tr>
<td>SRAM</td>
<td>8 KB</td>
</tr>

<tr>
<td>EEPROM</td>
<td>4 KB</td>
</tr>

<tr>
<td>Clock Speed</td>
<td>16 MHz</td>
</tr>

<tr>
<td>Length</td>
<td>101.52 mm</td>
</tr>

<tr>
<td>Width</td>
<td>53.3 mm</td>
</tr>

<tr>
<td>Weight</td>
<td>37 g</td>
</tr>

</tbody>
</table>


</div>
</div>

<div id="documentation">
<div class="title1margintop">Documentation</div>
<div class="textsummary">

<div>
<div class="subtitle">OSH: Schematics, Reference Design, Board size</div>
Arduino / Genuino Mega 2560 is open-source hardware! You can build your own board using the follwing files:
</div>


<a href="/en/uploads/Main/arduino-mega2560_R3-ref-design.zip"><div class="rectdocumentation yellow"><div class="immrect"><img src="/en/uploads/Main/eaglefile.svg" alt="EAGLE" style="width:64px; height:47px;"></div><div class="textrect">EAGLE FILES<br> IN .ZIP</div> </div></a>
<a href="/en/uploads/Main/arduino-mega2560_R3-sch.pdf"><div class="rectdocumentation brown"><div class="immrect"><img src="/en/uploads/Main/schematicsfile.svg" alt="PDF" style="width:48px; height:48px;"></div><div class="textrect margin">SCHEMATICS<br> IN .PDF</div></div></a>
<a href="http://arduino.cc/documents/dimensioni%20Mega.dxf"><div class="rectdocumentation orange"><div class="immrect"><img src="/en/uploads/Main/boardsizefile.svg" alt="DXF" style="width:79px; height:48px;"></div><div class="textrect margintwo">BOARD SIZE<br> IN .DXF</div></div></a>


<div>
<div class="subtitle">Programming</div>
The Arduino/Genuino 2560 Mega board can be programmed with the <a href="/en/Main/Software">Arduino Software (IDE)</a>. For details, see the <a href="/en/Reference/HomePage">reference</a> and <a href="/en/Tutorial/HomePage">tutorials</a>.
</div>

<div>
The ATmega2560 on the Arduino/Genuino Mega 2560 comes preprogrammed with a <a href="/en/Hacking/Bootloader?from=Tutorial.Bootloader">bootloader</a> that allows you to upload new code to it
without the use of an external hardware programmer. It communicates using the original STK500 protocol (<a href="http://www.atmel.com/Images/doc2525.pdf">reference</a>, <a href="http://www.atmel.com/dyn/resources/prod_documents/avr061.zip">C header files</a>).
</div>

<div>
You can also bypass the bootloader and program the microcontroller through the ICSP (In-Circuit Serial Programming) header using
<a href="/en/Main/ArduinoISP">Arduino ISP</a> or similar; see these <a href="/en/Hacking/Programmer">instructions for details</a>.
</div>

<div>
The ATmega16U2 (or 8U2 in the rev1 and rev2 boards) firmware source code is available in the <a href="https://github.com/arduino/Arduino/tree/master/hardware/arduino/avr/firmwares/">Arduino repository</a>.
The ATmega16U2/8U2 is loaded with a DFU bootloader, which can be activated by:
<ul class="textindent">
<li>On Rev1 boards: connecting the solder jumper on the back of the board (near the map of Italy) and then resetting the 8U2.</li>
<li>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 <a href="http://www.atmel.com/dyn/products/tools_card.asp?tool_id=3886">Atmel's FLIP software </a>(Windows) or the <a href="http://dfu-programmer.sourceforge.net/">DFU programmer </a>(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 <a href="http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1285962838">this user-contributed tutorial</a> for more information.</li>
</ul>
</div>

<div>
<div class="subtitle">Warnings</div>
The Arduino/Genuino 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.
</div>


<div>
<div class="subtitle">Power</div>
The Arduino/Genuino Mega 2560 can be powered via the USB connection or with an external power supply. The power source is selected automatically.
</div>
<div>
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.
</div>
<div>
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 become unstable. If using more than 12V, the voltage regulator may overheat and damage the board. The recommended range is 7 to 12 volts.
</div>

<div>
The power pins are as follows:<br>
<ul class="textindent">
<li> 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 other regulated power source).
You can supply voltage through this pin, or, if supplying voltage via the power jack, access it through this pin.</li>
<li>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.</li>
<li>3V3. A 3.3 volt supply generated by the on-board regulator. Maximum current draw is 50 mA.</li>
<li>GND. Ground pins.</li>
<li>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.</li>
</ul>
</div>

<div>
<div class="subtitle">Memory</div>
The ATmega2560 has 256 KB of flash memory for storing code (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 <a href="/en/Reference/EEPROM">EEPROM library</a>).
</div>

<div>
<div class="subtitle">Input and Output</div>
<div>
See the mapping between Arduino pins and Atmega2560 ports:</div>
<a href="/en/Hacking/PinMapping2560"><div class="rectdocumentation green"><div class="immrect"><img src="/en/uploads/Main/pin_mapping.svg" alt="PIN_MAPPING" style="width:55px; height:46px;"></div><div class="textrect">PIN MAPPING<br>Atmega2560</div> </div></a>

<div>
Each of the 54 digital pins on the Mega can be used as an input or output, using <a href="/en/Reference/PinMode">pinMode()</a>, <a href="/en/Reference/DigitalWrite">digitalWrite()</a>, and <a href="/en/Reference/DigitalRead">digitalRead()</a> 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.
</div>

<div>
In addition, some pins have specialized functions:<br>
<ul class="textindent">
<li>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.</li>
<li>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 <a href="/en/Reference/AttachInterrupt">attachInterrupt()</a> function for details.</li>
<li>PWM: 2 to 13 and 44 to 46. Provide 8-bit PWM output with the <a href="/en/Reference/AnalogWrite">analogWrite()</a> function.</li>
<li>SPI: 50 (MISO), 51 (MOSI), 52 (SCK), 53 (SS). These pins support SPI communication using the <a href="/en/Reference/SPI">SPI library</a>. 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.</li>
<li>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.</li>
<li>TWI: 20 (SDA) and 21 (SCL). Support TWI communication using the <a href="/en/Reference/Wire">Wire library</a>. Note that these pins are not in the same location as the TWI
pins on the old Duemilanove or Diecimila Arduino boards.</li></ul>

See also the mapping Arduino Mega 2560 PIN diagram.
</div>
</div>
<div>
Arduino/Genuino Mega 2560 has 16 analog inputs, each of which provide 10 bits of resolution (i.e. 1024 different values). By default they measure from ground to 5 volts,
though is it possible to change the upper end of their range using the AREF pin and <a href="/en/Reference/AnalogReference">analogReference()</a> function.<br>
There are a couple of other pins on the board:<br>
<ul class="textindent">
<li>AREF. Reference voltage for the analog inputs. Used with analogReference().</li>
<li>Reset. Bring this line LOW to reset the microcontroller. Typically used to add a reset button to shields which block the one on the board.</li>
</ul>
</div>


<div>
<div class="subtitle">Communication</div>
The Arduino/Genuino 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. 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).
</div>

<div>
A <a href="/en/Reference/SoftwareSerial">SoftwareSerial library</a> allows for serial communication on any of the Mega 2560's digital pins.
</div>

<div>
The Arduino/Genuino 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 <a href="/en/Reference/Wire">documentation</a> for details. For SPI communication, use the <a href="/en/Reference/SPI">SPI library</a>.
</div>

<div>
<div class="subtitle">Physical Characteristics and Shield Compatibility</div>
The maximum length and width of the Arduino/Genuino 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.
</div>

<div>
Arduino/Genuino Mega 2560 is designed to be compatible with most shields designed for Arduino/Genuino Uno and the older Diecimila or Duemilanove Arduino boards.
Digital pins 0 to 13 (and the adjacent AREF and GND pins), analog inputs 0 to 5, the power header, and ICSP header are all in equivalent locations.
Furthermore, the main UART (serial port) is located on the same pins (0 and 1), as are external interrupts 0 and 1 (pins 2 and 3 respectively).
SPI is available through the ICSP header on both the Arduino/Genuino Mega 2560 and Duemilanove / Diecimila boards. Please note that I2C is not located on
the same pins on the Mega 2560 board (20 and 21) as the Duemilanove / Diecimila boards (analog inputs 4 and 5).
</div>


<div>
<div class="subtitle">Automatic (Software) Reset</div>
Rather then requiring a physical press of the reset button before an upload, the Arduino/Genuino Mega 2560 is designed in a way that allows it to be
reset by software running on a connected computer. One of the hardware flow control lines (DTR) of the ATmega8U2 is connected to the reset line of the
ATmega2560 via a 100 nanofarad capacitor. When this line is asserted (taken low), the reset line drops long enough to reset the chip. The Arduino Software (IDE)
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.
</div>

<div>
This setup has other implications. When the Arduino/Genuino Mega 2560 board 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 ATMega2560. 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.
</div>

<div>
The Arduino/Genuino 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 <a href="http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1213719666/all">this
forum thread</a> for details.
</div>


<div>
<div class="subtitle">Revisions</div>
Arduino/Genuino 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. <br>Revision 2 of the Mega 2560 board has a resistor pulling the 8U2 HWB line to ground, making it easier to put into <a href="/en/Hacking/DFUProgramming8U2">DFU mode.</a><br>
Revision 3 of the Arduino board and the current Genuino Mega 2560 have the following improved features:
<ul class="textindent">
<li>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 purposes.</li>
<li>Stronger RESET circuit.</li>
<li>Atmega 16U2 replace the 8U2.</li>
</ul>
</div>

</div>
</div>




</div>
</div>

</div>

(:htmlend:)
July 24, 2015, at 07:31 PM by Simone Maiocchi -
Changed lines 119-120 from:
The ATmega2560 also supports TWI and SPI communication. The Arduino Software (IDE) includes a Wire library to simplify use of the TWI bus; see the [[Reference/Wire | documentation]] for details. For SPI communication, use the [[Reference/SPI | SPI library]].
to:
The Arduino/Genuino 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 [[Reference/Wire | documentation]] for details. For SPI communication, use the [[Reference/SPI | SPI library]].
July 24, 2015, at 07:28 PM by Simone Maiocchi -
Changed lines 66-67 from:
The Arduino Mega can be powered via the USB connection or with an external power supply. The power source is selected automatically.
to:
The Arduino/Genuino Mega 2560 can be powered via the USB connection or with an external power supply. The power source is selected automatically.
July 24, 2015, at 07:27 PM by Simone Maiocchi -
Changed lines 28-29 from:
The Mega 2560 is an update to the [[ArduinoBoardMega | Arduino Mega]], which it replaces.
to:
The Arduino/Genuino Mega 2560 is an update to the [[ArduinoBoardMega | Arduino Mega]], which it replaces.
July 24, 2015, at 07:26 PM by Simone Maiocchi -
Changed lines 149-150 from:
Arduino/Genuino Mega 2560 is designed to be compatible with most shields designed for Arduino/Genuino Uno and the older Diecimila or Duemilanove Arduino boards. Digital pins 0 to 13 (and the adjacent AREF and GND pins), analog inputs 0 to 5, the power header, and ICSP header are all in equivalent locations. Furthermore, the main UART (serial port) is located on the same pins (0 and 1), as are external interrupts 0 and 1 (pins 2 and 3 respectively). SPI is available through the ICSP header on both the Mega2560 and Duemilanove / Diecimila. ''Please note that I'^2^'C is not located on the same pins on the Mega (20 and 21) as the Duemilanove / Diecimila (analog inputs 4 and 5).''
to:
Arduino/Genuino Mega 2560 is designed to be compatible with most shields designed for Arduino/Genuino Uno and the older Diecimila or Duemilanove Arduino boards. Digital pins 0 to 13 (and the adjacent AREF and GND pins), analog inputs 0 to 5, the power header, and ICSP header are all in equivalent locations. Furthermore, the main UART (serial port) is located on the same pins (0 and 1), as are external interrupts 0 and 1 (pins 2 and 3 respectively). SPI is available through the ICSP header on both the Arduino/Genuino Mega 2560 and Duemilanove / Diecimila boards. ''Please note that I'^2^'C is not located on the same pins on the Mega 2560 board (20 and 21) as the Duemilanove / Diecimila boards (analog inputs 4 and 5).''
July 24, 2015, at 07:25 PM by Simone Maiocchi -
Changed lines 135-140 from:
Rather then requiring a physical press of the reset button before an upload, the Arduino Mega2560 is designed in a way that allows it to be reset by software running on a connected computer. One of the hardware flow control lines (DTR) of the ATmega8U2 is connected to the reset line of the ATmega2560 via a 100 nanofarad capacitor. 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 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 [[http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1213719666/all | this forum thread]] for details.
to:
Rather then requiring a physical press of the reset button before an upload, the Arduino/Genuino Mega 2560 is designed in a way that allows it to be reset by software running on a connected computer. One of the hardware flow control lines (DTR) of the ATmega8U2 is connected to the reset line of the ATmega2560 via a 100 nanofarad capacitor. When this line is asserted (taken low), the reset line drops long enough to reset the chip. The Arduino Software (IDE) 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 Arduino/Genuino Mega 2560 board 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 ATMega2560. 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 Arduino/Genuino 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 [[http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1213719666/all | this forum thread]] for details.
Changed lines 143-144 from:
The Arduino Mega2560 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.
to:
The Arduino/Genuino 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.
Changed lines 147-150 from:
The maximum length and width of the Mega2560 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 Mega2560 is designed to be compatible with most shields designed for the Uno, Diecimila or Duemilanove. Digital pins 0 to 13 (and the adjacent AREF and GND pins), analog inputs 0 to 5, the power header, and ICSP header are all in equivalent locations. Further the main UART (serial port) is located on the same pins (0 and 1), as are external interrupts 0 and 1 (pins 2 and 3 respectively). SPI is available through the ICSP header on both the Mega2560 and Duemilanove / Diecimila. ''Please note that I'^2^'C is not located on the same pins on the Mega (20 and 21) as the Duemilanove / Diecimila (analog inputs 4 and 5).''
to:
The maximum length and width of the Arduino/Genuino 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.

Arduino/Genuino Mega 2560 is designed to be compatible with most shields designed for Arduino/Genuino Uno and the older Diecimila or Duemilanove Arduino boards. Digital pins 0 to 13 (and the adjacent AREF and GND pins), analog inputs 0 to 5, the power header, and ICSP header are all in equivalent locations. Furthermore, the main UART (serial port) is located on the same pins (0 and 1), as are external interrupts 0 and 1 (pins 2 and 3 respectively). SPI is available through the ICSP header on both the Mega2560 and Duemilanove / Diecimila. ''Please note that I'^2^'C is not located on the same pins on the Mega (20 and 21) as the Duemilanove / Diecimila (analog inputs 4 and 5).''
July 24, 2015, at 07:20 PM by Simone Maiocchi -
Changed lines 123-126 from:
The Arduino Mega can be programmed with the Arduino software ([[Main/Software | download]]). For details, see the [[Reference/HomePage | reference]] and [[Tutorial/HomePage | tutorials]].

The ATmega2560 on the Arduino Mega comes preburned with a [[Tutorial/Bootloader | bootloader]] that allows you to upload new code to it without the use of an external hardware programmer. It communicates using the original STK500 protocol ([[http://www.atmel.com/dyn/resources/prod_documents/doc2525.pdf | reference]], [[http://www.atmel.com/dyn/resources/prod_documents/avr061.zip | C header files]]).
to:
The Arduino/Genuino 2560 Mega board can be programmed with the [[Main/Software | Arduino Software (IDE)]]. For details, see the [[Reference/HomePage | reference]] and [[Tutorial/HomePage | tutorials]].

The ATmega2560 on the Arduino/Genuino Mega 2560 comes preprogrammed with a [[Tutorial/Bootloader | bootloader]] that allows you to upload new code to it without the use of an external hardware programmer. It communicates using the original STK500 protocol ([[http://www.atmel.com/dyn/resources/prod_documents/doc2525.pdf | reference]], [[http://www.atmel.com/dyn/resources/prod_documents/avr061.zip | C header files]]).
Changed line 129 from:
The ATmega16U2 (or 8U2 in the rev1 and rev2 boards) firmware source code is available [[http://github.com/arduino/Arduino/tree/master/hardware/arduino/firmwares/ | in the Arduino repository]]. The ATmega16U2/8U2 is loaded with a DFU bootloader, which can be activated by:
to:
The ATmega16U2 (or 8U2 in the rev1 and rev2 boards) firmware source code is available [[https://github.com/arduino/Arduino/tree/master/hardware/arduino/avr/firmwares/ | in the Arduino repository]]. The ATmega16U2/8U2 is loaded with a DFU bootloader, which can be activated by:
July 24, 2015, at 07:17 PM by Simone Maiocchi -
Changed lines 75-76 from:
* '''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.
to:
* '''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 other regulated power source). You can supply voltage through this pin, or, if supplying voltage via the power jack, access it through this pin.
Changed lines 83-84 from:
* '''IOREF.''' This pin on the Arduino 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.
to:
* '''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.
Changed lines 91-92 from:
Each of the 54 digital pins on the Mega can be used as an input or output, using [[Reference/PinMode | pinMode()]], [[Reference/DigitalWrite | digitalWrite()]], and [[Reference/DigitalRead | digitalRead()]] functions. They operate at 5 volts. Each pin can provide or receive a maximum of 40 mA and has an internal pull-up resistor (disconnected by default) of 20-50 kOhms. In addition, some pins have specialized functions:
to:
Each of the 54 digital pins on the Mega can be used as an input or output, using [[Reference/PinMode | pinMode()]], [[Reference/DigitalWrite | digitalWrite()]], and [[Reference/DigitalRead | 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. In addition, some pins have specialized functions:
Changed lines 95-96 from:
* '''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 value, a rising or falling edge, or a change in value. See the [[Reference/AttachInterrupt | attachInterrupt()]] function for details.
to:
* '''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 [[Reference/AttachInterrupt | attachInterrupt()]] function for details.
Changed lines 99-100 from:
* '''SPI: 50 (MISO), 51 (MOSI), 52 (SCK), 53 (SS).''' These pins support SPI communication using the [[Reference/SPI | SPI library]]. The SPI pins are also broken out on the ICSP header, which is physically compatible with the Uno, Duemilanove and Diecimila.
to:
* '''SPI: 50 (MISO), 51 (MOSI), 52 (SCK), 53 (SS).''' These pins support SPI communication using the [[Reference/SPI | SPI 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.
Changed lines 103-106 from:
* '''TWI: 20 (SDA) and 21 (SCL).''' Support TWI communication using the [[Reference/Wire | Wire library]]. Note that these pins are not in the same location as the TWI pins on the Duemilanove or Diecimila.

The Mega2560 has 16 analog inputs, each of which provide 10 bits of resolution (i.e. 1024 different values). By default they measure from ground to 5 volts, though is it possible to change the upper end of their range using the AREF pin and analogReference() function.
to:
* '''TWI: 20 (SDA) and 21 (SCL).''' Support TWI communication using the [[Reference/Wire | Wire library]]. Note that these pins are not in the same location as the TWI pins on the old Duemilanove or Diecimila Arduino boards.

Arduino/Genuino Mega 2560 has 16 analog inputs, each of which provide 10 bits of resolution (i.e. 1024 different values). By default they measure from ground to 5 volts, though is it possible to change the upper end of their range using the AREF pin and analogReference() function.
Changed lines 115-120 from:
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 [[http://www.arduino.cc/en/Reference/SoftwareSerial | 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 [[Reference/Wire | documentation]] for details. For SPI communication, use the [[Reference/SPI | SPI library]].
to:
The Arduino/Genuino 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. 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 [[http://www.arduino.cc/en/Reference/SoftwareSerial | SoftwareSerial library]] allows for serial communication on any of the Mega 2560's digital pins.

The ATmega2560 also supports TWI and SPI communication. The Arduino Software (IDE) includes a Wire library to simplify use of the TWI bus; see the [[Reference/Wire | documentation]] for details. For SPI communication, use the [[Reference/SPI | SPI library]].
July 24, 2015, at 07:09 PM by Simone Maiocchi -
Changed line 54 from:
||DC Current per I/O Pin ||40 mA ||
to:
||DC Current per I/O Pin ||20 mA ||
Changed lines 68-72 from:
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.

to:
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 become unstable. If using more than 12V, the voltage regulator may overheat and damage the board. The recommended range is 7 to 12 volts.

Changed lines 75-76 from:
* '''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.
to:
* '''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.
July 24, 2015, at 07:05 PM by Simone Maiocchi -
Changed line 30 from:
Arduino/Genuino 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 boards) programmed as a USB-to-serial converter.\\
to:
Arduino/Genuino 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.\\
Changed lines 32-33 from:
{+Revision 3+} of the Arduino board and the current Genuino Mega 2560 has the following features:
* 1.0 pinout: 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 S that operate with 3.3V. The second one is a not connected pin, that is reserved for future purposes.
to:
{+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 purposes.
July 24, 2015, at 06:58 PM by Simone Maiocchi -
Changed lines 30-33 from:
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 [[/Hacking/DFUProgramming8U2 | 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.
to:
Arduino/Genuino 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 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 [[/Hacking/DFUProgramming8U2 | DFU mode]].\\
{+Revision 3+} of the Arduino board and the current Genuino Mega 2560 has the following features:
* 1.0 pinout: 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 S that operate with 3.3V. The second one is a not connected pin, that is reserved for future purposes.
July 24, 2015, at 06:52 PM by Simone Maiocchi -
Changed lines 1-3 from:
!!Arduino Mega 2560

to:
!!Arduino/Genuino Mega 2560

Changed lines 8-9 from:
(:cell:)''Arduino Mega2560 R3 Back''
to:
(:cell:)''Arduino Mega 2560 R3 Back''
Changed lines 25-27 from:
The Arduino Mega 2560 is a microcontroller board based on the ATmega2560 ([[http://www.atmel.com/Images/Atmel-2549-8-bit-AVR-Microcontroller-ATmega640-1280-1281-2560-2561_datasheet.pdf | 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-to-DC adapter or battery to get started. The Mega is compatible with most shields designed for the Arduino Duemilanove or Diecimila.

to:
The Arduino/Genuino Mega 2560 is a microcontroller board based on the ATmega2560 ([[http://www.atmel.com/Images/Atmel-2549-8-bit-AVR-Microcontroller-ATmega640-1280-1281-2560-2561_datasheet.pdf | 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-to-DC adapter or battery to get started. The Mega 2560 board is compatible with most shields designed for Arduino/Genuino Uno and the former boards Duemilanove or Diecimila.

September 22, 2014, at 05:27 PM by Angelo Scialabba -
Changed lines 60-61 from:

to:
||Length ||101.52 mm ||
||Width ||53.3 mm ||
||Weight ||37 g ||
September 04, 2014, at 04:22 PM by Arturo -
Changed lines 125-126 from:
You can also bypass the bootloader and program the microcontroller through the ICSP (In-Circuit Serial Programming) header; see [[Hacking/Programmer | these instructions]] for details.
to:
You can also bypass the bootloader and program the microcontroller through the ICSP (In-Circuit Serial Programming) header using [[arduino.cc/en/Main/ArduinoISP | Arduino ISP]] or similar; see [[Hacking/Programmer | these instructions]] for details.
April 29, 2014, at 03:19 PM by Federico Fissore - Changed datasheet link. See issue https://github.com/arduino/Arduino/issues/2037
Changed lines 25-27 from:
The Arduino Mega 2560 is a microcontroller board based on the ATmega2560 ([[http://www.atmel.com/dyn/resources/prod_documents/doc2549.PDF | 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-to-DC adapter or battery to get started. The Mega is compatible with most shields designed for the Arduino Duemilanove or Diecimila.

to:
The Arduino Mega 2560 is a microcontroller board based on the ATmega2560 ([[http://www.atmel.com/Images/Atmel-2549-8-bit-AVR-Microcontroller-ATmega640-1280-1281-2560-2561_datasheet.pdf | 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-to-DC adapter or battery to get started. The Mega is compatible with most shields designed for the Arduino Duemilanove or Diecimila.

February 13, 2014, at 03:36 PM by Katia De Coi -
Added line 17:
February 13, 2014, at 03:28 PM by Katia De Coi -
Changed line 5 from:
(:cell:)[[Attach:ArduinoMega2560_R3_Front.jpg | Attach:ArduinoMega2560_R3_Front_450px.jpg ]]
to:
(:cell:)[[Attach:ArduinoMega2560_R3_Fronte.jpg | Attach:ArduinoMega2560_R3_Front_450px.jpg ]]
February 13, 2014, at 03:25 PM by Katia De Coi -
February 13, 2014, at 11:26 AM by Katia De Coi -
Added line 10:
(:if false:)
Changed lines 15-16 from:
(:tableend:)
to:
(:tableend:)(:ifend:)
May 08, 2013, at 11:16 AM by Roberto Guido - corrected number of PWM pins. Thanks João Perdigão for feedback
Changed lines 23-25 from:
The Arduino Mega 2560 is a microcontroller board based on the ATmega2560 ([[http://www.atmel.com/dyn/resources/prod_documents/doc2549.PDF | datasheet]]). It has 54 digital input/output pins (of which 14 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-to-DC adapter or battery to get started. The Mega is compatible with most shields designed for the Arduino Duemilanove or Diecimila.

to:
The Arduino Mega 2560 is a microcontroller board based on the ATmega2560 ([[http://www.atmel.com/dyn/resources/prod_documents/doc2549.PDF | 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-to-DC adapter or battery to get started. The Mega is compatible with most shields designed for the Arduino Duemilanove or Diecimila.

April 24, 2013, at 04:01 PM by Alberto Cicchi -
Changed lines 38-41 from:
EAGLE files: [[Attach:arduino-mega2560_R3-reference-design.zip | arduino-mega2560_R3-reference-design.zip]]

Schematic: [[Attach:arduino-mega2560_R3-schematic.pdf | arduino-mega2560_R3-schematic.pdf]]
to:
EAGLE files: [[Attach:arduino-mega2560_R3-ref-design.zip | arduino-mega2560_R3-reference-design.zip]]

Schematic: [[Attach:arduino-mega2560_R3-sch.pdf | arduino-mega2560_R3-schematic.pdf]]
January 28, 2013, at 07:47 PM by Federico -
Added lines 79-80:
* '''IOREF.''' This pin on the Arduino 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.
November 23, 2012, at 05:06 PM by Roberto Guido - added comments box on bottom
Changed lines 143-145 from:
The Mega2560 is designed to be compatible with most shields designed for the Uno, Diecimila or Duemilanove. Digital pins 0 to 13 (and the adjacent AREF and GND pins), analog inputs 0 to 5, the power header, and ICSP header are all in equivalent locations. Further the main UART (serial port) is located on the same pins (0 and 1), as are external interrupts 0 and 1 (pins 2 and 3 respectively). SPI is available through the ICSP header on both the Mega2560 and Duemilanove / Diecimila. ''Please note that I'^2^'C is not located on the same pins on the Mega (20 and 21) as the Duemilanove / Diecimila (analog inputs 4 and 5).''
to:
The Mega2560 is designed to be compatible with most shields designed for the Uno, Diecimila or Duemilanove. Digital pins 0 to 13 (and the adjacent AREF and GND pins), analog inputs 0 to 5, the power header, and ICSP header are all in equivalent locations. Further the main UART (serial port) is located on the same pins (0 and 1), as are external interrupts 0 and 1 (pins 2 and 3 respectively). SPI is available through the ICSP header on both the Mega2560 and Duemilanove / Diecimila. ''Please note that I'^2^'C is not located on the same pins on the Mega (20 and 21) as the Duemilanove / Diecimila (analog inputs 4 and 5).''

(:div id='commentsbox':)
August 30, 2012, at 12:06 PM by Federico -
Added lines 28-35:
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 [[/Hacking/DFUProgramming8U2 | 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.
* Stronger RESET circuit.
* Atmega 16U2 replace the 8U2.

Changed lines 68-75 from:
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 [[/Hacking/DFUProgramming8U2 | 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.
* Stronger RESET circuit.
* Atmega 16U2 replace the 8U2.

to:
June 01, 2012, at 03:31 PM by Federico -
Changed line 17 from:
(:cell:) [[http://store.arduino.cc/eu/index.php?main_page=product_info&cPath=11&products_id=71 | Attach:buttonStore.jpg ]]
to:
(:cell:) [[http://store.arduino.cc/ww/index.php?main_page=product_info&cPath=11_12&products_id=196 | Attach:buttonStore.jpg ]]
April 26, 2012, at 01:52 PM by Federico -
Changed line 42 from:
||Digital I/O Pins ||54 (of which 14 provide PWM output) ||
to:
||Digital I/O Pins ||54 (of which 15 provide PWM output) ||
Changed lines 90-91 from:
* '''PWM: 0 to 13.''' Provide 8-bit PWM output with the [[Reference/AnalogWrite | analogWrite()]] function.
to:
* '''PWM: 2 to 13 and 44 to 46.''' Provide 8-bit PWM output with the [[Reference/AnalogWrite | analogWrite()]] function.
April 16, 2012, at 07:36 PM by Scott Fitzgerald -
Changed lines 72-73 from:
* '''5V.''' The regulated power supply used to power the microcontroller and other components on the board. This can come either from VIN via an on-board regulator, or be supplied by USB or another regulated 5V supply.
to:
* '''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.
Changed line 142 from:
The Mega2560 is designed to be compatible with most shields designed for the Uno, Diecimila or Duemilanove. Digital pins 0 to 13 (and the adjacent AREF and GND pins), analog inputs 0 to 5, the power header, and ICSP header are all in equivalent locations. Further the main UART (serial port) is located on the same pins (0 and 1), as are external interrupts 0 and 1 (pins 2 and 3 respectively). SPI is available through the ICSP header on both the Mega2560 and Duemilanove / Diecimila. ''Please note that I'^2^'C is not located on the same pins on the Mega (20 and 21) as the Duemilanove / Diecimila (analog inputs 4 and 5).''
to:
The Mega2560 is designed to be compatible with most shields designed for the Uno, Diecimila or Duemilanove. Digital pins 0 to 13 (and the adjacent AREF and GND pins), analog inputs 0 to 5, the power header, and ICSP header are all in equivalent locations. Further the main UART (serial port) is located on the same pins (0 and 1), as are external interrupts 0 and 1 (pins 2 and 3 respectively). SPI is available through the ICSP header on both the Mega2560 and Duemilanove / Diecimila. ''Please note that I'^2^'C is not located on the same pins on the Mega (20 and 21) as the Duemilanove / Diecimila (analog inputs 4 and 5).''
March 27, 2012, at 12:15 PM by Federico -
Changed lines 30-33 from:
EAGLE files: [[Attach:arduino-mega2560-reference-design.zip | arduino-mega2560_R3-reference-design.zip]]

Schematic: [[Attach:arduino-mega2560-schematic.pdf | arduino-mega2560_R3-schematic.pdf]]
to:
EAGLE files: [[Attach:arduino-mega2560_R3-reference-design.zip | arduino-mega2560_R3-reference-design.zip]]

Schematic: [[Attach:arduino-mega2560_R3-schematic.pdf | arduino-mega2560_R3-schematic.pdf]]
March 27, 2012, at 12:14 PM by Federico -
Changed lines 30-33 from:
EAGLE files: [[Attach:arduino-mega2560-reference-design.zip | arduino-mega2560-reference-design.zip]]

Schematic: [[Attach:arduino-mega2560-schematic.pdf | arduino-mega2560-schematic.pdf]]
to:
EAGLE files: [[Attach:arduino-mega2560-reference-design.zip | arduino-mega2560_R3-reference-design.zip]]

Schematic: [[Attach:arduino-mega2560-schematic.pdf | arduino-mega2560_R3-schematic.pdf]]
November 09, 2011, at 09:06 AM by Federico -
Changed lines 3-5 from:
(:table border=0 :)
(:cell:)%centre%[[Attach:ArduinoMega2560_r2_front.jpg | Attach:ArduinoMega2560_r2_front_450px.jpg ]]
(:cell:)%centre%[[Attach:ArduinoMega2650Back.jpg | Attach:ArduinoMega2650Back_450px.jpg ]]
to:

(:table border=0 align=centre:)
(:cell:)[[Attach:ArduinoMega2560_R3_Front.jpg | Attach:ArduinoMega2560_R3_Front_450px.jpg ]]
(:cell:)[[Attach:ArduinoMega2560_R3_Back.jpg | Attach:ArduinoMega2560_R3_Back_450px.jpg ]]
(:cellnr:)''Arduino Mega 2560 R3 Front''
(:cell:)''Arduino Mega2560 R3 Back''

(:cellnr:)%width=50pct%[[Attach:ArduinoMega2560_r2_front.jpg | Attach:ArduinoMega2560_r2_front_450px.jpg ]]
(:cell:)%width=50pct%[[Attach:ArduinoMega2650Back.jpg | Attach:ArduinoMega2650Back_450px.jpg ]]
Changed line 13 from:
(:cell:)''Arduino Mega 2560 Rear''
to:
(:cell:)''Arduino Mega 2560 Back''
November 07, 2011, at 04:16 PM by Federico -
November 07, 2011, at 03:49 PM by Federico -
Added line 19:
Changed lines 54-56 from:
The Mega2560 differs from all preceding boards in that it does not use the FTDI USB-to-serial driver chip. Instead, it features the Atmega8U2 programmed as a USB-to-serial converter.

to:
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 [[/Hacking/DFUProgramming8U2 | 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.
* Stronger RESET circuit.
* Atmega 16U2 replace the 8U2.

Changed lines 80-81 from:
* '''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 ATmega8U2 USB-to-TTL Serial chip.
to:
* '''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.
Changed lines 102-103 from:
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 ATmega8U2 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 chip and USB connection to the computer (but not for serial communication on pins 0 and 1).
to:
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).
Changed lines 116-117 from:
The ATmega8U2 firmware source code is available [[http://github.com/arduino/Arduino/tree/master/hardware/arduino/firmwares/ | in the Arduino repository]]. The ATmega8U2 is loaded with a DFU bootloader, which can be activated by connecting the solder jumper on the back of the board (near the map of Italy) and then resetting the 8U2. You can then use [[http://www.atmel.com/dyn/products/tools_card.asp?tool_id=3886 | Atmel's FLIP software]] (Windows) or the [[http://dfu-programmer.sourceforge.net/ | 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 [[http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1285962838 | this user-contributed tutorial]] for more information.
to:
The ATmega16U2 (or 8U2 in the rev1 and rev2 boards) firmware source code is available [[http://github.com/arduino/Arduino/tree/master/hardware/arduino/firmwares/ | in the Arduino 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 [[http://www.atmel.com/dyn/products/tools_card.asp?tool_id=3886 | Atmel's FLIP software]] (Windows) or the [[http://dfu-programmer.sourceforge.net/ | 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 [[http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1285962838 | this user-contributed tutorial]] for more information.
October 03, 2011, at 02:52 PM by Federico -
Changed lines 4-5 from:
(:cell:)%centre%[[Attach:ArduinoMega2560_r2_front.jpg| Attach:ArduinoMega2560_r2_front_450px.jpg ]]
(:cell:)%centre%[[Attach:ArduinoMega2650Back.jpg| Attach:ArduinoMega2650Back_450px.jpg ]]
to:
(:cell:)%centre%[[Attach:ArduinoMega2560_r2_front.jpg | Attach:ArduinoMega2560_r2_front_450px.jpg ]]
(:cell:)%centre%[[Attach:ArduinoMega2650Back.jpg | Attach:ArduinoMega2650Back_450px.jpg ]]
October 03, 2011, at 02:51 PM by Federico -
Changed lines 4-5 from:
(:cell:)%centre%[[Attach:ArduinoMega2560_r2_front.jpg| Attach:ArduinoMega2560_r2_front_450px.jpg]]
(:cell:)%centre%[[Attach:ArduinoMega2650Back.jpg| Attach:ArduinoMega2650Back_450px.jpg]]
to:
(:cell:)%centre%[[Attach:ArduinoMega2560_r2_front.jpg| Attach:ArduinoMega2560_r2_front_450px.jpg ]]
(:cell:)%centre%[[Attach:ArduinoMega2650Back.jpg| Attach:ArduinoMega2650Back_450px.jpg ]]
Changed lines 11-12 from:
(:cell:) [[http://store.arduino.cc/eu/index.php?main_page=product_info&cPath=11&products_id=71 | Attach:buttonStore.jpg]]
(:cell:)[[http://arduino.cc/en/Main/Buy | Attach:buttonDistributors.jpg]]
to:
(:cell:) [[http://store.arduino.cc/eu/index.php?main_page=product_info&cPath=11&products_id=71 | Attach:buttonStore.jpg ]]
(:cell:)[[http://arduino.cc/en/Main/Buy | Attach:buttonDistributors.jpg ]]
September 17, 2011, at 01:57 PM by Scott Fitzgerald - mirror dev
Changed lines 4-5 from:
(:cell:)%centre%[[Attach:ArduinoMega2560_r2_front.jpg| Attach:ArduinoMega2560_r2_front450px.jpg]]
(:cell:)%centre%[[Attach:ArduinoMega2650Back.jpg| Attach:ArduinoMega2650Back450px.jpg]]
to:
(:cell:)%centre%[[Attach:ArduinoMega2560_r2_front.jpg| Attach:ArduinoMega2560_r2_front_450px.jpg]]
(:cell:)%centre%[[Attach:ArduinoMega2650Back.jpg| Attach:ArduinoMega2650Back_450px.jpg]]
September 17, 2011, at 01:55 PM by Scott Fitzgerald - mirror dev
Changed lines 3-5 from:
%height=400%[[Attach:ArduinoMega2650Front.jpg| Attach:ArduinoMega2650Front.jpg]]

%height=400%[[Attach:ArduinoMega2650Back.jpg| Attach:ArduinoMega2650Back.jpg]]
to:
(:table border=0 :)
(:cell:)%centre%[[Attach:ArduinoMega2560_r2_front.jpg| Attach:ArduinoMega2560_r2_front450px.jpg]]
(:cell:)%centre%[[Attach:ArduinoMega2650Back.jpg| Attach:ArduinoMega2650Back450px.jpg]]
(:cellnr:)''Arduino Mega 2560 Front''
(:cell:)''Arduino Mega 2560 Rear''
(:tableend:)

(:table border = 0 :)
(:cell:) [[http://store.arduino.cc/eu/index.php?main_page=product_info&cPath=11&products_id=71 | Attach:buttonStore.jpg]]
(:cell:)[[http://arduino.cc/en/Main/Buy | Attach:buttonDistributors.jpg]]
(:tableend:)
Deleted line 27:
Changed line 33 from:
||Input Voltage (recommended) ||9V ||
to:
||Input Voltage (recommended) ||7-12V ||
Changed line 128 from:
The Mega2560 is designed to be compatible with most shields designed for the Uno, Diecimila or Duemilanove. Digital pins 0 to 13 (and the adjacent AREF and GND pins), analog inputs 0 to 5, the power header, and ICSP header are all in equivalent locations. Further the main UART (serial port) is located on the same pins (0 and 1), as are external interrupts 0 and 1 (pins 2 and 3 respectively). SPI is available through the ICSP header on both the Mega2560 and Duemilanove / Diecimila. ''Please note that I'^2^'C is not located on the same pins on the Mega (20 and 21) as the Duemilanove / Diecimila (analog inputs 4 and 5).''
to:
The Mega2560 is designed to be compatible with most shields designed for the Uno, Diecimila or Duemilanove. Digital pins 0 to 13 (and the adjacent AREF and GND pins), analog inputs 0 to 5, the power header, and ICSP header are all in equivalent locations. Further the main UART (serial port) is located on the same pins (0 and 1), as are external interrupts 0 and 1 (pins 2 and 3 respectively). SPI is available through the ICSP header on both the Mega2560 and Duemilanove / Diecimila. ''Please note that I'^2^'C is not located on the same pins on the Mega (20 and 21) as the Duemilanove / Diecimila (analog inputs 4 and 5).''
September 12, 2011, at 03:36 AM by Scott Fitzgerald -
Changed line 25 from:
||Input Voltage (recommended) ||7-12V ||
to:
||Input Voltage (recommended) ||9V ||
August 17, 2011, at 05:24 AM by David A. Mellis -
Changed lines 18-19 from:
Pin Mapping: [[http://dev.arduino.cc/wiki/en/Hacking/PinMapping2560 | PinMap2560 page ]]
to:
Pin Mapping: [[Hacking/PinMapping2560 | PinMap2560 page ]]
July 09, 2011, at 06:40 PM by Scott Fitzgerald -
Changed lines 76-77 from:
* '''I'^2^'C: 20 (SDA) and 21 (SCL).''' Support I'^2^'C (TWI) communication using the [[Reference/Wire | Wire library]]. Note that these pins are not in the same location as the I'^2^'C pins on the Duemilanove or Diecimila.
to:
* '''TWI: 20 (SDA) and 21 (SCL).''' Support TWI communication using the [[Reference/Wire | Wire library]]. Note that these pins are not in the same location as the TWI pins on the Duemilanove or Diecimila.
Changed lines 92-93 from:
The ATmega2560 also supports I2C (TWI) and SPI communication. The Arduino software includes a Wire library to simplify use of the I2C bus; see the [[Reference/Wire | documentation]] for details. For SPI communication, use the [[Reference/SPI | SPI library]].
to:
The ATmega2560 also supports TWI and SPI communication. The Arduino software includes a Wire library to simplify use of the TWI bus; see the [[Reference/Wire | documentation]] for details. For SPI communication, use the [[Reference/SPI | SPI library]].
June 23, 2011, at 01:08 PM by Scott Fitzgerald -
Changed lines 76-77 from:
* '''I'^2^'C: 20 (SDA) and 21 (SCL).''' Support I'^2^'C (TWI) communication using the [[http://wiring.org.co/reference/libraries/Wire/index.html | Wire library]] (documentation on the Wiring website). Note that these pins are not in the same location as the I'^2^'C pins on the Duemilanove or Diecimila.
to:
* '''I'^2^'C: 20 (SDA) and 21 (SCL).''' Support I'^2^'C (TWI) communication using the [[Reference/Wire | Wire library]]. Note that these pins are not in the same location as the I'^2^'C pins on the Duemilanove or Diecimila.
Changed lines 92-93 from:
The ATmega2560 also supports I2C (TWI) and SPI communication. The Arduino software includes a Wire library to simplify use of the I2C bus; see the [[http://wiring.org.co/reference/libraries/Wire/index.html | documentation on the Wiring website]] for details. For SPI communication, use the [[Reference/SPI | SPI library]].
to:
The ATmega2560 also supports I2C (TWI) and SPI communication. The Arduino software includes a Wire library to simplify use of the I2C bus; see the [[Reference/Wire | documentation]] for details. For SPI communication, use the [[Reference/SPI | SPI library]].
May 30, 2011, at 01:03 PM by Priya Kuber -
Changed lines 12-13 from:
!!!Schematic & Reference Design & Pin Mapping
to:
!!!Schematic, Reference Design & Pin Mapping
Changed lines 18-19 from:
Pin Mapping: [[Attach:PinMap2560.png | PinMap2560.png ]]
to:
Pin Mapping: [[http://dev.arduino.cc/wiki/en/Hacking/PinMapping2560 | PinMap2560 page ]]
May 23, 2011, at 02:17 PM by Priya Kuber -
Changed lines 18-19 from:
Pin Mapping: [[Attach:PinMap2560.png | ]]
to:
Pin Mapping: [[Attach:PinMap2560.png | PinMap2560.png ]]
May 23, 2011, at 02:10 PM by Priya Kuber -
Changed lines 18-19 from:
Pin Mapping: [[Attach:http://dev.arduino.cc/wiki/en/uploads/Hacking/PinMap2560.png]]
to:
Pin Mapping: [[Attach:PinMap2560.png | ]]
May 23, 2011, at 02:03 PM by Priya Kuber -
Changed lines 12-13 from:
!!!Schematic & Reference Design
to:
!!!Schematic & Reference Design & Pin Mapping
Added lines 18-19:
Pin Mapping: [[Attach:http://dev.arduino.cc/wiki/en/uploads/Hacking/PinMap2560.png]]
December 06, 2010, at 06:26 PM by Davide Gomba -
October 17, 2010, at 08:04 PM by David A. Mellis -
Added lines 10-11:
The Mega 2560 is an update to the [[ArduinoBoardMega | Arduino Mega]], which it replaces.
October 09, 2010, at 04:03 PM by David A. Mellis -
Added lines 98-99:
The ATmega8U2 firmware source code is available [[http://github.com/arduino/Arduino/tree/master/hardware/arduino/firmwares/ | in the Arduino repository]]. The ATmega8U2 is loaded with a DFU bootloader, which can be activated by connecting the solder jumper on the back of the board (near the map of Italy) and then resetting the 8U2. You can then use [[http://www.atmel.com/dyn/products/tools_card.asp?tool_id=3886 | Atmel's FLIP software]] (Windows) or the [[http://dfu-programmer.sourceforge.net/ | 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 [[http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1285962838 | this user-contributed tutorial]] for more information.
September 20, 2010, at 05:18 PM by David A. Mellis -
Changed line 27 from:
||Flash Memory ||128 KB of which 4 KB used by bootloader ||
to:
||Flash Memory ||256 KB of which 8 KB used by bootloader ||
Changed lines 56-57 from:
The ATmega2560 has 256 KB of flash memory for storing code (of which 4 KB is used for the bootloader), 8 KB of SRAM and 4 KB of EEPROM (which can be read and written with the [[http://www.arduino.cc/en/Reference/EEPROM | EEPROM library]]).
to:
The ATmega2560 has 256 KB of flash memory for storing code (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 [[http://www.arduino.cc/en/Reference/EEPROM | EEPROM library]]).
Changed lines 68-69 from:
* '''SPI: 50 (MISO), 51 (MOSI), 52 (SCK), 53 (SS).''' These pins support SPI communication, which, although provided by the underlying hardware, is not currently included in the Arduino language. The SPI pins are also broken out on the ICSP header, which is physically compatible with the Uno, Duemilanove and Diecimila.
to:
* '''SPI: 50 (MISO), 51 (MOSI), 52 (SCK), 53 (SS).''' These pins support SPI communication using the [[Reference/SPI | SPI library]]. The SPI pins are also broken out on the ICSP header, which is physically compatible with the Uno, Duemilanove and Diecimila.
Changed lines 88-89 from:
The ATmega2560 also supports I2C (TWI) and SPI communication. The Arduino software includes a Wire library to simplify use of the I2C bus; see the [[http://wiring.org.co/reference/libraries/Wire/index.html | documentation on the Wiring website]] for details. To use the SPI communication, please see the ATmega2560 datasheet.
to:
The ATmega2560 also supports I2C (TWI) and SPI communication. The Arduino software includes a Wire library to simplify use of the I2C bus; see the [[http://wiring.org.co/reference/libraries/Wire/index.html | documentation on the Wiring website]] for details. For SPI communication, use the [[Reference/SPI | SPI library]].
September 20, 2010, at 04:25 PM by Tom Igoe -
Added lines 1-114:
!!Arduino Mega 2560

%height=400%[[Attach:ArduinoMega2650Front.jpg| Attach:ArduinoMega2650Front.jpg]]

%height=400%[[Attach:ArduinoMega2650Back.jpg| Attach:ArduinoMega2650Back.jpg]]
!!!Overview

The Arduino Mega 2560 is a microcontroller board based on the ATmega2560 ([[http://www.atmel.com/dyn/resources/prod_documents/doc2549.PDF | datasheet]]). It has 54 digital input/output pins (of which 14 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-to-DC adapter or battery to get started. The Mega is compatible with most shields designed for the Arduino Duemilanove or Diecimila.

!!!Schematic & Reference Design

EAGLE files: [[Attach:arduino-mega2560-reference-design.zip | arduino-mega2560-reference-design.zip]]

Schematic: [[Attach:arduino-mega2560-schematic.pdf | arduino-mega2560-schematic.pdf]]

!!!Summary

||border=0
||Microcontroller ||ATmega2560 ||
||Operating Voltage ||5V ||
||Input Voltage (recommended) ||7-12V ||
||Input Voltage (limits) ||6-20V ||
||Digital I/O Pins ||54 (of which 14 provide PWM output) ||
||Analog Input Pins ||16 ||
||DC Current per I/O Pin ||40 mA ||
||DC Current for 3.3V Pin ||50 mA ||
||Flash Memory ||128 KB of which 4 KB used by bootloader ||
||SRAM ||8 KB ||
||EEPROM ||4 KB ||
||Clock Speed ||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 Mega2560 differs from all preceding boards in that it does not use the FTDI USB-to-serial driver chip. Instead, it features the Atmega8U2 programmed as a USB-to-serial converter.


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.

* '''5V.''' The regulated power supply used to power the microcontroller and other components on the board. This can come either from VIN via an on-board regulator, or be supplied by USB or another regulated 5V supply.

* '''3V3.''' A 3.3 volt supply generated by the on-board regulator. Maximum current draw is 50 mA.

* '''GND.''' Ground pins.

!!!Memory

The ATmega2560 has 256 KB of flash memory for storing code (of which 4 KB is used for the bootloader), 8 KB of SRAM and 4 KB of EEPROM (which can be read and written with the [[http://www.arduino.cc/en/Reference/EEPROM | EEPROM library]]).

!!!Input and Output

Each of the 54 digital pins on the Mega can be used as an input or output, using [[Reference/PinMode | pinMode()]], [[Reference/DigitalWrite | digitalWrite()]], and [[Reference/DigitalRead | digitalRead()]] functions. They operate at 5 volts. Each pin can provide or receive a maximum of 40 mA and has an internal pull-up resistor (disconnected by default) of 20-50 kOhms. In addition, some pins have specialized functions:

* '''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 ATmega8U2 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 value, a rising or falling edge, or a change in value. See the [[Reference/AttachInterrupt | attachInterrupt()]] function for details.

* '''PWM: 0 to 13.''' Provide 8-bit PWM output with the [[Reference/AnalogWrite | analogWrite()]] function.

* '''SPI: 50 (MISO), 51 (MOSI), 52 (SCK), 53 (SS).''' These pins support SPI communication, which, although provided by the underlying hardware, is not currently included in the Arduino language. The SPI pins are also broken out on the ICSP header, which is physically compatible with the Uno, Duemilanove and Diecimila.

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

* '''I'^2^'C: 20 (SDA) and 21 (SCL).''' Support I'^2^'C (TWI) communication using the [[http://wiring.org.co/reference/libraries/Wire/index.html | Wire library]] (documentation on the Wiring website). Note that these pins are not in the same location as the I'^2^'C pins on the Duemilanove or Diecimila.

The Mega2560 has 16 analog inputs, each of which provide 10 bits of resolution (i.e. 1024 different values). By default they measure from ground to 5 volts, though is it possible to change the upper end of their range using the AREF pin and analogReference() function.

There are a couple of other pins on the board:

* '''AREF.''' Reference voltage for the analog inputs. Used with [[Reference/AnalogReference | analogReference]]().

* '''Reset.''' Bring this line LOW to reset the microcontroller. Typically used to add a reset button to shields which block the one on the board.

!!!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 ATmega8U2 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 chip and USB connection to the computer (but not for serial communication on pins 0 and 1).

A [[http://www.arduino.cc/en/Reference/SoftwareSerial | SoftwareSerial library]] allows for serial communication on any of the Mega2560's digital pins.

The ATmega2560 also supports I2C (TWI) and SPI communication. The Arduino software includes a Wire library to simplify use of the I2C bus; see the [[http://wiring.org.co/reference/libraries/Wire/index.html | documentation on the Wiring website]] for details. To use the SPI communication, please see the ATmega2560 datasheet.

!!!Programming

The Arduino Mega can be programmed with the Arduino software ([[Main/Software | download]]). For details, see the [[Reference/HomePage | reference]] and [[Tutorial/HomePage | tutorials]].

The ATmega2560 on the Arduino Mega comes preburned with a [[Tutorial/Bootloader | bootloader]] that allows you to upload new code to it without the use of an external hardware programmer. It communicates using the original STK500 protocol ([[http://www.atmel.com/dyn/resources/prod_documents/doc2525.pdf | reference]], [[http://www.atmel.com/dyn/resources/prod_documents/avr061.zip | C header files]]).

You can also bypass the bootloader and program the microcontroller through the ICSP (In-Circuit Serial Programming) header; see [[Hacking/Programmer | these instructions]] for details.

!!!Automatic (Software) Reset

Rather then requiring a physical press of the reset button before an upload, the Arduino Mega2560 is designed in a way that allows it to be reset by software running on a connected computer. One of the hardware flow control lines (DTR) of the ATmega8U2 is connected to the reset line of the ATmega2560 via a 100 nanofarad capacitor. 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 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 [[http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1213719666/all | this forum thread]] for details.

!!!USB Overcurrent Protection

The Arduino Mega2560 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.

!!!Physical Characteristics and Shield Compatibility

The maximum length and width of the Mega2560 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 Mega2560 is designed to be compatible with most shields designed for the Uno, Diecimila or Duemilanove. Digital pins 0 to 13 (and the adjacent AREF and GND pins), analog inputs 0 to 5, the power header, and ICSP header are all in equivalent locations. Further the main UART (serial port) is located on the same pins (0 and 1), as are external interrupts 0 and 1 (pins 2 and 3 respectively). SPI is available through the ICSP header on both the Mega2560 and Duemilanove / Diecimila. ''Please note that I'^2^'C is not located on the same pins on the Mega (20 and 21) as the Duemilanove / Diecimila (analog inputs 4 and 5).''

Share