Arduino development boards: The Mega

In this series, I’ve gone over the Arduino Uno development board that seems to be the de facto standard, as well as the Nano, which is great when you need very similar capabilities in a much smaller form factor. If, however, you need something with more IO and memory, then the Arduiono Mega may be worth a look.

[The Arduino Mega | Image by oomlout, CC BY-SA 2.0, via Wikimedia Commons]

For comparison, the Uno features an ATmega328P microcontroller running at 16 MHz, which is the same speed as the Mega’s ATmega1280 chip. The difference that one will immediately notice, however, is that the Mega features a massive 54 digital I/O pins and 16 inputs, compared to the Uno’s 14 and 6. Additionally, the Mega has 128 KB of flash memory, 8 KB SRAM, and 4 KB or EEPROM space. The Uno has a quarter of this storage at 32 KB flash, 2 KB SRAM, and 1 KB EEPROM.

Physical space-wise, per drawings seen here, the Mega is longer than the Uno at 4”, or 101.6 mm, but maintains the same width of 2.1” or 53.3 mm. This is certainly not a coincidence, but besides perhaps being more convenient to fit into certain Uno-sized spaces, it’s designed to be compatible with most Arduino Uno shields. These shields, or expansion boards as you might call them, plug into a Mega in the same way that they work with the Uno, but still leave quite a few pins available for other uses.

[A patch Shield allows this Arduino Mega to work with RJ-45 jacks | Image by John Edgar Park]

On example, the patch shield pictured above connected to a Mega can allow 32 pins to be broken out for easy remote I/O. This could be useful for monitoring applications, or in a modular application where you need to attach and detach certain sensor or control packages quickly.

As you might expect, hackers and MakerPros have found many uses for this capable board. Perhaps the most well-known use of an Arduino Mega is in the RepRap Arduino Mega Polulu Shield, which you may have heard referred to as “RAMPS.” I didn’t actually know what the acronym stands for, but have certainly heard of it as the brains of many 3D printers and other CNC equipment. The system is a great alternative to expensive commercial controllers, or those that use a parallel port for control from a PC.

[A 3D printer powered by a RAMPS board and Arduino Mega | Image by RepRap documentation]

As another example, the Speeduino project, aims to replicate an automobile’s engine management system (EMS, AKA ECU) and uses an Arduino Mega for control. According to its author, “[It] Uses all the hardware timers as well as most of the EEPROM on the Mega 2560, so not something that could be done on the smaller Arduinos.”

Certainly there are more capable boards out there than the Arduinos I’ve gone over so far. On the other hand, it’s very hard to find the same kind of community and hardware support that this system has, and the Arduino Mega is more than enough for many applications!

RAMPS and Speeduino examples are available via Reddit.

Jeremy S. Cook is a freelance tech journalist and engineering consultant with over 10 years of factory automation experience. An avid maker and experimenter, you can see some of his exploits on the Jeremy Cook’s Projects YouTube Channel.

Topics covered in this article