These docs are under active migration and updates. The original docs will remain available at docs.ghielectronics.com for future reference.
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 — overview of USB support on TinyCLR
- 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
- Google Cloud — Google Cloud IoT
- IFTTT — IFTTT webhook integration
- Adafruit IO — Adafruit IO dashboards and data
Storage
Persist data — small or large — on internal flash, SD cards, or in a real SQL database.
- File System — read and write files
- SD/MMC Cards — external SD card support
- SQLite — embedded SQL database
- Resources — embed binary assets into your application
Display & Multimedia
Drive screens, capture images, play audio, and build rich user interfaces.
- Displays — supported display drivers and configurations
- Touch Screen — resistive and capacitive touch input
- User Interface — TinyCLR's UI framework
- Graphics — drawing primitives and bitmap operations
- Font Support — bitmap and TrueType fonts
- Image Decoders — JPEG, GIF, and BMP decoding
- Camera — capture from supported camera modules
- MJPEG Video — record and play MJPEG video
- Audio Playback — play WAV audio
- VNC — remote framebuffer access
Security
Production-grade security stack — secure boot, encrypted updates, TLS, and IP protection — built in, not bolted on.
- TLS — TLS 1.2 overview
- TLS Client — outbound TLS connections
- TLS Server — accept inbound TLS connections
- Cryptography — AES, RSA, and hardware-accelerated crypto
- Hashing — SHA family and MD5
- Password — secure password handling
- Secure Boot — hardware-enforced trusted boot
- Secure Storage — encrypted local storage
- IP Protection — protect your firmware from extraction
- In-Field Update — encrypted OTA firmware updates
System Services
Power management, time-keeping, and system-level utilities.
- Power Management — sleep modes and wake sources
- Watchdog Timer — hardware watchdog for reliability
- Real-Time Clock — battery-backed RTC
- Timers — software and hardware timer APIs
- Specialized — board-specific and uncommon features
Runtime Essentials
Productivity-grade tooling — debugging, memory management, NuGet packaging, and device introspection.
- Debugging — Visual Studio breakpoint debugging
- Memory Management — garbage collection and memory pressure
- External Memory — using external RAM
- Unmanaged Heap — allocate outside the GC heap
- NuGet Libraries — TinyCLR's NuGet ecosystem
- Device Info — read hardware ID, firmware version, and more
Modern .NET
The .NET features you expect — multithreading, reflection, collections, and more — running on embedded hardware.
- Multithreading — threads, locks, and synchronization primitives
- Reflection — runtime type inspection
- Collections — lists, dictionaries, and sets
- Serialization — binary and JSON serialization
- Encoding/Decoding — UTF-8, Base64, and hex
- Application Domain — application isolation
- Marshal — pointer and memory marshaling
- RegEx — regular expressions
- Stream — Stream class and derivatives