With the latest acquisition of the Netduino by Wilderness Labs, there is an attempt to resurrect Netduino. My tech-hungry mind got intrigued by it. And I decided to explore the device.
What is Netduino?
This is a cousin of Arduino with the same pin layout. So, most of the Arduino shields will fit with it. It comes in three flavors 1. No internet, 2. Ethernet cable and 3 WiFi. All models also come with a slot for SD Card. In terms of hardware, this is a big advantage over Arduino.
Its programming stack is powered by the .net micro framework. It comes with a peripheral library and can be programmed using C# (2.0) and Visual Studio 2015.
Besides the peripheral library, Wilderness Labs provides a basic REST API server known as Maple server with GET and POST verbs. That makes it easy for an App or any other internet connected device to communicates with it. If you know C# and .net stack, you can develop both the firmware (using Visual Studio 2015) and the (Using Visual Studio for Mac or VS 2017) with it. They also have Electronics Tutorial available should you need them.
At this point, it is tempting to compare Netduino with Arduino and Raspberry Pi. Here is how I compare them.
Netduino vs Arduino
- SD card
Netduino has an SD card slot. That provides a lot of space for temporary as well as persistence storge. This is beneficial in cases like the power recycle and offline storage.
- C# Language
Wiring/C may not be the preferred language for some developers. If developers are familiar with C#, they need not learn another language.
- Netduino.Foundation library
This peripheral library provides a consistent interface with peripherals and developer need not hunt and maintain 3rd party libraries. Makes developers more productive.
- Maple REST API server
Having a REST API server on the device reduces framework development overheads. I found it useful.
Netduino vs Raspberry Pi
- Supports Analog inputs
Netduino supports both Analog and Digital inputs. So there is no overhead of an ADC converter.
- Easy to learn and install
Netduino is much easier to install and operate compared to Raspberry Pi.
- Maple REST API server
Having a REST API server on the device reduces framework development overheads.
- Lower power consumption
The power consumption of Neduino is lower than Raspberry Pi.
Given all of the above, where would I not use Netduino?
- If you need full SSL stack now, Raspberry Pi is a better choice. (Netduino is working on it.)
- If I am using not so common peripherals, I would check the device driver availability for Netduino.
- If a device needs to connect programmatically to WiFi, that option is not available on Netduino.
Since full SSL support work is in progress, Netduino has a good potential to become an IoT hub or an independent device that can directly communicate with the cloud and the sensors. To make it more appealing, I would also like to see:
- BLE support to communicate with other peripherals
- Sim card holder, so it can be used where WiFi is not available. E.g. Agriculture, Wind Mills etc.
- .NET standard support (upcoming)
This got me excited and I jumped on an opportunity to build both a firmware and an App that is now published on hackster.io.
The source is found here:
Feel free to use it for a reference when you develop your firmware or the App.