IoT Hands-On Projects

Build real connected systems from scratch—environmental monitors, home automation, industrial sensors, and agricultural IoT

Beginner Projects

Start here if you're new to IoT. These projects teach fundamentals while building useful devices.

Smart Temperature & Humidity Monitor

Beginner 2-3 hours ₹800-1,200

What you'll build: A Wi-Fi-connected sensor that measures room temperature and humidity, sends data to a cloud dashboard, and triggers alerts when values exceed thresholds.

What you'll learn: ESP32 programming, sensor interfacing, MQTT protocol, cloud dashboards (ThingSpeak or Blynk), basic data visualization.

Real-world applications: Server room monitoring, greenhouse climate control, home HVAC optimization, cold chain logistics.

Bill of Materials

Component
Quantity
Est. Cost
ESP32 DevKit
1
₹400
DHT22 Temperature/Humidity Sensor
1
₹200
Breadboard
1
₹80
Jumper Wires (M-M, M-F)
10
₹50
Micro USB Cable
1
₹100
Total
₹830

Step-by-Step Guide

1

Setup Development Environment

Install Arduino IDE (download from arduino.cc). Add ESP32 board support: go to File → Preferences, add this URL to "Additional Board Manager URLs":

https://dl.espressif.com/dl/package_esp32_index.json

Then go to Tools → Board → Boards Manager, search "ESP32" and install. Select "ESP32 Dev Module" as your board.

2

Install Required Libraries

In Arduino IDE, go to Sketch → Include Library → Manage Libraries. Install:

  • DHT sensor library by Adafruit
  • Adafruit Unified Sensor library
  • PubSubClient for MQTT
3

Wire the DHT22 Sensor

Connect DHT22 to ESP32:

  • DHT22 VCC → ESP32 3.3V
  • DHT22 GND → ESP32 GND
  • DHT22 DATA → ESP32 GPIO 4 (you can use any GPIO pin)

Add a 10kΩ pull-up resistor between VCC and DATA pin (or use DHT22 modules with built-in resistor).

4

Create ThingSpeak Account

Go to thingspeak.com and create a free account. Create a new channel with two fields: "Temperature" and "Humidity". Note down your Channel ID and Write API Key.

5

Write the Code

Upload this code to your ESP32 (replace Wi-Fi credentials and ThingSpeak API key):

#include <WiFi.h> #include <DHT.h> #include <ThingSpeak.h> #define DHTPIN 4 #define DHTTYPE DHT22 const char* ssid = "YOUR_WIFI_SSID"; const char* password = "YOUR_WIFI_PASSWORD"; unsigned long channelID = YOUR_CHANNEL_ID; const char* apiKey = "YOUR_WRITE_API_KEY"; DHT dht(DHTPIN, DHTTYPE); WiFiClient client; void setup() { Serial.begin(115200); dht.begin(); WiFi.begin(ssid, password); while (WiFi.status() != WL_CONNECTED) { delay(500); Serial.print("."); } Serial.println("\nWiFi connected"); ThingSpeak.begin(client); } void loop() { float temp = dht.readTemperature(); float humidity = dht.readHumidity(); if (isnan(temp) || isnan(humidity)) { Serial.println("Failed to read from DHT sensor!"); return; } Serial.print("Temp: "); Serial.print(temp); Serial.print("°C, Humidity: "); Serial.print(humidity); Serial.println("%"); ThingSpeak.setField(1, temp); ThingSpeak.setField(2, humidity); ThingSpeak.writeFields(channelID, apiKey); delay(20000); // Update every 20 seconds }
6

Test and Visualize

Open Serial Monitor (Tools → Serial Monitor) to see readings. Check your ThingSpeak channel—you should see graphs updating every 20 seconds. Set up alerts in ThingSpeak to get email notifications when temperature exceeds thresholds.

💡 Pro Tips

  • ThingSpeak free tier updates max every 15 seconds. For faster updates, use Blynk or MQTT brokers.
  • Add a battery and deep sleep mode to make it portable (ESP32 can run for weeks on a battery).
  • Use multiple sensors in different rooms and combine data on one dashboard.
  • Indian vendors: Robu.in, ThinkRobotics, Rhydo Technologies have all components.

Voice-Controlled Smart LED

Beginner 1-2 hours ₹500-800

What you'll build: Control an LED using your voice via Google Assistant or Alexa, or through a smartphone app.

What you'll learn: Cloud integration, Blynk/Sinric Pro platforms, relay control, basic home automation concepts.

Real-world applications: Home automation, accessibility for elderly/disabled, energy management.

Bill of Materials

Component
Quantity
Est. Cost
ESP8266 NodeMCU
1
₹250
5V Relay Module
1
₹80
LED Bulb (AC 230V)
1
₹50
Bulb Holder & Wire
1
₹100
Total
₹480

⚠️ Safety Warning

This project involves mains AC voltage (230V). If you're not comfortable working with AC power, use a 12V DC LED strip instead. Always disconnect power before wiring. Consider using a certified enclosure for the relay.

💡 Quick Start

  • Use Sinric Pro (free tier) for easy Google/Alexa integration—no complex setup needed.
  • Alternatively, use Blynk for smartphone app control (simpler for beginners).
  • Start with low-voltage LEDs before attempting AC appliance control.
  • Once working, expand to control fans, water pumps, or other appliances.

Intermediate Projects

These projects involve multiple sensors, data storage, or more complex logic. Requires basic programming knowledge.

Smart Agricultural Soil Monitor with Auto-Irrigation

