Skip to main content
NEWTinyCLR v3 is here — generics, async/await, RLP, and modern .NET features.
TinyCLR

.NET for embedded products

A royalty-free embedded operating system with a tiny Common Language Runtime. Write C# in Visual Studio, debug with real breakpoints, deploy from a single click.

  • C# in Visual Studio
  • Real step debugging
  • .NET Ecosystem

Runs on the SITCore family of secure embedded hardware.
Chipsets, modules, and single-board computers.

The SITCore family — chipsets, modules, single-board computers, and dev boards

Why TinyCLR?

💻
You already know how
C#, .NET, and Visual Studio. The language and toolchain your team already uses — no new IDE, no new build system, no JTAG.
🔍
Real step debugging
Breakpoints, locals, call stack. Full Visual Studio debugging on the device, over a USB cable — exceptions you can actually catch.
🔒
Production-ready security
Secure boot. IP protection. TLS 1.2. Encrypted in-field updates. Built in, not bolted on.
A real runtime, not a toy
Garbage collection. Multithreading. NuGet libraries. The .NET you know, on real embedded hardware.
using System.Device.Gpio;
using System.Threading;
using GHIElectronics.TinyCLR.Pins;

// Activate (open) the LED pin
using GpioController controller = new GpioController();
controller.OpenPin(FEZFlea.GpioPin.Led, PinMode.Output);

while (true)
{
// Turn the LED ON
controller.Write(FEZFlea.GpioPin.Led, PinValue.High);
Thread.Sleep(500);

// Turn the LED OFF
controller.Write(FEZFlea.GpioPin.Led, PinValue.Low);
Thread.Sleep(500);
}

Real C# on real embedded hardware

  • Code in Visual Studio
  • Debug with breakpoints, step-through, and locals
  • NuGet the libraries you need
  • Deploy over a USB cable
  • Throw exceptions you can actually catch

The same workflow you use for your day job — running on a chip you can hold between two fingers.

How TinyCLR compares

Trade-offs at a glance — here's where TinyCLR fits.

TinyCLR on SITCoreBare-metal C / RTOSEmbedded Linux
Primary languageC#C / C++Any
IDEVisual StudioToolchain-specificVarious
Step debugging out of the boxRequires JTAG + setupPossible
Memory managementGarbage collectedManualMixed
Security stack (TLS, secure boot, IP protection)Built inRoll your ownAdd packages
Cloud SDKs (Azure, AWS, Google)NativeRoll your ownAdd SDKs
Target hardwareMicrocontrollerMicrocontrollerApplication processor
Real-time guaranteesNot an RTOSRTOSHybrid
Typical time to first blinkMinutesHoursHours+

Choose your hardware

Same C# code, same runtime, same debugging — across every form factor in the SITCore family. Pick what fits your product.

Just evaluating?

Building a product?

What's in the runtime

Everything you'd expect from .NET. Click any feature to jump to its docs.

When C# isn't fast enough

Drop in native ARM code — called from C#

Runtime Loadable Procedures (RLP) are the embedded equivalent of calling a native DLL from desktop .NET — you keep writing your application in C#, and drop into compiled native code for the parts that need raw speed. The native code loads as an ELF blob at runtime, with no firmware rebuild required.

Native ARM speed
Hot loops run as compiled ARM code — DSP, image scanning, CRC. Many times faster than the C# loop.
📡
GPIO at microsecond latency
Read, write, and toggle pins from native code with microsecond delays. Handle pin-change interrupts entirely in C.
🔄
No firmware rebuild
Compile the C separately and load the ELF from SD card, USB, or an embedded resource. Update native code without rebuilding the C# app.
🎁
Template + 7 examples
A Visual Studio project template ships with seven ready-to-run examples — speed, math, GPIO toggle, lookup tables, background tasks, events, interrupts. Try it in minutes.

Built for the products that ship

From self-service kiosks to fleet diagnostics, TinyCLR lives inside the products real businesses rely on every day. See real applications in our showcase →

Self-Service Kiosks
Self-Service Kiosks
Handheld Devices
Handheld Devices
Fleet Diagnostics
Fleet Diagnostics
Machine Monitoring
Machine Monitoring
Plant & Warehouse
Plant & Warehouse
Parking & Traffic
Parking & Traffic
Under one roof

From your C# code to a shipped product

Whatever depth of help you need. Buy SITCore off the shelf and ship — or bring in our engineers and our manufacturing line as far as it makes sense for your project.

1
Start with TinyCLR
Buy SITCore modules off the shelf. Code in C# in Visual Studio. Most teams ship from here alone.
2
Lean on our engineers
Bring-up help, circuit review, firmware modules, test rigs — pick the piece you need. Free hardware and firmware design review on SITCore-based products. See engineering →
3
Build with us
When you're ready for volume, the same Michigan facility that builds SITCore can build yours. Same line, same QC standards. See manufacturing →

Ready to build?

Two ways forward — head to the docs to start building, or talk to us about your project.