A question that I am frequently asked is where NETMF is used commercially. This would be an easy question to answer if we charged for the platform, because then we would know who our customers are. But as an Open Source project, we only hear anecdotally what people are doing. This is the second in a series of blog posts (NETMF Applications) to share some of the creative implementations that we have heard about.
For this blog, I am cheating a bit. The application that I am writing about is already well described in a PDF posted by the Mountaineer Group. All I want to do is add some context and otherwise let you read what they already have said.
The Mountaineer Group is located in Europe (Switzerland and Italy) where they offer a full set of engineering services from hardware to firmware to application development. Their focus is on IoT applications. In his spare time, Cuno Pfister principal of Oberon microsystems – part of the Mountaineer Group) wrote “Getting Started with the Internet of Things”. This introductory text was written for the maker community. He has also written heavier books on “IT architecture: Fundamentals, concepts and implementation”In the commercial project mentioned earlier, connectivity was added to a range of combined heat and power plants by adding a low cost and flexible gateway. Here is a description of the project and how they executed on it. Take a read - http://www.mountaineer.org/app/download/7120290775/NETMF+Reference+2G+Drives+V20131023+final.pdf?t=1382521965
In talking with Cuno about the project, the biggest challenge was to make the network code “industrial strength”. This was achieved thanks to the cooperation with CSA Engineering, the other Mountaineer Group member involved in the project who also did the hardware design of the industrial M4-MCU board (http://www.mountaineer-boards.com/prime/m4-mcu/) that was used for 2G Drives and which could easily be used in similar projects. The thing Cuno would like to change in the Micro Framework is more robust tooling for NETMF within Visual Studio in the short term, and the option for a NETMF-compatible C# cross-compiler for Cortex-M in the long term.
The Mountaineer Group has created an open source hardware platform with two mainboards that support the Gadgeteer interfaces for rapid prototyping. The Oberon microsystems team has their own port of NETMF to the STM32 microcontroller family – a port which has become the basis of many, if not all, of today’s NETMF ports targeting Cortex-M microcontrollers and which has been used by a number of commercial devices from different vendors. Oberon has meanwhile extended their port in a number of interesting ways including:
- a fast driver for SD Cards (4-bit interface)
- a driver for USB Host support (mass storage profile)
- both SD cards and USB sticks can be used with a FAT file system
- the file system and drivers support more than the 4 GB limit common to most NETMF implementations
- a full-featured hardware watchdog implementation (supporting timeouts of up to two minutes)
- a library for reading an STM32 microcontroller's unique 96-bit ID, and for creating and storing public/private key pairs
- a hardware random number generator supporting the standard .NET namespace System.Security.Cryptography
- the Oberon.NaCl crypto library, which implements Daniel Bernstein’s crypto API but with a considerably smaller footprint and more than an order of magnitude faster than Bernstein’s standard C implementation
- an example and documentation of how to implement encrypted and signed in-field firmware updates using the MFUpdate mechanism and Microsoft Azure for distributing update images
- More information about the background and history of the Mountaineer Group can be found here on their Web
What’s next? CSA Engineering is working on a major revision of their M4-MCU industrial board, using a newer microcontroller and a different memory subsystem. The Italian Mountaineer Group company Innovactive is working on a NETMF module in SODIMM format (http://www.tinyclr.it/in-esclusiva-per-tinyclrit-un%E2%80%99anteprima-del-primo-modulo-net-micro-framework-con-co-microcontrollore-dedicato.aspx). Oberon microsystems is working on a third commercial derivative of the original Mountaineer platform: a reference design for smart gateways programmable in C# and Visual Studio. Initially, these gateways will enable Web access to Bluetooth Smart beacons, for person and asset tracking applications (www.limmat.co).
These guys are obviously a very bright set of engineers with great assets. Check them out.