Intermediate 4-6 hours ₹2,500-3,500

What you'll build: A complete agricultural IoT system that monitors soil moisture, temperature, and humidity. Automatically triggers irrigation when soil is dry and sends data to farmers' phones.

What you'll learn: Multiple sensor integration, relay control for water pumps, MQTT broker setup, local data logging, power management for outdoor deployment.

Real-world applications: Precision farming, greenhouse automation, urban gardening, drip irrigation optimization.

Bill of Materials

Component
Quantity
Est. Cost
ESP32
1
₹400
Capacitive Soil Moisture Sensor
2
₹400
DHT22 (Temp/Humidity)
1
₹200
5V Relay Module (2-channel)
1
₹150
12V Water Pump
1
₹300
Solar Panel (5V, 5W)
1
₹500
18650 Battery + Holder
2
₹400
TP4056 Charging Module
1
₹50
Waterproof Enclosure
1
₹300
Total
₹2,700

💡 India-Specific Considerations

  • Use capacitive sensors: Resistive soil sensors corrode quickly in Indian soil conditions. Capacitive sensors last 2-3 years.
  • Solar power essential: Fields often lack electricity. 5W solar + 2x18650 batteries runs ESP32 indefinitely.
  • LoRaWAN option: For large farms without Wi-Fi, replace ESP32 with LoRa module + Raspberry Pi gateway.
  • Crop-specific thresholds: Rice needs 60-80% moisture, wheat 40-60%, vegetables 50-70%. Adjust trigger levels accordingly.

Multi-Sensor Air Quality Monitor

Intermediate 3-4 hours ₹3,000-4,000

What you'll build: Monitor PM2.5, PM10, CO2, temperature, and humidity. Display AQI (Air Quality Index) on OLED screen and send alerts when pollution levels are unhealthy.

What you'll learn: I2C communication, sensor calibration, AQI calculation algorithms, OLED displays, data logging to SD card.

Real-world applications: Delhi/Mumbai air quality tracking, school/office health monitoring, industrial safety compliance.

Bill of Materials

Component
Quantity
Est. Cost
ESP32
1
₹400
PMS5003 PM2.5/PM10 Sensor
1
₹1,200
MQ-135 Air Quality Sensor (CO2, NH3)
1
₹150
BME280 (Temp/Humidity/Pressure)
1
₹350
0.96" OLED Display (I2C)
1
₹200
MicroSD Card Module
1
₹80
8GB MicroSD Card
1
₹200
Total
₹2,580

💡 Sensor Calibration Tips

  • PMS5003 warm-up: Sensor needs 30 seconds to stabilize after power-on. Discard first 3-5 readings.
  • Compare with official stations: Check government AQI data for your city and calibrate your readings.
  • Placement matters: Indoor monitors should be at breathing height (4-5 feet), away from windows/doors.
  • Save data locally: Log to SD card in case Wi-Fi drops. Upload historical data when connection returns.

Advanced Projects

Complex systems involving edge AI, industrial protocols, or large-scale deployments. For experienced makers.

Industrial Predictive Maintenance System

Advanced 8-12 hours ₹5,000-7,000

What you'll build: Vibration and temperature monitoring for motors/pumps with edge ML for anomaly detection. Predicts failures 1-2 weeks before they occur.

What you'll learn: ADXL345 accelerometer, FFT analysis, TensorFlow Lite on ESP32, MQTT industrial protocols, predictive algorithms, alert systems.

Real-world applications: Factory equipment monitoring, HVAC predictive maintenance, industrial pump monitoring, reducing unplanned downtime.

🎯 Project Highlights

  • Edge ML: Train model on normal vibration patterns, deploy to ESP32 for real-time anomaly detection.
  • Industrial value: Prevent equipment failures costing lakhs in downtime.
  • Scalable: Deploy multiple nodes across factory floor, centralize data for factory-wide insights.
  • ROI: One prevented failure pays for entire system 10x over.

Complete Smart Building Management System

Advanced 15-20 hours ₹8,000-12,000

What you'll build: Multi-room system controlling lighting, HVAC, occupancy detection, energy monitoring, and access control. Custom dashboard with analytics.

What you'll learn: Mesh networking (Zigbee/ESP-NOW), central gateway (Raspberry Pi), Node-RED for automation rules, InfluxDB time-series database, Grafana dashboards.

Real-world applications: Office buildings, co-working spaces, hotels, smart homes, commercial complexes.

🏗️ System Architecture

  • Edge layer: 10-20 ESP32 nodes (sensors + actuators per room)
  • Gateway layer: Raspberry Pi 4 running Node-RED + MQTT broker
  • Storage layer: InfluxDB for time-series data (energy consumption, occupancy patterns)
  • Visualization: Grafana dashboards accessible via web/mobile
  • Automation: Node-RED flows for rules ("if room empty > 10 min, turn off lights")

Additional Resources

Where to Get Help

Community Forums:

  • Arduino Forum (forum.arduino.cc) - Troubleshooting ESP32/Arduino issues
  • ESP32 India Group (Telegram/WhatsApp) - Local community for quick help
  • r/esp32 (Reddit) - Active community sharing projects and solutions
  • Hackster.io - Browse similar projects with full code/schematics

Video Tutorials:

  • DroneBot Workshop (YouTube) - Excellent ESP32 and sensor tutorials
  • GreatScott! (YouTube) - Electronics fundamentals and IoT projects
  • Andreas Spiess (YouTube) - Deep technical IoT content
Menu