Embedded Systems with .NET nanoFramework
As mentioned in previous posts, I’ve been working with .NET nanoFramework on the cheap yellow display board. I’ve mostly been learning from the online documentation, example code and a lot of experimentation with some help from the members of the discord forum. One of those members is José Simões who is the founder and core team member for .NET nanoFramework. José has been awarded Microsoft MVP (Most Valued Professional) 5 times for his work with IOT systems.
He’s recently written a book on practical, hands-on C# for Microcontrollers.

Embedded Systems with .NET nanoFramework complements the learning you’ll have from hands-on experimentation and online documentation in that it provides background and context to the framework and can also be used as a reference book. It is not just a theoretical text book with many code examples and a case study for a pool controller.
The book starts with an overview of the platform and how the architecture works. Although you don’t really need that level of detail to get started, it is worth a read as this information can help you understand what to check when troubleshooting or extending the framework.
There is an expectation of some prior knowledge in that this is not a book to teach you C# syntax or microcontroller fundamentals. However, I would say that .NET nanoFramework could work as teaching platform as it has a good level of abstraction from the hardware without hiding details from the developer.
“This book is for .NET developers with an intermediate knowledge of C# who want to create software for embedded devices and IOT devices.”
Following on from the architecture is a chapter about building images for new devices. This does come with a recommendation to skip if you can use one of the prebuilt images. It is likely I’ll revisit this chapter if I need a custom image for one of the newer boards I am also looking at.
As the book is very much about embedded systems there is lots of information about working with different sensors, this includes sensors that output their signal as a current which is not common in the hobby space but is common in industrial systems.
There is also a chapter for IOT systems looking at networking such as Wifi, Bluetooth and Thread as well as common protocols such as MQTT. These topics are covered in enough detail that you could get started without external reference but again as this is an intermediate book it would be beneficial to cover the fundamentals of your networking technology to aid your work. The book also covers connecting to an online IOT platform to send data and receive commands and running a basic webserver. It was good to see security being provided in the examples and points of discussion.
One topic which should be very familiar to a a .NET developer is unit testing, the ability to confirm the behavior of small parts of your code. This can be very useful if you are working to a specification or need to optimise code without impacting behaviour. The book describes how you can create and run such tests as well as running these on actual hardware.
A case study looks at combining these topics with an example pool controller with pH sensors and actuators. This uses an off the shelf module so you could reproduce this as a one off project or teaching example. It is a good example in that it’s small enough to understand without being trivial.
A chapter on advanced topics was something of much interest to me as it covers multi-threading and sleeping. These will be useful for an upcoming project where I’ll be having an interactive display with a remote sensor running on batteries.
The last chapter extends the case study and looks at connecting the pool controller up to an enterprise and making it discoverable to agentic systems.
The code examples are generally clear and quite short with the exception of that last chapter. But you don’t need to type that all in as the code for that is available online.
https://github.com/Apress/Embedded-Systems-with-.NET-nanoFramework
Summary
Given the specific audience, I think this book does hit the spot. It provides the right kind of information to take you from a .NET developer to an IOT developer. I’ll be using it for reference, digging back into OpenThread for networking and Sleep for my projects. As well as utilising the test framework to help my development of an EInk driver.
The book is available to buy online and I picked up a copy via Springer. It should also be available in bookshops and libraries but you likely need to order it in.

Metal sculpture in brass, mounted on an 1800s French Coin




