embedded-mqttc 1.0.0

A simple MQTT client designed for use with embassy
Documentation

This is a MQTT client based on embassy. I supports no_std without a global_allocator. For Testing it also supports std envoronments.

Features

If you want to add one of the missing features, please submit a pull request.

Protocol Versions

This crate supports MQTT 3.1.1. Support for MQTT 5 is planned but there will never be a dual support of both versions at the same time.

MQTT Features

  • Publish
  • Subscribe
    • Auto Subscribe to topic when connection ist established
  • Unsubscribe
  • Last Will
  • QoS 0
  • QoS 1
  • QoS 2
  • Automatically send ping

Version comparison

Feature 0.x.x 1.x.x
Network backend Depends on embassy-net Depends on embedded-nal-async
Specification alignment Initial implementation; some behaviors are implementation-defined Improved behavior and fixes to better align with the MQTT specification
Protocol support MQTT 3.1.1 MQTT 3.1.1 (same feature set) with spec-alignment improvements
API stability Existing API used by current integrations Breaking API changes in places (migration of networking types and some call signatures)

License

Copyright 2025 Siemers, Tim

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.