8 Repos
Asynchronous frameworks for implementing USB device behavior, including composite configurations and power states.
Distinct from USB Device Communication: Distinct from USB Device Communication: provides the framework for device state and configuration management rather than just data transfer.
Explore 8 awesome GitHub repositories matching hardware & iot · USB Device Frameworks. Refine with filters or upvote what's useful.
This project is a keyboard firmware framework and programmable keyboard ecosystem designed for Atmel AVR and ARM microcontrollers. It provides the embedded software necessary to implement the USB Human Interface Device standard, allowing hardware to communicate keystrokes and mouse movements to a host computer. The framework distinguishes itself by offering a comprehensive toolchain for custom hardware development, including a command line interface for project scaffolding, firmware flashing, and configuration linting. It supports a variety of flexible configuration methods, allowing users to
Optimizes host communication by managing USB suspend, resume, and wakeup delays to conserve power.
Embassy is an asynchronous framework for microcontrollers that provides a runtime for cooperative multitasking. It enables the execution of multiple concurrent tasks to maximize energy efficiency and CPU usage, utilizing an async executor that puts the processor to sleep when idle. The framework includes a comprehensive set of embedded components, featuring a hardware abstraction layer for peripherals like GPIO, SPI, I2C, and UART, alongside a TCP/IP network stack and a USB device stack. It also provides a Bluetooth Low Energy host stack for wireless communication and a bootloader framework t
Implements USB devices with asynchronous support for composite configurations, suspend, resume, and remote wakeup.
TinyUSB
Handles USB suspend, resume, and remote wakeup signals for power conservation.
libusb is a cross-platform user-space library that provides a consistent C API for discovering, configuring, and communicating with USB devices from applications. It abstracts operating-system-specific USB driver details behind a single interface that works on Linux, macOS, Windows, and other platforms, enabling developers to write portable USB code without platform-specific knowledge. The library supports both synchronous and asynchronous I/O models for USB transfers. Synchronous operations block the calling thread until a transfer completes, offering a straightforward sequential programming
Provides a consistent C API for discovering and communicating with USB devices across Linux, macOS, and Windows.
Node-Serialport is a Node.js library that provides cross-platform serial port access for JavaScript applications. It wraps native serial port operations into a stream-based abstraction, enabling consistent read and write behavior across Linux, macOS, and Windows without requiring platform-specific code. The library includes a mock serial port implementation that uses in-memory streams for testing code without physical hardware, and a parser stream pipeline that transforms raw binary data into structured messages using delimiters, line endings, or fixed byte lengths. It also provides command-l
Provides consistent serial port access across Linux, macOS, and Windows without platform-specific code.
Mayhem-Firmware is a custom firmware for the PortaPack add-on that transforms a HackRF software-defined radio into a standalone handheld device capable of receiving, transmitting, and analyzing radio signals across a wide frequency range. The firmware provides a complete operational environment with an event-driven touchscreen interface, a menu-driven application launcher, and a real-time sample streaming pipeline that connects the hardware abstraction layer to a suite of modular applications. All user data, including frequency presets, captures, and configuration files, are stored on a remova
Communicates with the device over USB serial for debugging, commands, and automation.
FUXA ist ein webbasiertes SCADA-System und eine industrielle HMI-Software zur Überwachung und Steuerung von industrieller Hardware. Es fungiert als Gateway für Industrieprotokolle und als Data Historian, der die Aufnahme von Telemetriedaten von speicherprogrammierbaren Steuerungen (SPS) und Sensoren über Standard-Kommunikationsprotokolle ermöglicht. Das Projekt bietet eine flussbasierte Automatisierungs-Engine, mit der komplexe operative Logik in einer visuellen Node-and-Edge-Umgebung erstellt werden kann. Es nutzt SVG-basiertes Rendering für seine grafischen Oberflächen, sodass Benutzer eigene HMI-Widgets und Dashboards entwickeln können, die mit Echtzeit-Gerätetelemetrie synchronisiert werden. Das System deckt ein breites Spektrum an operativen Funktionen ab, darunter Alarmmanagement mit schwellenwertbasierten Alerts, Zeitreihen-Datenarchivierung in relationalen oder Zeitreihen-Datenbanken sowie die Ausführung benutzerdefinierter Logik über eine integrierte JavaScript-Engine. Es bietet zudem Tools für die Konfiguration der Datenerfassung, den Export und Import von Projektstatus sowie rollenbasierte Zugriffskontrolle für die administrative Sicherheit. FUXA kann als Full-Stack-Anwendung auf verschiedenen Betriebssystemen oder als Headless-Binary auf Embedded-Geräten bereitgestellt werden.
Enables the configuration of sampling intervals and deadband thresholds to optimize industrial data recording.
Open-spectrometer-hardware ist ein Open-Source-wissenschaftliches Instrument zur Erfassung und Analyse von Spektren sichtbaren Lichts. Es fungiert als Hardware-Plattform, die mit einem Computer verbunden wird, um spektrale Datenerfassung und Lichtintensitätsanalysen für Forschungs- und Bildungsanwendungen durchzuführen. Das System nutzt ein modulares Gehäuse aus lasergeschnittenen Komponenten, das eine konsistente Ausrichtung der internen optischen Elemente gewährleistet. Es erfasst Licht über einen Beugungsgitterpfad und wandelt die resultierende Intensität mithilfe eines linearen Sensor-Arrays in digitale Daten um. Diese Daten werden über ein serielles Protokoll an einen Host-Computer übertragen, wo eine Software Kalibrierungsmatrizen anwendet, um Pixelpositionen bestimmten Lichtwellenlängen zuzuordnen. Das Projekt stellt die notwendigen Spezifikationen für den Zusammenbau kundenspezifischer Messgeräte aus Standard-Elektronikkomponenten und gefertigten Teilen bereit. Es unterstützt die automatisierte Datenerfassung und Integration in Laborumgebungen durch seine CLI und USB-basierte Datenerfassungsfunktionen.
Acts as a USB data acquisition device for real-time processing and visualization of light intensity data.