knolleary/pubsubclient

A client library for the Arduino Ethernet Shield that provides support for MQTT.

View on GitHub ↗Jump to charts ↓Open shareable report

Summary Information

Updated 1 hour ago
Added to GitGenius on September 17th, 2026
Created on February 2nd, 2009
Open Issues & Pull Requests: 567 (+0)
GitHub issues: Enabled
Number of forks: 1,503
Total Stargazers: 4,014 (+0)
Total Subscribers: 204 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 31.8 hours
Mean response time: 90.0 days
90th percentile: 156.7 days
Tracked items: 38

Most active contributors

Sign in to see contributor activity.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 34
New in 7 days: 0
Closed in 7 days: 0
Avg open age: 1,369 days
Stale 30+ days: 34
Stale 90+ days: 32

Recent activity

Opened in 7 days: 0
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

No label distribution available yet.

Most active issues this week

No issue events were indexed in the last 7 days.

Detailed Description

PubSubClient is a client library for Arduino that provides MQTT publish-subscribe messaging support.

The library solves the problem of enabling Arduino boards to communicate using the MQTT protocol. It works by implementing a lightweight MQTT client that connects to an MQTT broker, allowing Arduino sketches to publish messages and subscribe to topics. The implementation uses the Arduino Ethernet Client API, which provides compatibility across multiple network hardware options without requiring board-specific code.

Developers should be aware that the maintainer has stated the library is not actively maintained and recommends choosing an alternative library that is actively maintained. The tool suits projects using older Arduino hardware or those already invested in this library's API, but new projects should evaluate actively maintained alternatives. The library has notable constraints: it publishes only QoS 0 messages, supports subscription at QoS 0 or 1, has a default maximum message size of 256 bytes, and uses MQTT 3.1.1 by default. It works with a range of Arduino boards and shields including the Ethernet Shield, WiFi Shield, YUN, Galileo, Edison, ESP8266, and ESP32, though it cannot be used with ENC28J60-based hardware.

Almost all open issues are raised by outside users rather than the core team, indicating a substantial base of adopters reporting real-world use. Maintainers typically respond to new issues and pull requests within a few days.