A dead-simple, extensible MQTT implementation for embedded systems with minimal allocations and no external dependencies.
Natiu-mqtt is a lightweight, extensible MQTT implementation written in Go, specifically designed for embedded systems and resource-constrained environments. It provides a dead-simple, modular approach to MQTT communication with a focus on minimal allocations and no external dependencies.
Embedded systems developers, IoT engineers, and Go developers building MQTT-based applications for constrained environments or requiring transport-agnostic implementations.
Developers choose natiu-mqtt for its simplicity, minimal runtime overhead, and correctness—offering a robust alternative to more complex MQTT libraries with a focus on embedded use cases and transport flexibility.
A dead-simple, extensible MQTT implementation well suited for embedded systems.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
The Decoder interface lets users choose allocating or non-allocating implementations, providing fine-grained control over heap usage, as demonstrated in the ClientConfig example.
PUBLISH messages are handled via io.Reader, preventing the library from allocating memory for application data, which is critical for resource-constrained embedded systems.
Has no external dependencies, reducing bloat and simplifying deployment, as emphasized in the README's 'No external dependencies' highlight.
Decoding implementation is fuzzed with 95% coverage, ensuring resilience against adversarial inputs and enhancing correctness for mission-critical applications.
Only QoS0 is fully implemented; QoS1 and QoS2 are explicitly marked as work in progress, limiting use in scenarios requiring reliable message delivery.
The API is subject to change before v1.0.0 release, as noted in the examples, which risks breaking existing code and affects production readiness.
Lacks high-level abstractions like automatic reconnection or transport implementations, requiring users to handle more boilerplate, such as connection management and custom transports.
natiu-mqtt is an open-source alternative to the following products: