10/24/2012

Arduino Due vs the Arduino Mega 2560 and TI Stellaris Launchpad

ARM powered Arduino Due

Where can you buy an Arduino Due?

The Arduino site itself shows 'SOLD OUT' on their Arduino Due page.  I ordered an Arduino Due this morning from Mouser electronics.  The Due's are being sold at Mouser for $39.95, which is $10 cheaper than the $50 price I've seen in press releases so far.  They are being shown on backorder, so I don't know how long it will take for me to actually get my hands on one.

Why in the world did they name this board the Arduino Due?  Won't there be confusion between the Arduino Due and the Arduino Duemilanove?  I've seen the Duemilanove shortened to Due many times in the past.  Could be a source of confusion...

Arduino Due specs

The Due is powered by a 32 bit Atmel ARM Cortex M3 microcontroller.  Here's a quick rundown of the Arduino Due's specs:

ARM Cortex M3 microcontroller running at 84 MHz
54 digital I/O pins
12 PWM pins
12 Analog input pins
2 Analog Output pins (digital to analog converters or DAC)
512K Flash storage (program storage)
96K RAM
Operating voltage 3.3V
4 UARTS (serial ports)
USB port can act as a host for devices like mice, keyboards, etc.

For more info, go to the Arduino Due page at Arduino.cc

What's so good about the Arduino Due?

Obviously, a much more powerful 32 bit processor is a huge upgrade from the 8 bit chips.
Tons of I/O, program storage and ample RAM
The DAC's provide for easy playback of music and voice, using the Audio library.  WAV file playback right away, with other formats supported later.
12 bit resolution on analog inputs and DAC's.  This gives 4096 levels of resolution versus the 8 bit resolution of the Arduino UNO, et al, which only had 256 levels of resolution.
Open source!  The Eagle files are already posted at Arduino.cc.  Stay tuned for cheap eBay knockoffs.

What's missing from the Arduino Due?

No floating point unit.  Still has to use emulation, although it will be much faster.  TI's Stellaris Launchpad, by comparison, has a hardware floating point unit.
An Ethernet port would have been really nice.
5.0 Volt device support - I know there was no getting around this, but it's going to cause lots of problems with all of the 5 volt devices and shields already in the Arduino ecosystem.

Comparing the Arduino Due to the Arduino Mega 2560

I currently own an Arduino Mega 2560 clone ($22 on eBay).  Some quick specs vs. the Arduino Due:
54 digital I/O pins on both.
12 PWM pins on both.
16 analog inputs on Mega 2560, 12 analog inputs on Due
256K program storage on Mega 2560, 512K program storage on Due

If you need a faster, more powerful processor than the Mega 2560, DAC's, 12 bit resolution on ADCs and DACs, USB 2.0 host support...then the Arduino Due is the clear choice.

I'm still a beginner, and I can't fathom needing more than the Mega 2560 at this point.  The processor is plenty fast enough, there's virtually infinite I/O on the board, and I like the fact that it can support both 3.3 and 5 volt devices.  

As far as price goes, the Mega 2560 is currently selling for $58.95 at the retailer Sparkfun, while the Arduino Due is listed for $49.95, although it is not in stock.  Realistically, Mega 2560 clones can be had on eBay for $22 shipped.  We will have to wait and see what the Arduino Due knockoffs sell for.

I can imagine applications where the Arduino Due would shine vs. the Arduino Mega 2560.  CNC and 3d printing are two such applications.  Complex robotic systems are another, especially talking robots, or robots with advanced mapping and navigation systems.  I'm not building these types of systems yet, so the advantage to me would be nil at this point.

At what point would you jump from using a Mega 2560 to just using a full fledged mini-PC instead of a microcontroller?  The jump to the Arduino Due almost seems incremental to me.  I do have one on the way, so I'll reserve judgment for when I get my hands on one.  It might end up knocking my socks off.

Comparing the Arduino Due to the TI Stellaris Launchpad

The only reason I am making the comparison of the Arduino Due vs. the TI Stellaris Launchpad is because of the Energia IDE.  Energia allows you to program TI microcontrollers (currently just the MSP430 value line) using Arduino sketches.  I've used Energia with the TI MSP430 Launchpad, and can attest that it works very well.  The developers of Energia announced a few weeks ago that they are working on Stellaris Launchpad support and it should be ready 'soon'.

The Stellaris Launchpad had a promo price of $5 at it's launch, but the price is now $12.99.  This is not really a fair comparison with the Arduino Due, since TI is undoubtedly selling the Stellaris Launchpad at a loss, or at best break-even.  But, you can buy it for $12.99, shipped.

Let's compare the specs of the Arduino Due vs. the Stellaris Launchpad:
Stellaris has an ARM Cortex M4F microcontroller running at 80Mhz vs. the Due's M3 running at 84 Mhz
Stellaris has 35 digital I/O vs 54 on Due
8 UARTS on Stellaris, 4 UARTS on Due
2 12 bit DAC's on both Stellaris and Due
16 PWM outputs on Stellaris, 12 PWM outputs on Due
Hardware FPU on Stellaris, Due relies on software emulation
Stellaris has 256K flash memory program space, Due has 512K program space
Stellaris has 32K RAM, Due has 96K RAM

The TI Launchpad Stellaris beats the Arduino Due in every category except for total amount of I/O available and Flash memory/SRAM.  The two boards are close enough hardware wise to be very comparable for most applications I think.

The real question is when and how good will the Energia support be for the Stellaris Launchpad?  There are plenty of chips and dev boards that are better than the Atmel based Arduino boards, but the Arduino almost always holds the edge in ease and speed of development.

Stay Tuned!

I'll be posting more when I get my Arduino Due from Mouser.