8 repository-uri
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 este un sistem SCADA bazat pe web și software HMI industrial conceput pentru monitorizarea și controlul hardware-ului industrial. Funcționează ca un gateway pentru protocoale industriale și un istoric de date, permițând ingestia de telemetrie de la controllere logice programabile (PLC) și senzori prin protocoale standard de comunicație industrială. Proiectul dispune de un motor de automatizare bazat pe fluxuri, care permite construirea unei logici operaționale complexe folosind un mediu vizual de tip nod-și-muchie. Utilizează randarea bazată pe SVG pentru interfețele grafice, permițând utilizatorilor să dezvolte widget-uri HMI personalizate și dashboard-uri care se sincronizează cu telemetria dispozitivelor în timp real. Sistemul acoperă o gamă largă de capabilități operaționale, inclusiv gestionarea alarmelor cu alerte bazate pe praguri, arhivarea datelor de tip time-series în baze de date relaționale sau specializate și execuția de logică personalizată printr-un motor JavaScript integrat. Oferă, de asemenea, instrumente pentru configurarea achiziției de date, exportul și importul stării proiectului și controlul accesului bazat pe token-uri pentru securitatea administrativă. FUXA poate fi implementat ca o aplicație full-stack pe diverse sisteme de operare sau ca un binar headless pe dispozitive embedded.
Enables the configuration of sampling intervals and deadband thresholds to optimize industrial data recording.
Open-spectrometer-hardware este un instrument științific open-source conceput pentru capturarea și analizarea spectrelor de lumină vizibilă. Acesta funcționează ca o platformă hardware care se conectează la un computer pentru a efectua colectarea de date spectrale și analiza intensității luminii pentru aplicații de cercetare și educaționale. Sistemul utilizează un șasiu modular fabricat din componente tăiate cu laser, ceea ce asigură alinierea consistentă a elementelor optice interne. Acesta captează lumina printr-o cale cu rețea de difracție și convertește intensitatea rezultată în date digitale folosind o matrice de senzori liniari. Aceste date sunt transmise către un computer gazdă printr-un protocol serial, unde software-ul aplică matrice de calibrare pentru a mapa pozițiile pixelilor la lungimi de undă specifice ale luminii. Proiectul oferă specificațiile necesare pentru asamblarea dispozitivelor de măsurare personalizate din componente electronice standard și piese fabricate. Acesta suportă capturarea automatizată a datelor și integrarea în medii de laborator prin interfața sa de linie de comandă (CLI) și capabilitățile de achiziție de date bazate pe USB.
Acts as a USB data acquisition device for real-time processing and visualization of light intensity data.