Introducing TinyCLR OS: a new path for our NETMF devices

As you may already know, we recently announced our renewed commitment to Microsoft’s .NET Micro Framework (NETMF). Our team is pouring their passion into what they think NETMF should be. Sadly, NETMF is no longer actively maintained by Microsoft. Thankfully though, NETMF’s entire source code was released under the Apache 2 license. Due to the breaking changes, trademarks, and copyrights, we are renaming our evolution of NETMF to the TinyCLR Operating System.

GHI Electronics’s TinyCLR OS carries all of the improvements found in NETMF 4.4 and forges a new path. For developers, all you need to use TinyCLR OS is a small Visual Studio extension. That is really it! Note that NETMF can still be used side-by-side TinyCLR OS. On the device, you have a choice of loading your device with the NETMF firmware or the new TinyCLR OS firmware.

TinyCLR OS is made for .NET developers. Threading, memory management, timers, even handlers, and everything else you had in NETMF still exists in TinyCLR. As far as the hardware access extensions, TinyCLR OS has a similar API to the Windows 10 IoT Core Extensions API. For example, controlling a pin on a Raspberry PI running Windows 10 is very similar to how pins are now controlled on a FEZ Panda III.

All libraries are downloaded through NuGet. Because of this, there will be no SDK to install or machines to lock to specific versions. Simply use NuGet to download any needed version of any needed library on a per-project basis.

We invite you to try the TinyCLR OS preview today. Again, this is an early preview only but we welcome any feedback. Remember, you do not need to make any changes to your NETMF installation. This preview includes G30 and G80.

As always, we want to make things very easy for you and so today’s Tech Talk is an intro to TinyCLR OS: TinyCLR Preview Release - Tech Talk - #011 - YouTube

TinyCLR OS 0.1.0 preview: [url=http://ghielectronics.com/downloads/TinyCLR/TinyCLR.0.1.0.zip]http://ghielectronics.com/downloads/TinyCLR/TinyCLR.0.1.0.zip[/url]
TinyCLR Notes: [url=https://www.ghielectronics.com/docs/350/tinyclr]https://www.ghielectronics.com/docs/350/tinyclr[/url]

6 Likes

I think this is great news. Thanks for taking this on. I hope that it is a huge success.

One thing I wish TinyCLR would have is … support for Panda 1 and Panda 2. I know that they are old, but I still have a bunch of them. And they were great. If it was possible with a reasonable effort, it would sure to great to have support for them in TinyCLR.

Thanks again for all the great stuff over the years. There have been many projects that I could not have done without you.

3 Likes

Some of us gut left out again… I don’t have any G30 or G80.

Operators are standing by!

Will we be able to write MSIL, to have finer grain control over the compiler output?

it’s a preview, and you can guarantee that this isn’t the final list. I suspect you can be sure that the GHI flagship devices with G120 and G400 are too big a target to leave behind, GHI have actively said that these devices are still “current” and I’m sure they’ll get attention at the appropriate point in the development cycle.

1 Like

Correct. We are building foundations still. G120 is almost done for example but we didn’t want to delay the preview for it. We do not have an inclusive list yet as this is not important just yet.

Again, this is just s preview.

2 Likes

@ Gus - what plans to you have for supporting VB?

@ John -

I sure would like to see a small sample project for VS 2017.

I just installed VS 2017 and my install looks nothing like what I saw in GUS’s sample video.
(A thousand choices on what to install and I did not want to install everything)

A sample project just to see if we can get it all configured correctly.

Thanks for all your hard work!

1 Like

@ willgeorge - when installing vs2017 you only need to pick .net on the first page

Why just VB. I say support them all. But again, this is just a preview and early planning.

1 Like

@ Gus -

Thank You

Ohhhh, COBOL!

1 Like

I’m finally building my tiny telemetry payload for a medium size model rocket (2 stage pro series II Ascender with F/G engines that should reach 3000’ with the payload)

Somehow my shipment of many large rocket engines that I had in storage in CA made it to New Zealand without me winding up on a terrorist list, so now I can proceed.

I was going to use a Cerb40 II that I have here for the mcu (just recording altitude, rotational forces, acceleration, and GPS position data to a microsd logger, plus a 1080P video camera) but if anyone wants to send me a G80 TH module or two for promotional purposes, I can use that instead and the new tinyclr OS and post a video when I’m done. :smiley: :smiley: :smiley:

2 Likes

O.K. Blinky works


namespace TinyCLRApplication3
{
    public class Program
    {
        public static GpioPin LED;
        public static void Main()
        {
            var gpio = GpioController.GetDefault(); // Get the default GPIO controller 
            LED = gpio.OpenPin(FEZPandaIII.Gpio.Led2);
            LED.SetDriveMode(GpioPinDriveMode.Output);
            while (true)
            {
                LED.Write(GpioPinValue.High);
                Debug.WriteLine("Switch to high");
                Thread.Sleep(300);
                LED.Write(GpioPinValue.Low);
                Debug.WriteLine("Switch to low");
                Thread.Sleep(300);
            }
        }
    }
}

2 Likes

How will the GC collector work in TinyCLR? Will there be more control over it?

[quote=“Gus”]… But again, this is just a preview and early planning.
[/quote]
I am looking interested into these efforts, but I am wondering of you have any target milestones or indications as to when you want a production ready software package to hit the market?

@ njbuch - we should have a plan in 1Q 2017

1 Like

Very promising. Thanks.
The VSIX appears to not be installable on VS2015.
Is that correct?

@ NoNickName - Yes not supported, only VS2017 RC. Please watch the video :wink: