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.