Max Reble Brings .NET to the Arduino UNO Q with an Open Source Arduino Router Client Library
Fancy programming your shiny new Arduino UNO Q in .NET rather than learning Python? Well, now you can.
Developer Max Reble has launched a tool that brings the .NET programming framework to the new Arduino UNO Q single-board computer: the Reble.ArduinoRouter client library for the Arduino Router.
"Qualcomm has decided to bring out an Arduino which has not only a microcontroller (MCU) but also a CPU from Qualcomm (MPU) which runs a fully fledged Linux with Python and Docker installed," Reble explains by way of background to the project. "With it comes also a new[ly] built IDE [Integrated Development Environment] from which you can build your microcontroller code in Arduino C++ and Python scripts that run on the MPU. Those two can communicate via a so-called Arduino Router."
"I am a dotnet [.NET] developer by heart for many years," Reble continues. "For me the travel started because I was in search of a high level programming language that works on a Raspberry Pi. Lucky me: at that time [.NET] Core 1.0 was just released. Even though it was a little pain[ful] at the beginning I was amazed how that old, corporate-feeling .NET Framework emerged into a beautiful language that has set the standard for many other programming languages in the last 10 years. With [.NET] 10 it doesn’t matter if you are a Microsoft-lover, a Mac-fanboy or a Linux-evangelist — you just code wherever and on which platform, for which platform you want. So I wanted to know if we could use [.NET] 10 to work with the Arduino UNO Q and in the first place replace Python for the backend on the MPU."
The Arduino UNO Q launched back in October last year at the same time as the company announced its acquisition by Qualcomm, whose Dragonwing system-on-chip powers the first single-board computer in the UNO family. This was followed in January by a higher-end version that doubled the RAM from 2GB to 4GB, making it more suitable for use as a truly standalone single-board computer rather than as a tethered development board — and Reble's router is compatible with both.
Reble's library is based around the ASP.NET Core runtime, which avoids having to install the full .NET software development kit (SDK) on the Arduino UNO Q's limited internal storage. "You don't need the full SDK," the developer explains, "as we will compile on our development computer." Once installed, it allows .NET applications running on the Arduino UNO Q's Qualcomm Dragonwing QRB2210 microprocessor to communicate with firmware running on the STMicroelectronics STM32U585 microcontroller — giving .NET developers access to the hardware side of the board in their preferred framework.
More information is available on Reble's blog; the library itself is available on GitHub under the permissive MIT license.