30 open-source projects similar to libusb/libusb, ranked by how many features they have in common. Compare stars, activity and what each one does to find the best Libusb alternative.
stlink is a toolset for ARM Cortex-M flashing, firmware management, and debug server operations, with specific support for STM32 microcontrollers. It provides an ARM Cortex-M flash programmer for writing binary and hex files, an ITM trace logger for real-time instrumentation data, and a SWD/JTAG debug server. The project includes a graphical user interface for managing MCU firmware and exporting memory, as well as a remote server that allows external debuggers to control execution and inspect registers on target hardware. The toolset covers microcontroller memory management through flash era
iDescriptor is a suite of specialized tools for managing, diagnosing, and interacting with iOS devices. It provides a comprehensive toolkit for device management, hardware diagnostics, remote terminal access, and virtual location simulation across different operating systems. The project includes a device management suite for mirroring screens in real-time, managing files, and installing applications via USB or wireless connections. It features a hardware diagnostic tool to identify internal components and verify the authenticity of USB cables, along with a virtual GPS simulator to override g
rawdrawandroid is a framework for building Android applications using C and Make. It provides a native development system that compiles source code into standalone executable packages, bypassing the standard Java or Kotlin toolchains and virtual machines. The project features a native UI toolkit for creating hardware-accelerated graphics windows and a dedicated hardware interface for direct communication with USB peripherals and onboard sensors. It utilizes a containerized build environment to ensure consistent compilation and signing of binaries without requiring local toolchain installation
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
ipsw is a specialized toolkit for iOS firmware analysis, binary reverse engineering, and hardware interaction. It provides a suite of tools for downloading, extracting, and analyzing firmware images and kernel caches, alongside a MachO binary analysis tool for disassembling and patching executables. The project distinguishes itself through integrated language-model-powered code reconstruction to translate machine code into high-level source code. It also features an automation client for the App Store Connect API to manage certificates and application settings. The framework covers a broad r
OpenTabletDriver is a user-mode graphics tablet driver and USB HID input manager that translates raw USB input from digitizer hardware into system cursor and pen events. It serves as a hardware abstraction layer that normalizes input from various tablet brands into a consistent API, providing a cross-platform pen interface with pressure and tilt sensitivity. The project distinguishes itself through a plugin-based architecture and a profile-based configuration system, allowing for custom filters, interpolators, and persistent hardware setups. It includes specialized tools for hardware driver d
This repository is a comprehensive collection of reference implementations and sample libraries for the Universal Windows Platform. It provides practical examples of how to use Windows Runtime APIs to build cross-device applications, including detailed guidance on XAML-based declarative user interfaces and DirectX-integrated rendering. The project distinguishes itself by providing a wide array of hardware integration suites, covering low-level communication with USB, Serial, I2C, SPI, and GPIO peripherals. It includes specialized implementations for mixed reality holographic rendering, advanc
SDL is a cross-platform development library that provides low-level access to audio, keyboard, mouse, joystick, and graphics hardware. It functions as a hardware abstraction layer, mapping diverse operating system interfaces into a unified set of functions to ensure consistent performance across different computing environments. The library serves as a foundation for multimedia and interactive application development by providing an integrated audio processing engine and a graphics rendering framework. It manages the complexities of hardware communication by normalizing raw input events and p
ExecuTorch is a lightweight C++ runtime for deploying PyTorch models on mobile, embedded, and edge hardware. It provides an ahead-of-time compilation pipeline that exports, quantizes, and lowers model graphs into compact serialized programs, then executes them through a minimal runtime with hardware acceleration and on-device large language model inference capabilities. The project distinguishes itself through a hardware accelerator delegate system that partitions model subgraphs and offloads computation to specialized backends including NPUs, GPUs, and DSPs from Apple, Arm, Intel, MediaTek,
Rax is a React universal application framework and isomorphic JavaScript environment designed to render a single codebase across web, mobile, and mini-program platforms. It functions as a cross-platform component renderer that translates React components into platform-specific elements using a standardized driver specification. The framework utilizes a universal UI driver specification to decouple component logic from the underlying UI layer, allowing for standardized DOM manipulation and event handling across different execution environments. This architecture enables the integration of nati
Mbed TLS is a C library that provides a full implementation of the TLS and DTLS protocols for secure network communication, a library of fundamental cryptographic primitives, and a reference implementation of the PSA Cryptography API. It also includes libraries for parsing, validating, and managing X.509 digital certificates, as well as support for integrating hardware cryptoprocessors through the PSA Cryptoprocessor Driver Interface. The library is designed for resource-constrained environments and is built from source with a customizable feature set, allowing developers to select which TLS
JUCE is a comprehensive C++ audio framework and digital signal processing library used to build cross-platform audio applications, audio plug-ins, and high-performance user interfaces. It serves as a development kit for creating audio processors compatible with industry-standard plugin formats for digital audio workstations, as well as a tool for MIDI and Open Sound Control communication between musical hardware and software. The framework is distinguished by its ability to maintain a single codebase for native desktop and mobile applications across multiple operating systems. It provides a f
Mbed TLS is an open-source TLS and DTLS library with a small footprint, designed for embedded systems and IoT devices. It provides a portable cryptographic library that includes symmetric ciphers, hashing, and public-key cryptography, along with a reference implementation of the PSA Cryptography API for standardized cryptographic operations across platforms. The library also offers X.509 certificate management for parsing, validating, and managing certificate chains in secure communications. The library is built around a platform abstraction layer that decouples it from OS-specific services t
OpenMTP is a desktop application that enables file transfers between macOS computers and Android devices over USB using the MTP protocol. It functions as a dedicated file manager client for Android devices, providing a split-pane interface for browsing and managing files on connected device storage, including internal memory and SD cards. The application supports transferring files larger than 4GB in a single operation without splitting or errors, and enables moving files between local and device storage panes through drag-and-drop interactions. It includes a grid-list view renderer that swit
Serial Studio is a desktop application for connecting to, decoding, visualizing, and recording data from hardware devices over multiple communication protocols. It functions as an embedded device debugging toolkit that ingests live data from Serial, Bluetooth, CAN, Modbus, MQTT, and network sockets into a unified dashboard, while also serving as a programmatic automation platform with over 320 commands exposed over TCP, gRPC, and MCP for external control. The application distinguishes itself through a scriptable frame pipeline that routes incoming bytes through configurable detection, decodin
This project is an implementation of the Arduino framework for ESP32 microcontrollers, providing a core that enables firmware development using a familiar API. It functions as a microcontroller hardware abstraction layer and a firmware toolchain integration, bridging external development environments to the hardware for compilation and flashing. The system includes an embedded real-time operating system wrapper to manage multi-core execution and task scheduling, alongside a wireless communication suite for TCP/IP networking and Bluetooth Low Energy. It distinguishes itself by providing an obj
ElectronBot is a robotic system comprising custom PCB designs, an embedded circular display driver, an I2C servo controller, and a communication bridge. It integrates hardware schematics and layouts for control boards and sensor arrays with firmware designed to render images and animations on integrated circular screens. The system features a control bridge that links the physical robot hardware to the Unity game engine for real-time visualization and high-level control. Data exchange between the host computer and the embedded hardware is handled via a custom USB CDC serial communication prot
FlClash is a cross-platform proxy client designed to manage network traffic through configurable rules and system-level tunnel integration. It functions as a native system orchestrator, coordinating application lifecycle events and background services across desktop and mobile environments. The application utilizes a modular architecture that enables extensibility through local plugins and foreign function interfaces, allowing for direct interaction with native system libraries. It maintains security by isolating restricted administrative tasks within a privileged helper process, which valida
This project is a cross-platform library designed for desktop application development, providing a unified interface for window management, input handling, and hardware-accelerated graphics. It serves as a foundational framework that abstracts platform-specific windowing protocols and graphics APIs, enabling developers to create interactive software that functions consistently across Windows, macOS, and Linux. The library distinguishes itself by providing deep integration with low-level graphics APIs, specifically OpenGL and Vulkan. It manages the complexities of graphics context initializati
Compose Multiplatform is a declarative user interface framework that enables the development of native graphical interfaces across desktop, mobile, and web platforms using a single Kotlin codebase. It functions as a multiplatform library that allows developers to share both application logic and UI components while maintaining access to platform-specific features through abstraction layers. The framework utilizes a reactive state management system that automatically tracks data mutations to trigger granular interface updates. By employing a cross-platform rendering engine based on a hardware-
Hiredis is a minimalistic C client library designed to send commands and receive responses from Redis servers using a binary-safe protocol. It functions as a core toolkit providing a Redis protocol parser, a secure connector, and both synchronous and asynchronous driver interfaces. The library distinguishes itself through a decoupled protocol parser that converts raw byte streams into structured data objects independently of the network transport layer. It supports high-performance pipelining to batch multiple commands into a single network round-trip and provides a secure networking layer fo
Beast is a C++ library for implementing low-level HTTP and WebSocket clients and servers. It functions as an asynchronous networking framework designed to compose non-blocking I/O operations and layered stream stacks for managing concurrent network traffic, specifically utilizing the Boost.Asio asynchronous model. The library provides a comprehensive implementation of the HTTP/1.1 and WebSocket protocols. For HTTP, it includes primitives for parsing and serializing messages with support for chunked transfer encoding, incremental body reading, and request pipelining. Its WebSocket implementati
OpenThread is an open-source implementation of the Thread networking protocol stack. It provides a standard-compliant IPv6 mesh networking stack, integrating 6LoWPAN and IEEE 802.15.4 to enable secure, internet-connected communication for low-power wireless devices in smart home and industrial automation environments. The project includes a Thread Border Router, which acts as a networking gateway bridging low-power mesh networks to external IP networks such as Wi-Fi or Ethernet. It is designed for energy efficiency, featuring a low-power wireless mesh implementation that allows battery-operat
Druid is a native user interface toolkit and 2D graphics engine for the Rust programming language. It functions as a retained-mode, data-driven framework for building graphical user interfaces that run across Linux, macOS, and web browsers via WebAssembly. The toolkit distinguishes itself through a data-first approach to UI design, utilizing lenses to isolate subsets of global application state and synchronize them with specific widgets. This allows the visual layout to update automatically when the underlying data model changes. Its capability surface includes a constraint-based box layout
This project is a Chromium-based mobile browser and rendering engine designed for mobile platforms. It functions as a web extension host, allowing the execution of browser extensions within a mobile environment to provide custom functionality. The project distinguishes itself through custom user interface modifications, such as the implementation of a specialized night mode and the relocation of the address bar for improved ergonomics. It also includes a remote debugging interface and protocol that allow an external developer console to connect to a live browser instance for inspecting and tr
This project is a Java library for establishing raw serial port connections between Android devices and external hardware using USB host mode. It provides a communication bridge for interacting with microcontrollers and adapters without requiring root access. The library includes a device identification framework to detect and map serial hardware using vendor and product IDs. It features specialized driver implementations for chipsets such as CDC and FTDI to enable data exchange across different hardware standards. It covers hardware integration capabilities including device discovery, seria
Slint is a declarative user interface framework designed for building native graphical applications across desktop, mobile, and embedded platforms. It utilizes a specialized markup language to define reactive interface components, which are then compiled into optimized machine code to ensure high performance and minimal resource consumption. By separating visual structure from application logic, the framework enables developers to create consistent interfaces that run efficiently on hardware ranging from resource-constrained microcontrollers to high-end desktop systems. The framework distingu
This project serves as a curated directory of resources, libraries, and educational materials for the NestJS ecosystem. It functions as a central hub for developers building scalable, modular server-side applications using TypeScript, providing a comprehensive index of tools designed to support enterprise-grade web development. The repository distinguishes itself by aggregating community-maintained modules, architectural patterns, and integration tools that extend the core framework. It provides access to production-ready starter templates and boilerplate projects, enabling developers to esta
F Prime is a component-based framework designed for the development and deployment of embedded and spaceflight software. It provides a modular architecture that decouples software logic from communication interfaces, allowing developers to define system structures through a domain-specific modeling language. This model-based approach enables automated code generation, ensuring consistency across complex system topologies while maintaining strict interface contracts between software modules. The framework distinguishes itself through its integrated build system and ground data operations suite