This website was originally written in Ruby and hosted on the Raspberry Pi. It's now archived at GitHub for posterity!

Arduino Due

Before launching into this brief review of the Arduino Due, it's important to note that this beefy complement to the ATMega based Arduino boards is absolutely not Arduino's answer to the Raspberry Pi. It may feature an ARM-based processor, but still adopts the bare-metal programming of its siblings meaning it's a very different beast. The Due is an extremely low power, low resource, experimentation/rapid development board designed to demonstrate a basic hardware template that you can adapt and evolve to suit your needs and eventually build into a finished, shipping product.

The Due gives you a chance to get hands-on with its 32-bit, 84Mhz ARM-Cortex A3 processor; the SAM3X8E. It doesn't do much to abstract away the complexity of its hardware, making getting down and dirty with registers much easier, and doesn't give you any operating system to deal with. That means no linux. There's nothing stopping you from writing one or using an existing RTOS like ChibiOS, FreeRTOS or NilRTOS. Don't get these confused with the likes of Linux, though, an Operating System on an Arduino is extremely barebones and designed specifically for realtime hardware control.

That's not to say the Due doesn't have some overlap in functionality with the Pi, but in reality this overlap is small. The Due boasts digital inputs/outputs, analogue inputs, PWM outputs and, for the first time ever on an Arduino, a DAC driving a pair of real analogue outputs; providing variable output voltage rather than simply relying on Pulse-Width Modulation. Flexibility is the name of the game, and the Due has it in droves.

When it was announced back in October 2012, the Due met with controversy due to its lower IO voltage, the same 3.3v as the Pi, which makes it incompatible with some existing designs, tutorials and expansion boards ( also known as Shields ). Months since it's launch, many Arduino libraries will not work on, or even compile for, the radically different microprocessor but this shouldn't put you off- the vibrant Arduino community will eventually work wonders with the Due, and being a part of that is both challenging and rewarding.

Despite a slow start brought on by its complete paradigm shift in the processor department, the Due is gaining traction. As more people pick it up and explore what it's capable of the community support gets better and better. Since getting my hands on the Due I have played with some great existing libraries, most notably Arduino Due VGA (, and slapped up some code of my own to read a MegaDrive Controller. I had fun, I experienced the raw power of the Due first hand, and I'm excited to see just how much further I can push it.

« Back to index Posted on 2013-07-22 by