Skip to main content

Eclipse Paho

Eclipse Paho is an open-source project that provides client implementations of the Message Queuing Telemetry Transport (MQTT) (Message Queuing Telemetry Transport) protocol (message-oriented middleware / Internet of Things (IoT) messaging) for multiple programming languages and platforms.

  • Multi-language MQTT client libraries for connecting applications and devices to MQTT brokers (IoT messaging / application integration).
  • Support for MQTT publish/subscribe communication patterns (message-oriented middleware).
  • Implementations of MQTT and MQTT-SN client behavior for constrained devices and networks (IoT and embedded connectivity).
  • APIs for synchronous and asynchronous messaging, including callbacks and event-driven integration (application integration).
  • Components usable in edge, gateway, and backend systems for telemetry, command, and data distribution workloads (IoT architecture).

More About Eclipse Paho

Eclipse Paho is a project under the Eclipse Foundation that focuses on client implementations of the MQTT protocol (message-oriented middleware / IoT messaging), enabling applications and devices to exchange data with MQTT brokers using a lightweight publish/subscribe model. It addresses the problem space of reliable messaging over constrained networks and resource-limited devices, which is a common requirement in IoT, telemetry, and mobile scenarios.

The project provides MQTT client libraries (IoT messaging) for multiple programming languages and platforms, enabling integration into diverse software stacks. These client libraries implement the MQTT protocol, including core functions such as establishing connections to MQTT brokers, publishing messages to topics, subscribing to topics, and handling message delivery callbacks. Paho also includes client implementations for MQTT-SN (IoT and embedded connectivity), a variant of MQTT designed for sensor networks and constrained environments, which uses a different transport mechanism suitable for low-bandwidth and low-power networks.

Eclipse Paho supports both synchronous and asynchronous communication patterns (application integration). Its APIs allow developers to manage connections, configure Quality of Service (QoS) levels defined by MQTT, handle retained messages, and implement reconnection logic. Asynchronous capabilities typically include callback-based or event-driven interfaces, which enterprises use to integrate messaging into existing event-processing or microservice architectures. The project supports secure connections through standard network security mechanisms where supported by the underlying platform and transport stack.

In enterprise and institutional environments, Eclipse Paho is used to connect devices, gateways, and backend applications (IoT architecture) to MQTT brokers deployed on-premises (on-prem) or in cloud environments. Common use cases include telemetry collection from sensors and equipment, command and control of remote devices, streaming of status and event data, and integration of edge systems with central analytics platforms. Because Paho focuses on client-side functionality, it is typically used alongside separate MQTT broker implementations that manage routing and persistence of messages.

From a categorization perspective, Eclipse Paho fits into IoT messaging, message-oriented middleware clients, and application integration libraries. It interoperates with any MQTT-compliant broker (protocol interoperability), enabling organizations to pair it with broker technologies that conform to the MQTT standard. The project is part of the broader Eclipse IoT ecosystem (IoT frameworks), aligning with other Eclipse Foundation initiatives around device connectivity, gateways, and cloud integration. Its open-source nature and Eclipse Foundation governance (open-source foundation) support reuse across industrial, commercial, and research deployments that depend on standardized MQTT-based communication.