Skip to main content

Frequently Asked Questions

Common questions about TinyCLR, SITCore, and running C# on embedded hardware. Don't see your question? Ask on the forums or contact us.

What is TinyCLR?

TinyCLR is a royalty-free .NET runtime for embedded products from GHI Electronics. It runs on the SITCore family of secure ARM microcontrollers. Developers write C# in Visual Studio or Visual Studio Code, debug over USB with real breakpoints, and the same managed code runs across every SITCore form factor — chipsets, modules, single-board computers, and dev boards.

What is SITCore?

SITCore is a family of secure ARM microcontrollers from GHI Electronics, designed and manufactured in the USA. It comes in chipsets (SoC), modules (SoM), single-board computers (SBC), and development boards — all running TinyCLR.

Can I run C# on a microcontroller?

Yes. TinyCLR is a full .NET runtime that runs C# directly on ARM microcontrollers in the SITCore family. You write C# in Visual Studio or VS Code, deploy over USB, debug with real breakpoints, and get garbage collection, threading, exceptions, and the .NET base class library — on hardware that costs as little as $14.95 (FEZ Flea).

Do I need a Windows PC to develop TinyCLR applications?

Yes — TinyCLR development requires Windows. Both the Visual Studio workflow and the VS Code workflow depend on Windows-only deployment tooling; macOS and Linux are not supported for now.

Is TinyCLR real-time?

TinyCLR is not a real-time operating system. It uses threads, events, and a garbage collector. For timing-critical operations (microsecond GPIO toggling, DSP, tight compute loops), use Runtime Loadable Procedures (RLP) to drop into native C/C++ code that runs without the managed runtime overhead.

Is the managed code compiled? Is C# slow on TinyCLR?

C# is compiled to CIL (Common Intermediate Language) by the C# compiler — the same as desktop .NET. TinyCLR interprets the CIL on the device. Most runtime functionality (file I/O, networking, drivers, graphics) is implemented in native code, so typically only about 10% of an application is interpreted while 90% runs as native code. For tight compute loops where the interpreter overhead matters, RLP lets you drop into compiled native C.

How is TinyCLR different from .NET nanoFramework or Meadow?

All three run .NET-style C# on microcontrollers. TinyCLR's differentiators:

  • Secure boot and IP protection built into the runtime
  • Encrypted in-field updates — OTA firmware updates with cryptographic verification
  • Native ARM C/C++ via RLP — drop into compiled native code without leaving the C# workflow
  • Desktop Mode — test non-hardware code on PC before deploying to the device
  • Tightly-integrated security (TLS 1.2, secure storage, one-time-programmable regions)
  • SITCore hardware is designed and manufactured in the USA by GHI Electronics, who also provide engineering services and manufacturing
I program in C/C++. Why would I use TinyCLR instead?

C and C++ remain the standard for low-level embedded work, and TinyCLR itself is written in them. The TinyCLR pitch is productivity: you get high-level libraries (networking, TLS, displays, file system, cryptography), step debugging in Visual Studio, garbage collection, runtime bounds checking, and modern language features.

For the parts that need raw native speed, RLP lets you drop into C/C++ — you keep C# for the application and use C for the hot path. Think of it as the embedded equivalent of calling a native DLL from desktop .NET.

I'm a PC or mobile developer. How do I start with embedded hardware?

If you know C# and Visual Studio, you already know the language and toolchain. Two paths in:

  • Experimenter Kit — bundles a FEZ Bit with sensors, a robot, and a companion eBook that walks through structured hands-on experiments. Recommended for learning.
  • FEZ Flea — cheapest entry at $14.95. Plug into USB and you're running.
Why use SITCore over a generic STM32 or Arduino board?

Generic boards give you the hardware but require you to assemble the software stack yourself. SITCore comes with:

  • TinyCLR pre-loaded — Visual Studio integration works out of the box
  • Secure boot, IP protection, encrypted updates built into the runtime
  • A comprehensive .NET library ecosystem — displays, networking, file system, cryptography
  • USA-based engineering support from the people who designed the chips

For commercial products especially, the bundled security and manufacturing scalability are why teams pick SITCore.

Can GHI Electronics port TinyCLR to my hardware?

Yes, custom porting is possible. For most projects, GHI recommends starting with off-the-shelf SITCore hardware to reduce risk and time-to-market — but if your project requires a specific chip family or custom hardware, the engineering services team can help.

How does TinyCLR support IoT designs?

TinyCLR includes the full networking stack:

  • TCP/UDP sockets, DNS, HTTP/HTTPS client and server
  • MQTT (TLS-secured), FTP (added in v3)
  • WiFi, Ethernet, cellular
  • Azure and AWS cloud SDKs
  • Commercial-grade TLS 1.2 running inside the secure SITCore processor so private keys never leave the chip
  • Multi-network-interface support in v3 — a single device can use WiFi, Ethernet, and cellular concurrently
What about TinyCLR for education?

Students learn industry-relevant skills — C# is one of the most popular professional languages, Visual Studio is the most widely-used IDE in the .NET ecosystem, and embedded systems are a fast-growing field. The SITCore Experimenter Kit is designed for new learners and works equally well for C# professionals new to hardware.

What languages are supported on TinyCLR?

In theory, any .NET language that compiles to CIL can run on TinyCLR. In practice, C# is the officially-supported language and what every example in the documentation uses. C# 11 language features (top-level statements, target-typed new, file-scoped namespaces, etc.) are supported in v3. For performance-critical native code, RLP supports C and C++ directly.

Why should I as a manager pick TinyCLR for our product?
  • Faster time-to-market — any C# developer on your team can start coding for hardware immediately, no separate embedded specialist required
  • Lower development cost — Visual Studio is free (Community Edition), the runtime is royalty-free for SITCore customers, and the bundled security stack saves you from rolling your own
  • Lower risk — SITCore is a proven platform shipped by commercial customers across kiosks, fleet diagnostics, industrial automation, and IoT
  • US-based engineering support — the people who designed the platform are the people who answer when you have questions