Skip to main content

Features

TinyCLR is a real .NET runtime on embedded hardware. The pages below cover every capability the runtime provides — pin-level I/O, communication buses, networking, cloud integration, storage, displays, security, and the modern .NET features you'd expect (multithreading, reflection, collections, and more).

Click any feature to jump to its reference page.

Hardware I/O

The basics every embedded project starts with — direct pin control, analog input and output, PWM, and timing-critical signal generation.

  • GPIO — digital input and output on any pin
  • PWM — pulse-width modulation for motors, LEDs, and audio
  • Analog In — read voltages from sensors and analog sources
  • Analog Out — produce analog voltages via DAC
  • Signal Control — generate precise digital pulse trains

Communication Buses

Talk to peripheral chips, sensors, displays, and external systems.

  • SPI — high-speed serial peripheral interface
  • I²C — two-wire interface for sensors and small peripherals
  • UART — serial communication with external hardware
  • USB Host — host USB devices like keyboards, mice, and storage
  • USB Client — act as a USB device
  • USB PC Comm — serial-style communication with a connected PC
  • CAN — controller area network for automotive and industrial use
  • Modbus — industrial RS-485 / Modbus RTU and TCP
  • 1-Wire — Dallas/Maxim 1-Wire bus for sensors

Networking

Build connected products — wired, wireless, and cellular — with first-class TCP/IP, HTTP, and MQTT support.

  • Networking Core — sockets and TCP/IP fundamentals
  • WiFi — WiFi connectivity on supported boards
  • Ethernet — wired Ethernet
  • Cellular — cellular modem integration
  • PPP — point-to-point protocol over serial links
  • HTTP/HTTPS — client requests with TLS
  • MQTT — pub/sub messaging for IoT
  • EtherNet/IP — industrial EtherNet/IP protocol

Cloud

Native support for the major cloud platforms — no bridging code or external SDKs required.

  • Azure — Microsoft Azure IoT Hub
  • AWS — Amazon Web Services IoT
  • IFTTT — IFTTT webhook integration

Storage

Persist data — small or large — on internal flash, SD cards, or in a real SQL database.

Display & Multimedia

Drive screens, capture images, play audio, and build rich user interfaces.

Security

Production-grade security stack — secure boot, encrypted updates, TLS, and IP protection — built in, not bolted on.

System Services

SITCore hardware features exposed through TinyCLR APIs — power, time, and board-level memory.

Runtime Essentials

TinyCLR-specific runtime behavior — what's different from desktop .NET and how to work with it. TinyCLR libraries ship as standard NuGet packages on nuget.org — search tinyclr in Visual Studio's NuGet package manager.

  • Debugging — Visual Studio breakpoint debugging over USB or serial
  • Memory Management — garbage collection, hardware-resource lifetime, pinned memory
  • Unmanaged Heap — allocate outside the GC heap for large buffers and graphics
  • Marshal — direct register access and interrupt control (advanced)
  • Application Domain — load PE assemblies at runtime from storage

Modern .NET

Standard .NET APIs available on TinyCLR — running on embedded hardware just like they'd run on desktop.

  • Multithreading — threads, locks, synchronization, async/await
  • Collections — ArrayList, Hashtable, Stack, Queue (plus generics in v3)
  • Reflection — runtime type inspection and dynamic invocation
  • Serialization — binary, JSON, and XML serializers
  • Encoding & Decoding — Encoding, Base64, BitConverter, StringBuilder
  • Regex — pattern matching, replacement, and splitting
  • Stream — Stream abstraction with file, memory, and network backends
  • Timers — System.Threading.Timer for scheduled callbacks