30 open-source projects similar to mik3y/usb-serial-for-android, ranked by shared indexed features. Tags may describe platforms or build tools rather than the same primary purpose. Check each project’s use case, license, and deployment requirements before treating it as a replacement.
pyserial is a cross-platform Python library for reading and writing binary data to serial ports and hardware devices. It provides a serial port enumeration tool for identifying available hardware and retrieving device path metadata. The project includes a network implementation for controlling remote serial port functions and signal lines over TCP/IP via the RFC 2217 standard. It also features a serial-to-TCP bridge for forwarding raw data between local ports and network sockets, as well as a specialized interface for managing half-duplex RS485 communication and RTS toggling. The library cov
libmodbus is a portable C library that implements the Modbus protocol stack for industrial hardware communication. It provides a set of tools for reading and writing coils and registers on industrial controllers and sensors, functioning as both a client and a protocol server. The library supports multiple transport layers, including a Modbus TCP stack for IPv4 and IPv6 network communication and a Modbus RTU driver for serial communication. It distinguishes itself through specialized data conversion utilities that handle byte-swapping and endianness for floating-point numbers and bit-field map
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
CppGuide is a curated collection of educational resources and practical guides focused on C++ server development, Linux kernel internals, concurrent programming, network protocols, and security exploitation. It provides structured learning paths for backend developers, covering everything from interview preparation to building high-performance network servers and understanding operating system fundamentals. The guide distinguishes itself by offering in-depth, hands-on tutorials that walk through real-world implementations, including building a Redis-like server from scratch, designing custom
TinyGo is a specialized compiler and development toolkit designed to bring the Go programming language to resource-constrained microcontrollers and WebAssembly environments. It provides a bare-metal runtime environment that enables high-level code execution without the need for a traditional operating system, utilizing an LLVM-based backend to generate efficient machine instructions. The project distinguishes itself through aggressive optimization techniques tailored for small hardware, including a static memory allocation strategy and whole-program dead code elimination that significantly re
SO-ARM100 is an open-source robot arm hardware project providing 3D-printable designs and assembly guides for building affordable robotic arms. It includes calibration software to synchronize motor communication parameters and arm positions via USB, alongside hardware designs for tactile sensing robotic grippers. The project distinguishes itself through the integration of touch-sensing and flexible filaments for adaptive grasping. It also provides a dedicated imitation learning dataset tool, featuring a web interface for labeling and visualizing robotics data to train machine learning models
Relativty is an open-source virtual reality headset kit that can be built for around $200 using DIY hardware and firmware, designed to work with SteamVR. At its core, it provides firmware for a 3-DoF VR headset that handles sensor calibration, orientation tracking, and communication with a PC over USB, along with a custom SteamVR-compatible driver that connects the self-built headset to the SteamVR ecosystem for launching games. The project distinguishes itself with an experimental full-body tracking module that uses a webcam and a neural network on an NVIDIA GPU to estimate 3D body position,
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
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
This project is an open-source software development kit and framework for implementing the Matter smart home standard. It provides a universal IPv6-based application layer and a cluster-based data model to ensure interoperability between diverse smart home devices and controllers. The system is distinguished by its multi-transport network abstraction, which maps Bluetooth LE, Thread, and Wi-Fi implementations to a common layer. It includes specialized tooling for secure device commissioning via QR codes and NFC, as well as a comprehensive over-the-air firmware update system for distributing s
usbipd-win is a USB device sharing tool and network device driver that binds physical USB hardware to a network protocol. It serves as a management interface for sharing and attaching USB devices via network protocols, specifically providing a utility to map shared hardware directly into Windows Subsystem for Linux instances. The project implements USB over IP networking to share locally connected devices over a network for discovery by remote client machines. It enables virtual machine USB passthrough, allowing guest operating systems to interact with physical hardware directly. The softwar
usbkill is a physical access defense tool and system monitor that triggers immediate power-off or shutdown sequences when unauthorized USB device changes are detected. It functions as a USB device shutdown trigger and volatile memory wiper designed to prevent forensic data recovery by automating system termination upon hardware tampering. The tool includes a USB device whitelist manager that ignores trusted hardware to prevent accidental shutdowns during legitimate device usage. It provides anti-forensic data protection by executing destructive commands to erase RAM and swap space before the
Relativ is an open-source project for the development of custom virtual reality hardware, encompassing the mechanical design, electronics, and software interfaces required to build a headset from scratch. It provides the frameworks necessary for assembling devices using open-source electronics and firmware. The project integrates custom hardware with SteamVR through driver-based configurations, mapping device identifiers and display viewports to ensure rendered images align with physical secondary displays. It employs a combination of microcontroller-based inertial measurement unit polling fo
OctoPrint is a web-based platform for remotely controlling and monitoring 3D printers. It provides a browser dashboard to start, pause, cancel, and track print jobs, while streaming real-time printer status, temperature, and progress updates. The system is built around a plugin-based architecture that allows extending core functionality, and it offers a documented REST API for programmatic printer control and data management. The platform distinguishes itself through its comprehensive automation and extensibility capabilities. It supports event-driven workflows that automatically execute cust
Xtreme-Firmware is a custom operating system for the Flipper Zero designed to expand hardware capabilities and remove software restrictions. It functions as a multi-protocol signal emulator for capturing and replaying RFID, NFC, Sub-GHz, and Infrared signals to test hardware security. The project features a specialized USB HID attack framework for sending keystroke payloads and spoofing device identifiers over USB and Bluetooth. It also includes a WiFi penetration testing suite for scanning, sniffing, and sending deauthentication frames using a wireless development board. Broad capabilities
Open-spectrometer-hardware is an open-source scientific instrument designed for capturing and analyzing visible light spectra. It functions as a hardware platform that connects to a computer to perform spectral data collection and light intensity analysis for research and educational applications. The system utilizes a modular chassis fabricated from laser-cut components, which ensures consistent alignment of the internal optical elements. It captures light through a diffraction-grating path and converts the resulting intensity into digital data using a linear sensor array. This data is trans
Klipper is a distributed motion control system and 3D printer firmware that splits high-level motion planning on a host computer from low-level timing execution on microcontrollers. It utilizes a host-based motion planner to calculate optimized trajectories and a real-time step generator on the microcontroller to produce precise motor pulses. The system functions as a configurable kinematics engine, allowing hardware settings and movement kinematics to be tuned via configuration files without the need to recompile or flash the firmware. This architecture supports multi-controller hardware coo
MicroPython is a lean implementation of Python 3 optimized to run on microcontrollers and other resource-constrained systems. It serves as a cross-platform embedded runtime and hardware abstraction layer, providing a firmware framework that maps high-level software commands to specific microcontroller registers across diverse processor architectures. The project functions as an embedded language interpreter that enables rapid prototyping on hardware through an interactive read-eval-print loop. It supports a wide range of target environments, including ARM, ESP32, STM32, RISC-V, and WebAssembl
Blackmagic is a GDB server for embedded hardware that translates GDB remote protocol messages into JTAG and SWD commands. It functions as an ARM and RISC-V debugger and hardware debug probe manager, enabling users to inspect memory, control execution, and manage registers on ARM Cortex and RISC-V cores. The project distinguishes itself by acting as a remote hardware debugging bridge that can stream GDB server traffic over TCP/IP to control physical hardware from a remote machine. It also provides a JTAG and SWD interface to connect host computers to target hardware and serves as an embedded f
Terminus is a multifunctional terminal emulator and connection manager designed for managing remote server shells and local hardware device connections. It functions as a customizable shell interface and a cross-platform serial client, supporting communication via SSH, Telnet, and serial ports. The application features an extensible system that allows the integration of third-party plugins, such as AI assistants and additional connectivity tools. It includes a dedicated SSH connection manager with support for jump hosts, port forwarding, and the storage of sensitive credentials within encrypt
Johnny-Five is a JavaScript robotics framework and microcontroller hardware interface designed for programming robots and IoT devices. It provides a standardized library for managing pins, motors, and displays across various microcontroller platforms, allowing developers to control sensors and actuators using a consistent JavaScript API. The framework is distinguished by its use of a plugin-based hardware abstraction system, which enables communication with diverse hardware platforms and protocols. It supports real-time hardware manipulation and debugging through a read-eval-print loop that a
XiaomiGateway3 is a local network interface and management tool for Xiaomi gateways. It functions as a local bridge to control Zigbee, Bluetooth Low Energy, and Matter devices while bypassing cloud reliance. The project provides a system for managing diverse hardware protocols, including a controller for Matter-standard lighting and Bluetooth Low Energy hardware such as smart locks and presence sensors. It allows for the integration of Zigbee sensors and actuators from multiple brands using external converters to support third-party hardware. The system includes utilities for extracting devi
This project is a tutorial and framework for building a low-level, bare-metal operating system from scratch using the Rust language. It focuses on ARMv8 kernel development specifically for the Raspberry Pi 3, providing the resources necessary to implement a monolithic kernel that runs directly on hardware without an underlying operating system. The project distinguishes itself by providing a complete embedded cross-compilation suite within a containerized environment to ensure consistent builds. It includes a dedicated kernel deployer that uses a serial interface and chainloader to load and b
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
This project is a custom firmware for the Flipper Zero that provides an embedded plugin ecosystem, a hardware pentesting toolkit, and a multi-protocol emulation layer. It modifies the device's operating system to include a Sub-GHz radio suite for expanded frequency range and the ability to build and deploy third-party applications directly onto the hardware. The firmware extends the device's native capabilities through a Sub-GHz radio suite that allows for frequency extension and signal capture beyond factory defaults. It implements specialized emulation for BadUSB and BLE keyboards and inclu
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
esptool is a Python-based serial utility designed for flashing firmware, configuring hardware fuses, and provisioning Espressif system-on-chip devices. It functions as a serial firmware flasher and hardware provisioning tool that interacts with chips over a serial connection to enable program execution and device setup. The tool provides specialized capabilities for managing Espressif hardware, including the ability to set permanent electronic fuses to lock security settings and define hardware-level configurations. It also features a serial communication bridge that routes network traffic to
This project is a Node.js serial port library that provides a JavaScript interface for reading and writing data to hardware serial ports. It functions as a low-level driver and hardware communication library designed to exchange data streams between a computer and external hardware devices. The library supports cross-platform serial communication on Linux, macOS, and Windows. It enables the establishment of data connections between high-level applications and embedded controllers, microcontrollers, or other hardware devices. The capability surface covers hardware integration for robotics con
This project is a reference library of firmware examples and a development framework for creating embedded C applications on the RP2040 microcontroller. It provides a collection of hardware peripheral drivers and foundational patterns for managing system resources in resource-constrained environments. The library features reference implementations for programmable I/O state machines, allowing for the creation of custom hardware-level protocols. It also provides a multicore embedded framework to distribute computational workloads across multiple processor cores using symmetric processing. The
Arduino CLI is a command line interface for compiling, uploading, and managing libraries and board cores for Arduino-compatible hardware. It functions as a microcontroller toolchain manager and hardware programming tool, providing utilities to discover and install the platform definitions and compilers required for various hardware architectures. The project features an RPC-enabled development daemon that allows external programs to trigger internal tool operations and manage automated electronics workflows programmatically. It also includes an interactive hardware debugger for real-time trou