30 open-source projects similar to stephane/libmodbus, ranked by how many features they have in common. Compare stars, activity and what each one does to find the best Libmodbus alternative.
nghttp2 is a suite of low-level C libraries and tools designed for implementing the HTTP/2 protocol. It provides a memory-efficient implementation of the protocol's core logic, including framing, stream multiplexing, and flow control. The project includes a dedicated library for HPACK header compression and decompression to reduce network bandwidth. It also provides a toolset for analyzing network traffic and benchmarking server performance, including throughput and latency measurements. Its broader capabilities cover protocol implementation and traffic management, including ALPN connection
open62541 is an open-source implementation of the OPC Unified Architecture standard, providing a complete stack for industrial automation and data exchange. It functions as both an OPC UA server and client, enabling the creation of an object-oriented address space to model physical industrial assets and their relationships. The project is designed for versatility across diverse hardware, offering a C99 library that can be deployed to both cloud servers and resource-constrained embedded environments. It distinguishes itself through a pluggable network layer and interface-based security backend
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
Costrict is an AI software engineering agent and coding assistant designed for enterprise-grade development. It functions as a multi-model AI orchestrator that generates, completes, and reviews code, while serving as a remote development environment that bridges browser interfaces with remote directories for file management and terminal execution. The platform distinguishes itself through an AI code review system that utilizes multi-model verification and repository indexing to ensure code quality. It employs a structured agent approach that decomposes complex natural language requirements in
Message-io is an event-driven networking library written in Rust that provides a unified message-based API for building applications across multiple transport protocols. It allows developers to handle communication over TCP streams, UDP datagrams, and WebSocket connections through a single interface, while managing underlying network connections, message transport, and low-level socket asynchrony. The library utilizes a single-threaded event loop architecture to process incoming connections, disconnections, network messages, and internal signals on a dedicated thread, eliminating traditional
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
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
Innernet is a WireGuard VPN mesh orchestrator and control plane that automates the deployment of encrypted tunnels between distributed peers. It functions as a virtual private network that coordinates endpoint discovery and distributes network configurations from a centralized server to establish a private overlay network. The system differentiates itself through a structured peer management lifecycle, using single-use invitation files for secure onboarding and cryptographic key exchange. It provides granular network segmentation by organizing peers into named CIDR blocks, allowing administra
Logicanalyzer is a digital logic analyzer and signal visualizer designed for capturing and analyzing high-speed digital signal transitions. It functions as a protocol decoder that translates raw digital signals into human-readable frames and operates as a network capture tool to acquire data remotely over TCP. The system is an extensible protocol analyzer, allowing the development of custom decoders and renderers for proprietary protocols through external libraries. It supports remote hardware capturing via WiFi and provides a mechanism to increase available digital channels through multi-dev
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
lan-mouse is a software KVM switch and networked peripheral controller that allows a user to share a single keyboard and mouse across multiple computers over a local area network. It functions as a cross-platform input sharer, capturing local peripheral events and relaying them to remote hosts for simulation at the operating system level. The system secures remote input control using a TLS-encrypted transport layer to prevent the interception of keystrokes and pointer data. Access is managed through fingerprint-based device authorization, which validates remote connections by matching unique
OctoPrint is a web-based control panel and Python-based hardware server for managing 3D printers. It functions as a G-code remote controller that sends commands to printer firmware over a persistent USB serial connection, allowing users to operate hardware and monitor print jobs through a browser. The project is an extensible hardware management platform that utilizes a plugin-based system. This architecture enables the addition of third-party functionality and custom extensions to modify core behavior and expand the system's remote control capabilities. The platform covers remote printer ma
Asterinas is a memory-safe operating system kernel designed to prevent data races and memory corruption. It functions as a Linux-ABI compatible kernel, enabling the execution of existing Linux binaries and container workloads while providing a declarative operating system distribution model. The project distinguishes itself by acting as a virtual machine container host and a confidential computing guest OS, allowing it to run within hardware-isolated Trusted Execution Environments such as Intel TDX. It implements a minimal trusted computing base by isolating unsafe low-level operations and se
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
Syncthing Android is a mobile application and service wrapper that enables decentralized, peer-to-peer file synchronization on the Android platform. It functions as a distributed data sync tool that mirrors folders across multiple devices without the need for a central cloud server. The project provides a mobile interface to manage a synchronization instance, utilizing a service-wrapper architecture to handle the lifecycle and configuration of the underlying synchronization binary. It ensures secure data exchange through TLS encryption, certificate-based identity verification, and password-pr
blinker-js is an IoT device communication framework and Node.js library designed to manage bidirectional data exchange between embedded hardware and remote servers or local networks. It functions as an MQTT hardware integration tool that links single-board computers to IoT clouds for remote management and control. The project provides a virtual device widget manager to synchronize hardware state with cloud-based user interface components. This system allows for the mapping of remote UI identifiers to internal software logic, enabling remote IoT control through virtual buttons and input fields
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
Open-IM-Server is an instant messaging server and cross-platform messaging backend designed for real-time text and media communication. It provides a distributed chat architecture that coordinates user sessions and group communications across multiple server nodes to support millions of concurrent users. The system features a scalable message distribution model that utilizes asynchronous message pipelines and distributed queueing to maintain reliability during traffic spikes. It employs multi-level data caching across local memory and distributed stores to reduce latency and uses a document-b
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
Gobot is a robotics framework for the Go programming language designed for developing robotics, drones, and IoT applications. It provides a hardware abstraction layer with standardized drivers to interact with GPIO, I2C, SPI, and PWM interfaces across various single-board computers and microcontrollers. The framework functions as an IoT device orchestrator and BLE device manager, enabling the coordination of multiple sensors, actuators, and Bluetooth Low Energy peripherals. It includes specialized interfaces for drone control, allowing for the management of flight maneuvers and video streams
Pyrogram is an asynchronous Python framework for interacting with the Telegram MTProto API. It serves as both a bot framework and a user client library, providing a concrete implementation of the MTProto protocol for secure communication with Telegram servers. The library distinguishes itself by providing a high-level wrapper layer that abstracts complex protocol methods into Python functions, while still allowing for the execution of raw API functions and low-level peer resolution. It supports multi-client concurrency, enabling the management of several user or bot identities within a single
PhoneSploit-Pro is an Android exploitation and remote administration toolkit. It provides a system for remotely controlling Android devices and extracting data using the Android Debug Bridge protocol. The project integrates with Metasploit to automate the creation and installation of payloads, establishing persistent command-and-control sessions. It also includes a network device scanner to identify active Android hosts on local networks by probing TCP ports. The toolkit covers a broad range of administrative and forensic capabilities, including remote shell execution, application management
ejabberd is a multi-protocol communication gateway and scalable server that implements XMPP for instant messaging and presence. It serves as a federated messaging platform, enabling interoperable communication and user discovery between different remote servers. The project functions as an MQTT message broker for lightweight IoT device communication and a SIP signaling server for managing voice and multimedia signaling traffic. It allows for the hosting of multiple domains on a single instance using virtual hosting to isolate configurations and prevent username conflicts. The system provides
Tabby is a cross-platform terminal emulator and desktop application suite designed for managing command-line workflows and remote infrastructure. It provides a comprehensive environment for terminal session orchestration, allowing users to organize multiple active sessions through split panes and custom layouts. The application functions as a secure remote connection manager, supporting advanced authentication, port forwarding, and persistent network sessions via an asynchronous protocol layer. The project distinguishes itself through a modular plugin architecture that enables users to extend
JavaSourceCodeLearning is a collection of deep-dive analyses and architectural breakdowns focusing on the internal source code of major Java frameworks and distributed systems. It provides a systematic study of the Java Development Kit internals, the Spring ecosystem, Netty's network architecture, and the distributed system mechanics of Kafka. The project focuses on the implementation of core infrastructure, including partition management, replica consistency, and log storage. It examines asynchronous event-driven network programming, I/O multiplexing, and the internal logic used for dependen
gdext provides a set of language bindings for writing high-performance native game logic in Rust for the Godot 4 engine. It serves as a framework for creating native engine extensions and custom classes via the GDExtension library, allowing developers to extend core engine functionality without recompiling the engine source code. The project includes a dedicated Rust WebAssembly toolchain to compile native logic into modules for execution in web browsers. This system supports WebAssembly-compatible compilation with specific configurations for web threading and module debugging. The toolkit c
Nannou is a creative coding framework for Rust designed for building interactive visual and audio sketches. It provides a loop-based API with hardware-accelerated 2D and 3D rendering, serving as a toolkit for generative art production and multimedia installation design. The framework is distinguished by its comprehensive hardware communication interface, which bridges software with physical devices via MIDI, OSC, DMX, serial, and laser DAC protocols. It also includes specialized projection mapping tools for warping visual output to fit non-standard physical surfaces and a dedicated GPU shader
The IPinfo CLI is a command-line interface tool designed for querying IP geolocation, autonomous system data, and network metadata from the IPinfo database. It provides terminal utilities for retrieving geographical locations, network owners, and routing details for individual target addresses, local host machines, and autonomous system numbers. The interface supports command-line automation utilities including bulk pipe processing, data field filtering, dataset summarization, IP range generation, and network address filtering. Users can stream continuous lines of text from upstream processes
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
This project is a collection of minimal operating systems, bootloaders, and hardware drivers used to demonstrate low-level x86 system programming and hardware interfacing. It serves as a kernel development toolkit and a system programming lab designed for testing architecture concepts and hardware behavior within a system emulator. The repository provides reference implementations for creating bootable disk images and loading kernel stages. It includes guides for implementing protected mode transitions, memory paging, interrupt descriptor tables, and symmetric multiprocessing on x86 hardware.