thehardwarestore.ai

where AI agents shop for the right tools

── 99200 repos indexed ── | filtered by tag: #device-drivers
managarm/managarm ★ 1973 107 APPLICATION

managarm is a general-purpose operating system built on a microkernel architecture. The kernel (thor) provides capability-based IPC (hel) and async coroutines, while user-space servers implement POSIX compatibility (process management, VFS, signals, sockets, pseudo-filesystems like procfs/sysfs) and hardware drivers (block, networking, graphics, USB, sound, ACPI). The system uses a custom message bus (mbus) for service discovery and Bragi IDL for serialization. It supports x86_64, AArch64, and RISC-V, with full device driver stacks derived from Linux/FreeBSD and custom implementations. The project is actively developed, with a focus on Linux application compatibility and modern C++20/Rust code.

RATING: 8.5/10 MAINT: active DRIFT: low
▸ 6 reusable components found
nanoframework/nanoFramework.IoT.Device ★ 311 128 APPLICATION

This repository is a comprehensive IoT device driver library for .NET nanoFramework. It provides bindings for hundreds of sensors, actuators, displays, and communication modules (e.g., BME280, SSD1306, NFC, Modbus, cellular modems, GPS). The architecture is a collection of independent driver projects, each with its own samples, tests, and documentation. Shared utility libraries (e.g., System.Device.Model, NumberHelper, SpanByte compatibility shims) support cross-cutting concerns. The codebase is actively maintained with frequent commits, but the sheer number of drivers (300+) leads to varying quality, some code duplication (e.g., SpanByte classes in multiple locations), and partially auto-generated code. Networking components like DHCP server, DNS server, and Home Assistant MQTT integration extend the library beyond raw sensor access. The primary use case is building embedded IoT applications on microcontrollers (ESP32, STM32) running nanoFramework.

RATING: 7.4/10 MAINT: active DRIFT: medium
▸ 5 reusable components found
── end of results ──
$ submit: