OSS Tanbou

use compact MQTT packet serialization plus pluggable-network C and C++ clients on embedded and constrained platforms

About these scores

OSS scale score is an unbounded metric that log-compresses and weights Stars, Watchers, Forks, and Contributors. Discovery score is the current OSS scale score minus the score at discovery. Update pace is commits in the last 30 days, growth momentum is the OSS scale score difference within the recent observation window, and OSS health is a 0–100 rating based on available recency, Community Health, and release data.

Stars
1,544
Primary language
C
License
EPL-2.0 OR BSD-3-Clause
Repository last updated
Jul 3, 2026
On this page

Overview

Eclipse Paho MQTT Embedded C provides MQTT client source for constrained platforms. It contains the small MQTTPacket serialization/deserialization layer plus higher-level C++ MQTTClient and C MQTTClient-C layers whose networking can be adapted to embedded operating systems and custom network stacks.

Features and best fit

Based on official documentation; not hands-on tested · Content checked:

Key features

Use MQTTPacket alone as a compact protocol layer

MQTTPacket leaves network I/O to the application and focuses on MQTT packet serialization, deserialization, and helper functions for a small dependency footprint.

Sources: [1][2]

Port C and C++ clients through pluggable networking

The higher-level C++ and C clients separate networking concerns and include examples for environments such as Linux, Arduino, and mbed that can guide custom ports.

Sources: [1]

Build packet and client subprojects with CMake

The top-level CMake project builds MQTTPacket, MQTTClient, and MQTTClient-C subprojects and exposes targets including paho-embed-mqtt3c.

Sources: [2][3]

Best fit

Fits embedded MQTT clients where footprint and network portability matter

It is useful for microcontrollers, RTOS environments, and custom TCP stacks where a smaller protocol component is preferred over a full desktop client library.

Sources: [1]

Before adoption

Do not judge maintenance only by the 2017 tagged release

The latest GitHub release/tag is v1.1.0 from 2017, but master still received fixes in 2026. New adoption should review current history and test on the intended platform rather than relying only on release age.

Sources: [5][4]

Pin a reviewed master commit because current master is not a formal release

As of October 4, 2026, master points to 6035ea2. If current fixes are required, pin a reviewed commit SHA instead of floating master so builds remain reproducible.

Sources: [4]

Network I/O and buffer ownership remain significant platform responsibilities

The low-level packet layer delegates reads and writes to the caller, so timeout behavior, partial I/O, buffer sizing, disconnects, and errors need to be validated in the target networking implementation.

Sources: [1]

Official sources

  1. [1]Paho MQTT Embedded C master README(2026-10-04)
  2. [2]Paho MQTT Embedded C current CMake configuration(2026-10-04)
  3. [3]MQTTPacket CMake target(2026-10-04)
  4. [4]Current master commit 6035ea2(2026-10-04)
  5. [5]Paho MQTT Embedded C v1.1.0 release(2026-10-04)
  6. [6]Paho declared project licenses(2026-10-04)
Supplemental curator note

The latest tagged release is v1.1.0 from 2017, while the repository master was still receiving fixes in July 2026. Do not use the release tag alone as a maintenance signal; review current master fixes and test on the intended platform. For reproducibility, this entry also records current master commit 6035ea2.

Try it in 3 steps

  1. 1

    Fetch current master and pin the reviewed commit

    Because the latest tag is from 2017, explicitly pin the master commit reviewed on October 4, 2026.

    git clone https://github.com/eclipse-paho/paho.mqtt.embedded-c.git paho-embedded && git -C paho-embedded checkout 6035ea2d4922bb7558b444fb2a051743f3f1974b
  2. 2

    Configure the CMake project

    Generate a build tree containing MQTTPacket, the C++ MQTTClient, and the C MQTTClient subprojects.

    cmake -S paho-embedded -B paho-embedded/build
  3. 3

    Build only the compact MQTTPacket library

    Compile the packet serialization/deserialization layer without connecting to an MQTT broker.

    cmake --build paho-embedded/build --target paho-embed-mqtt3c
Check the official README

Growth

Growth trends · Last 30 days

1,544 Stars

Trend data is still being collected.

Development activity

Last 90 days · weekly

Commits (last 30 days)
0
Open PRs
16

Development activity is still being collected.

Built with

Categories and tags

Categories

GitHub data

GitHub dataView detailed GitHub data

GitHub Topics

  • eclipseiot
  • mqtt
  • iot
  • embedded
  • internet-of-things
Stars
1,544
Forks
793
Watchers
106
Open issues
78
Contributors
13
Owner type
Organization
Primary language
C
Repository last updated
Jul 3, 2026
Write a related article

Share a guide or use case for this OSS in Markdown. Articles are published after administrator approval.

Report incorrect information

Tell us if any listing information is incorrect or outdated.

After reading this page, do you know what to do next?