Arduino vs Netduino

Which Microcontroller Platform Will Come Out on Top?

Netduino Plus
Thomas Amberg/Wikimedia Commons/Creative Commons 2.0

Arduino has experienced an explosion in popularity, reaching a mainstream audience that was unexpected given its niche beginnings. Arduino is a technology that is at the forefront of what many are calling a “hardware renaissance,” an era when hardware experimentation is more accessible than ever before. Hardware will play a major role in the next wave of innovation. Arduino has become so popular that it has spawned a number of projects that have taken its open source form factor and extended its functionality.

One such project is Netduino, a micro controller platform that is pin-compatible with many Arduino shields, but is based on the .NET Micro software framework. Which of these platforms will become the standard for hardware prototyping?

Coding in Netduino on C#

One of the major selling points of the Netduino platform is the robust software framework that Netduino employs. Arduino uses the Wiring language, and the Arduino IDE allows for a high level of control and visibility over the “bare metal” of the microcontroller. Netduino on the other hand, uses the familiar .NET framework, allowing programers to work in C# using Microsoft Visual Studio. 

Both Arduino and Netduino are designed to make the world of microcontroller development more accessible to a general audience of programmers, so the use of software toolsets that are already familiar to many programmers is a big plus. Netduino programming works at a higer level of abstraction than that of Arduino, allowing for more software development features that will be familiar and comfortable for those transitioning from the world of software.

Netduino is More Powerful, but More Expensive

In general the computing power of the Netduino range is higher than that of Arduino. With some Netduino models working with a 32-bit processor running at up to 120 MHz, and plenty of RAM and FLASH memory to spare, the Netduino is appreciably faster than many of its Arduino counterparts.

This additional power does come with a larger price tag, although Netduino costs per unit are not prohibitively more expensive. These costs can mount however, if Netduino units are needed at scale.

Arduino has Many Support Libraries

A major strength of Arduino lies in its large and energized community. The open source project has gathered a large collection of collaborators, who have provided a great deal of useful code libraries allowing Arduino to interface with a variety of hardware and software. While the community around Netduino is growing, it is still early enough in its life that any requirement for support may need custom libraries to be built. Similarly the code samples, tutorials and expertise available for Arduino is far more developed than its counterpart. 

Suitability as a Prototyping Environment

One very important consideration when deciding on a platform is whether or not the project will serve as a prototype for a future hardware product that will be scaled. Arduino is very well suited in this role, and with a small amount of work, the Arduino can be replaced with an AVR microcontroller from Atmel and solder a project together that can be used in production. The hardware costs are incremental and suitable for scaling a production run of hardware.

While similar steps can be taken with a Netduino, the process is less straightforward, and could even require the use of a completely new Netduino, which changes the cost structure of a product significantly. The software footprint, hardware requirements, and software implementation details like garbage collection all complicate the Netduino platform when thinking about using it as a hardware product. 

Netduino and Arduino both provide great introduction to microcontroller development for those looking to transition from software programming. At a high level, Netduino can be a more approachable platform for casual experimentation, particularly if one has a background with the software, C#, .NET, or Visual Studio.

Arduino provides a slightly steeper learning curve with its IDE, but a bigger community for support, and more flexibility should one wish to take a prototype into production.