Arduino vs. Netduino

Netduino Plus
Thomas Amberg/Wikimedia Commons/Creative Commons 2.0

Arduino, an open-source electronics platform with easy-to-use hardware and software, 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.

Arduino became so popular that it spawned a number of projects that have taken its open-source form factor and extended the functionality. One such project is Netduino, a microcontroller platform that is pin-compatible with many Arduino shields, but it is based on the .NET Micro Framework.

Which of these platforms is more suitable for the hardware you are 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 programmers 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 higher 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 168 MHz and plenty of RAM and Flash memory to spare, the Netduino is appreciably faster than many of its Arduino counterparts. This additional power comes with a larger price tag, although Netduino costs per unit are not prohibitively more expensive. These costs can up 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. This open-source project attracted a large collection of collaborators who have added to useful code libraries that allow 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 are far more developed than its counterpart. 

Suitability as a Prototyping Environment

One important consideration when deciding on a platform is whether the project will serve as a prototype for a future hardware product that will be scaled. Arduino is well suited in this role, and with a small amount of work, the Arduino can be replaced with an AVR microcontroller from Atmel in a project 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 require the use of a new Netduino, which changes the cost structure of a product significantly. The software footprint, hardware requirements, and software implementation details such as garbage collection all complicate the Netduino platform when you are thinking about using it as a hardware product. 

Netduino and Arduino both provide great introductions 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 you have a background with the software, C#, .NET, or Visual Studio. Arduino provides a slightly steeper learning curve with its IDE but has a bigger community for support and more flexibility should you want to take a prototype into production.