Now … I can write something !! Smile

 

About two weeks ago I received a great present from Secret Labs (thanks to Chris Walker) … the new Netduino 3 Wi-Fi board !


WP_20150429_22_18_19_ProWP_20150429_22_18_35_Pro

 

I started my .Net Micro Framework “career” using Netudino and Netduino Plus board (first and second generation) with a lot of fun developing managed drivers for components connected to them. With the Internet of Things “explosion” I started to develop my M2Mqtt library and testing it on the Ethernet version but regarding the connection to the Azure Service Bus services (queues, topics/subscription and event hubs) I needed to stop my “fun” with Netduino boards due to a big problem : no SSL/TLS support ! (needed by Azure).

 

Officially starting from yesterday (but few weeks ago for me) … now we haven’t this limit ! The “third” generation of Netduino family boards support secure protocols like SSL/TLS and so it provides the possibility to connect to all Microsoft Azure services ! Smile

 

For now, only the Wi-Fi version is already in stock on Amazon here and the Ethernet version will be available in June here.

 

The hardware

 

Speaking about Netduino 3 Wi-Fi, this board has an STM32 MCU (32 bit microcontroller) Cortex-M4 at 168Mhz with 2 MB of dual-bank Flash and 256 KB of RAM. Of course, due to the .Net Micro Framework TinyCLR we have up to 1408 KB as code storage (in the Flash) and about 164 KB of RAM available for our application. For me, these are huge amounts of memory for complex embedded applications !

 

netduino3wifi

 

We have same button and led as previous boards and all the pins, 22 digital and analog pins as GPIO, that can be used with following specific features too :

 

  • UART ports
  • PWM signals
  • SPI ports
  • I2C ports

 

The big difference with previous boards is the presence of 3 GoBus 2.0 ports and it seems that Secret Labs is developing new greats components to connect to them. If you want to know what GoBus is, you can read the following great article : it seems to be a .Net Gadgeteer-like feature but it has a lot of differences with it.

 

The Wi-Fi module is a great feature because it’s all integrated on the board without the needed of an external device. The chip is a TI CC3100 (from Texas Instruments) with all needed certifications that supports 802.11 b/g/n with SSL/TLS and the three levels of security : open, WEP and WPA2.

 

Last but not least hardware feature is the available microSD connectore (up to 2 GB) for data storage.

 

The software

Of course the new Netduino boards are all based on the latest version of .Net Micro Framework (4.3 QFE2-RTM) and all the code is open source : you can find the porting for Netduino on GitHub here.

A big difference with the past it the Netduino.IP : the new TCP/IP stack for .Net Micro Framework. As we know, one of the big problem of the .Net Micro Framework is the networking stack that isn't too much reliable. For this reason Secret Labs, decided to start the above new project developing a completely managed TCP/IP stack to have full control on it. Of course, this new child is in Technical Preview and under tests every day to improve its featues and performance. The good news is that it support the standard System.Net classes (Socket, HttpWebRequest, ...) for backwards compatibility and it uses only 4 KB of RAM. As open source project, it's available on GitHub here for two Ethernet chips : the usual Microchip ENC28J60 and Asix AX88796C.

Regarding the Wi-Fi support, the TCP/IP stack for the TI CC3100 is in a different project (that will be assimilated into Netduino.IP core) available here. In this case, we have full support for SslStream class too for SSL/TLS 1.2. This project is current under developing and has some few limitations related to the number of opened concurrently sockets and buffers. The performance could be better because the current version uses UART to communicate with the chip but the SPI support is arriving.

On the developer side, we have Visual Studio 2013 of course and an already ready support for Visual Studio 2015.

A tons of possibilities

With this new third generation, now we have a tons of possibilities in the IoT space with Netduino boards family. The great one is the access to all Microsoft Azure services like Event Hubs (and all the other services in the Service Bus) and to all online services that needs SSL support (Twitter APIs for example).
I already tested my boards in the last two weeks and I had good result using AMQP .Net Lite library for connecting to Service Bus and using my M2Mqtt library with an MQTT broker sending and receiving a tons of messages. All my tests are related to the client side because I'm not focused on having a server on an embedded device for security reason, so I didn't deep into all the features available to develop an HTTP(S) server on board. The board with all related software stack seems to be reliable but the perfomance could be increase. I know that Chris will work hard in the next months to provide new features and improvements to give us a better product for connecting "our" things in the Internet of Things world.