Close Menu
Circuit of Things
  • Home
  • About Us
  • Contact Us
  • 3D Print
  • Shop Now !
  • Projects
    • Raspberry Pi Projects
    • Arduino Projects
    • ESP8266 Projects
    • ESP32 Projects
    • IoT Tutorials
    • Sensors & Modules
    • IoT Basics
  • KSP Tools

Get Free Tutorials & Discounts!

Subscribe for the latest IoT tutorials and exclusive KSP Electronics discount codes.

Instagram WhatsApp
  • Terms and Conditions
  • Disclaimer
  • Privacy Policy
  • Contact Us
Circuit of Things Circuit of Things
  • Home
  • About Us
  • Contact Us
  • 3D Print
  • Shop Now !
  • Projects
    • Raspberry Pi Projects
    • Arduino Projects
    • ESP8266 Projects
    • ESP32 Projects
    • IoT Tutorials
    • Sensors & Modules
    • IoT Basics
  • KSP Tools
Hire us
Circuit of Things
Home»ESP32 Projects»ESP32 MQTT Tutorial: Publish and Subscribe with HiveMQ
ESP32 Projects

ESP32 MQTT Tutorial: Publish and Subscribe with HiveMQ

Sai Preetham KoyyalaBy Sai Preetham KoyyalaMay 4, 2026Updated:May 7, 2026No Comments2 Mins Read
Share Facebook Twitter Pinterest LinkedIn Tumblr Reddit Telegram Email
Share
Facebook Twitter LinkedIn Pinterest Email
Contents
  • Introduction
  • MQTT Architecture
  • Required Libraries
  • Complete Code
  • Testing
  • Conclusion

Introduction

MQTT is the backbone of modern IoT communication. It is a lightweight publish-subscribe protocol perfect for the ESP32. In this tutorial we connect to a free public broker, publish sensor data, and receive control commands.

MQTT Architecture

  • Broker: Central server routing messages (e.g. broker.hivemq.com).
  • Publisher: ESP32 sending sensor readings to a topic.
  • Subscriber: Dashboard or phone receiving the data.

Required Libraries

Install via Arduino IDE Library Manager: PubSubClient by Nick O’Leary and DHT sensor library by Adafruit.

Complete Code

#include <WiFi.h>
#include <PubSubClient.h>
#include <DHT.h>
#define DHTPIN 4
#define DHTTYPE DHT11
const char* ssid = "YOUR_SSID";
const char* password = "YOUR_PASSWORD";
const char* mqtt_server = "broker.hivemq.com";
WiFiClient espClient;
PubSubClient client(espClient);
DHT dht(DHTPIN, DHTTYPE);
void callback(char* topic, byte* payload, unsigned int len) {
  String msg = ""; for (int i=0;i<len;i++) msg+=(char)payload[i];
  Serial.println("Received: " + msg);
}
void reconnect() {
  while (!client.connected()) {
    if (client.connect("ESP32Client")) { client.subscribe("home/control"); }
    else delay(5000);
  }
}
void setup() {
  Serial.begin(115200); dht.begin();
  WiFi.begin(ssid, password);
  while (WiFi.status() != WL_CONNECTED) delay(500);
  client.setServer(mqtt_server, 1883);
  client.setCallback(callback);
}
void loop() {
  if (!client.connected()) reconnect(); client.loop();
  float t = dht.readTemperature(), h = dht.readHumidity();
  if (!isnan(t)) {
    String p = "{"t":" + String(t) + ","h":" + String(h) + "}";
    client.publish("home/sensors", p.c_str());
  }
  delay(5000);
}

Testing

Download MQTT Explorer, connect to broker.hivemq.com:1883 and subscribe to home/sensors. You will see live readings every 5 seconds!

Conclusion

MQTT is the most efficient IoT protocol. Once mastered, you can connect dozens of sensors feeding into Node-RED or Home Assistant dashboards in real time.

Related Tutorials

  • How to Build a DIY Robotic Hand using Flex Sensors and Arduino
  • ESP32 MH-Z19B: Building a DIY CO₂ Monitor for Smarter Air Quality Projects
  • Build an ESP32 DHT11 Webserver for Real-Time Temperature and Humidity Monitoring
Share. Facebook Twitter Pinterest LinkedIn Tumblr Email
Previous ArticleHow to Connect ESP32 to Wi-Fi: Complete Beginner Guide
Next Article HC-SR04 Ultrasonic Sensor Arduino: Distance Measurement and Projects
Sai Preetham Koyyala
  • Website
  • Facebook
  • X (Twitter)
  • Instagram
  • LinkedIn

Hello, I am Sai Preetham Koyyala. I'm an electronics engineer by profession, a DIY enthusiast by passion. ESP32 and Arduino are the main topics of my work.

Related Posts

ESP32 Projects

Step-by-Step Guide: Interface DHT11 and DHT22 Sensors with ESP32

May 6, 2026
ESP32 Projects

An Introduction to the ESP32 Development Board

May 6, 2026
ESP32 Projects

The Complete ESP32 Pinout Guide: Which Pins to Use?

May 6, 2026
Add A Comment
Leave A Reply Cancel Reply


⚡

Circuit of Things

Free IoT tutorials & electronics projects — powered by KSP Electronics.

📸 Instagram 💬 Community
✓ Official Partner Store

Everything for Your
Next IoT Build

Boards, sensors, modules & kits — fast delivery across India.

ESP32 Arduino Sensors Raspberry Pi 3D Print
🛒 Shop KSP Electronics →
Top Posts

Raspberry Pi: How to Control a DC Motor with L298N and PWN on a Web Server

July 14, 2023

Step-by-Step Guide: Interface DHT11 and DHT22 Sensors with ESP32

May 6, 2026

Esp8266 / NodeMCU Pinout: A Comprehensive Guide for Beginners

June 25, 2023
Available for Projects

Hire Us for IoT Development

End-to-end solutions for your needs:

  • → ESP32 & Embedded Systems
  • → LoRaWAN & Cloud Dashboards
  • → Custom Hardware Design
  • → IoT Product Prototyping
View Services →

Get Free Tutorials & Discounts!

Subscribe to get the latest IoT tutorials and exclusive hardware discount codes for KSP Electronics delivered directly to your inbox.

Follow Us
  • Instagram
  • Telegram
About Circuit of Things

We are a community-driven engineering platform dedicated to IoT, Robotics, and DIY electronics tutorials.

Proudly partnered with KSP Electronics.

Quick Links
  • Home
  • ESP32 Projects
  • Arduino Projects
  • IoT Tutorials
  • Sensors & Modules
  • Shop on KSP Electronics
  • Electro Calc
Legal & Support
  • Terms and Conditions
  • Disclaimer
  • Privacy Policy
  • Contact Us
📩

Get Free Tutorials & Discounts!

Subscribe for IoT tutorials and exclusive KSP discount codes.

Subscription Form


By subscribing, you agree to our Privacy Policy. No spam, ever.

X (Twitter) Instagram YouTube WhatsApp
  • Terms and Conditions
  • Disclaimer
  • Privacy Policy
  • Contact Us
© 2026 Circuit of Things. Designed by Sai Preetham Koyyala.

Type above and press Enter to search. Press Esc to cancel.