Features
Endpoint runs full .NET, Python, and C/C++ on an embedded board. It gives you the breadth of a PC (networking, security, databases, graphics) AND the direct hardware control of a microcontroller (pin-level I/O, buses, precise signal timing). The same library API works across all three languages, so your team picks whichever one it already uses.
Full-featured like a PC
Standard .NET on the device: TCP/UDP sockets, HTTP/HTTPS, WebSockets, TLS and X.509, threads and async/await, LINQ, JSON, file system, SQLite. .NET IoT libraries work too: webcams, sound devices, standard GPIO/I2C/SPI/PWM APIs.
Python and C/C++ get the same deal. Python runs with requests,
asyncio, sqlite3, cryptography, numpy, and anything installable
from PyPI. C/C++ compiles with a modern C23/C++23 toolchain backed by the
full standard library (filesystem, threads, regex, sockets), and can
link any native library the board supports.
Develop and debug on your PC, press F5, the exact same code deploys over a single USB cable and runs on the board with full breakpoint and step-through debugging.
Precise like a microcontroller
Pin-level control for every peripheral: digital I/O, analog in and out, PWM, interrupts. High-speed buses (SPI, I2C, UART, CAN). Nanosecond-grade digital signal generation and capture on the real-time helper core. Pins are free at boot; your application claims only what it needs. A C# blink program is up and running in under three seconds from power-on.
One API in three languages
Endpoint libraries use the same class and method names across
.NET (C#), Python and C/C++ wherever practical, so a
developer who knows one language reads code written in another without
re-learning the API. Where a standard .NET API exists
(System.Device.Gpio, System.Device.I2c, …) Endpoint uses it directly
on .NET and ships Python and C/C++ wrappers of the same shape. The few
exceptions are domains where a language already has a well-established
library its developers expect. Serial ports, for example, follow
System.IO.Ports.SerialPort on .NET but use pyserial in Python.
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 signals.
- GPIO: digital input and output on any pin (standard
System.Device.Gpio) - PWM: pulse-width modulation for motors, LEDs, and audio (standard
System.Device.Pwm) - Analog In: read voltages from sensors and analog sources (standard
System.Device.Analog) - Analog Out: produce analog voltages via DAC
- Signal Control: generate and measure precise digital signals (coming soon)
Serial Buses
Talk to peripheral chips, sensors, displays, and external systems.
- SPI: high-speed serial peripheral interface (standard
System.Device.Spi) - I2C: two-wire interface for sensors and small peripherals (standard
System.Device.I2c) - UART: serial communication with external hardware (standard
System.IO.Ports.SerialPort) - USB: USB host for keyboards, mice, drives, webcams, and more
- CAN: controller area network for automotive and industrial use (standard
Iot.Device.SocketCan)
Wireless and Networking
Connect your application to networks and nearby devices.
- Networking: Ethernet, Wi-Fi, cellular, sockets, HTTP/HTTPS, TLS (standard
System.Net) - Bluetooth: Bluetooth through USB adapters (coming soon)
Cloud, IoT and Industrial
Endpoint uses the same .NET and Python networking stack that servers do:
full TLS with the operating system's certificate trust store, async
streaming, standard client libraries, and local storage to buffer or
pre-process data before pushing anything upstream. General networking
primitives (System.Net.Http, System.Net.WebSockets, and so on) are
covered on the Networking page; the
integrations below sit on top.
- Microsoft Azure: Azure IoT Hub (Microsoft Azure SDK)
- Amazon Web Services: AWS IoT (AWS SDK)
- MQTT: publish/subscribe to any broker (HiveMQ, EMQX, Mosquitto, Azure/AWS/GCP managed brokers) via
MQTTneton .NET orpaho-mqtton Python - Modbus: industrial fieldbus, Modbus RTU and Modbus TCP, client or server, via
FluentModbus/NModbus4on .NET orpymodbuson Python - EtherNet/IP: ODVA's industrial protocol for Rockwell/Allen-Bradley environments (coming soon)
- Endpoint as gateway: run an HTTP or MQTT server on the board itself (ASP.NET minimal API, FastAPI,
MQTTnetbroker) so sensors and small microcontrollers can offload to Endpoint before data goes upstream
Storage and Data
Persist data on SD cards, USB drives, or in a real database.
- File System: read and write files on SD and USB storage (standard
System.IO) - Databases: embedded SQL (
Microsoft.Data.Sqlite) and NoSQL (LiteDB) databases
Display and Multimedia
Drive screens, capture images, and build rich user interfaces.
- Displays: parallel TFT and serial displays
- Graphics: Canvas (primitives + raw buffer export to the panel or an SPI/I2C display), Widget (Button, Label, Chart, and more), Alternatives (SkiaSharp, ImageSharp, Pillow, Microsoft.Maui.Graphics)
- Touch Screen: capacitive and resistive touch input
- Camera: USB webcams and the on-board parallel camera interface (coming soon)
System Services
Keep a device running, on time, and up to date.
- In-Field Update: update the system from SD or USB memory (coming soon)
- Power Management: reboot, shutdown, wake on pin or RTC alarm
- Watchdog: reset the system if it locks up
- Real Time Clock: keep time while the system is powered off