Top 30 DIY IoT Projects - From Basics to Advanced

Published  July 18, 2021   0
Interesting DIY IoT Projects

“Internet of Things” is one of the most used technology buzzwords of the current times. After all, who’d have guessed that one day we'd have access to technology that will allow us to connect commonplace objects – such as lights, kitchen appliances, door lock systems, baby monitors, and electrical appliances – to a centralized and integrated network and operate them from anywhere in the world.

The ‘Thing’ in IoT can be any sensor, actuator or any kind of device with built-in-sensors that can collect and transfer data over a network without manual intervention. The Internet of Things enables devices to communicate with each other and make decisions on their own without any human interventions. In this getting started guide for the Internet of things we are going to present some interesting project ideas that you can build to get hands-on experience. This list of projects ranges from some basic projects like controlling an LED from a webserver to advance projects like complete home automation projects. So, without further ado, let’s get into it!

1. Controlling LED using NodeMCU and Google Firebase

This is a very basic project to kickstart your Internet of Things journey. As the name suggests this project guides you to set up a Google Firebase cloud and then control LED connected to NodeMCU GPIO pin wirelessly.

Controlling LED using NodeMCU and Google Firebase

Firebase is Google’s database platform which is used to create, manage and modify data generated from any android application, web services, sensors, etc. For more information on Firebase, please visit the official website of Google Firebase. Once you have finished setting up your device on Google Firebase, you can control it from anywhere in the world.

Complete project details with code and circuit diagram can be found in the given link: IoT Controlled LED using Google Firebase

2. NodeMCU Webserver to Control an LED

Now to take you one step ahead towards IoT development, this project includes building a web server to host a webpage, and control any appliance remotely from anywhere in the world. This project uses ESP12E NodeMCU as webserver, although any ESP module can be used here.

NodeMCU Webserver to Control LED

What is a Webserver and How it works? In simple terms, Web server is a place where we can store the web pages, process them and deliver them to the web clients. Now, what is web client? It is nothing but a web browser installed on our mobiles and PCs. A protocol is used to establish and transfer information between web client and server. This protocol is known as Hypertext Transfer Protocol (HTTP).

Complete project details with code and circuit diagram can be found in the given link: Building NodeMCU Webserver to Control an LED

3. Controlling a WS2812B RGB LED Matrix with Blynk

Over the course of a few years, RGB LEDs are getting popular day by day due to it's beautiful color, brightness, and enticing lighting effects. That is why it is used in many places as a decorative item, an example can be the home or an office space. Also, we can use the RGB lights in the kitchen and also in a gaming console. They’re also great in a kid’s playroom or bedrooms in terms of mood lighting. This IoT project includes a Neo pixel Based RGB LED matrix shield, Arduino, and Blynk application to produce many fascinating animation effects and colors which we will be able to control with the Blynk app.

Controlling a WS2812B RGB LED Matrix with Blynk

Complete project details can be found at the given link: Controlling a WS2812B RGB LED Matrix with Blynk

4. Controlling Servo Wirelessly

This is another beginner-level IoT project to control Servo Motor over Wi-Fi using a Webpage. This project includes an Arduino Uno, Servo Motor, and a Webpage with a slider. The ESP8266 will establish a connection between the servo and the web browser through the IP address and then by moving the Slider on the web page, the servo will move accordingly. Even by setting Port Forwarding on your router, you can control the Servo from anywhere in the world over the internet.

Web Controlled Servo using Arduino and Wi-Fi

Complete project details with code and circuit diagram can be found in the given link: Controlling Servo Wirelessly

5. IoT Weather Station

This is one of the excellent IoT project for beginners. This IoT-based weather station is specifically designed to facilitate the reporting of weather parameters over the Internet. This is one of the best IoT projects where the system is embedded with temperature, humidity, and pressure sensors that can monitor the weather conditions and provide live reports of weather statistics over a webserver.

IoT Weather Station

The weather data is updated live on the online webserver. So, you can directly check the weather stats online without having to rely on the reports of weather forecasting agencies. This IoT project includes ESP32, DHT11, and BMP180 sensor to get the weather data and then send it to the webserver.

Complete project details with code and circuit diagram can be found in the given link: IoT Weather Station

6. Reading Data from Internet using Arduino

Projects listed above only update data to the internet, but what if we want to read data from the internet. Don’t worry, this project includes a step-by-step guide to read data from the internet using an API. It uses ESP8266-01 Wi-Fi module with Arduino Uno to read the time, date, temperature, and humidity from the internet using an API. Then send these values to an Arduino board and display them on the 16*2 LCD screen.

Reading Data from Internet using Arduino

By building this project you can learn about interfacing ESP8266 with Arduino and reading different types of data from internet using APIs. Before we dive in, it is important to know how actually this thing is going to work. Basically, we have to start with the ESP8266-01 module. We will be using the Arduino IDE to program the ESP8266 and the code will be written to use an API to read a JSON file through http request. Then we will phrase this JSON file to extract only the required information from the complete JSON file. Once the information is phrased, we will print it out using the serial communication. These serial lines will then be connected to the Arduino, so that the Arduino could read the information sent from ESP8266. Once the information is read and processed, we will display it on the LCD screen.

Complete project details with code and circuit diagram can be found in the given link: Reading Data from Internet

7. Publishing Data to Google Firebase

Microcontrollers have small internal memory which is not enough to save sensors generated data for long time, either you have to use some external memory device or can save the data on some cloud using internet. To rectify this kind of problem, we always look into the ways where we want to monitor the sensor data in real-time from anywhere without any physical presence at that place.

The Google Firebase Cloud can be used in this scenario where we just have to interface some controller, which can be connected to internet and can be able to exchange data with cloud server. This project helps you in sending the data to Google Firebase cloud. This project uses temperature & humidity sensor DHT11 and a NodeMCU ESP8266 Module to log the temperature and humidity in real-time on Google’s Firebase database server.

Sending Temperature and Humidity sensor data to Firebase Real-Time Database using NodeMCU8266

Complete project details with code and circuit diagram can be found in the given link: Publishing Data to Google Firebase

8. Patient Health Monitoring System

Health monitoring is the major problem in today’s world. Due to the lack of proper health monitoring, patients suffer from serious health issues. There are lots of IoT devices now-a-days to monitor the health of patient over internet. Health experts are also taking advantage of these smart devices to keep an eye on their patients. With tons of new healthcare technology start-ups, IoT is rapidly revolutionizing the healthcare industry.

Patient Health Monitoring System

This IoT-powered Health Monitoring System records the patient heart rate and body temperature and also sends an email/SMS alert whenever those readings go beyond critical values. Pulse rate and body temperature readings are stored over ThingSpeak and Google sheets so that patient health can be monitored from anywhere in the world over internet. It also has a panic button so that patients can press it invcase of emergency to send email/SMS to their relatives.

Complete project details with code and circuit diagram can be found in the given link: Patient Health Monitoring System

9. Water Quality Monitoring System

This IoT-based project involves building a Water Quality monitoring system that can remotely monitor water quality. This project holds immense value for the agriculture sector to check and maintain water quality. It can monitor Soil moisture, pH of water, Temperature, etc.

This project includes an Arduino Uno, NodeMCU, Gravity Analog pH sensor, DS18B20 temperature sensor, and Soil moisture sensor. NodeMCU board helps to connect the system with the Internet and facilitates data transmission. By building this project you will get to know about the working of different sensors and the serial communication between Arduino and NodeMCU.

Water Quality Monitoring System

Complete project details with code and circuit diagram can be found in the given link: Water Quality Monitoring System

10. LoRa Communication between ESP32 and Arduino

LoRa is a wireless Radio frequency technology introduced by a company called Semtech, intended to be used to transmit bi-directional information to a long-distance without consuming much power. This LoRa based project uses two LoRa modules as transmitter and receiver to transfer data between Arduino and ESP32. By building this project you can learn about interfacing LoRa module SX1278 with ESP32 and Arduino Uno. ESP32 LoRa setup will request the weather data from an API for any given city and send it to the Arduino LoRa setup. Then Arduino LoRa will receive the data and display it on 16x2 LCD. So ESP32 LoRa will act as a transmitter and Arduino LoRa as a receiver. An OLED is also connected at ESP32 to display the temperature and humidity on the sender's side.

LoRa Communication between ESP32 and Arduino

Complete project details with code and circuit diagram can be found in the given link: LoRa Communication between ESP32 and Arduino

11. Publishing Data to AWS Cloud

Raspberry Pi has always been the first choice for developing IoT-based applications if some level of computation is involved. With the flexibility of python and strong developer community, it is very easy to collect, log, analyze or report a set of data using the Pi. This project helps you to send data to Amazon AWS using Raspberry Pi.

This project uses DHT11 sensor to read the value of Temperature and Humidity, then connect to the AWS IOT service and update the sensor values using the AWS IOT SDK. This data then can be visualized in the Amazon IOT console.

Publishing Data to AWS Cloud

Complete project details with code and circuit diagram can be found in the given link: Publishing Data to AWS Cloud

12. IoT Based Electricity Energy Meter

We all know about electricity energy meters that are installed in everyone’s house or offices to measure the electricity consumption. At the last of every month, many of us get worried about the high electricity bill and we have to look at the energy meter once in a while. But what if we can monitor our electricity uses from anywhere in the world and get an SMS/E-mail when your energy consumption reaches to a threshold value. This IoT-based project enables you to build a Smart Electricity Energy meter using Arduino and ESP8266 Wi-Fi module which can not only send you the SMS/Email of your electricity Bill but also you can monitor the energy uses anytime and from anywhere in the world. It uses a Current Sensor ACS712 to measure the energy consumption, and IFTTT platform to send the SMS/E-mail notifications.

IoT Based Electricity Energy Meter

Complete project details with code and circuit diagram can be found in the given link: IoT Based Electricity Energy Meter

13. IoT Based Smart Jar

This is one of the interesting IoT project ideas to create. This smart Jar Project allows you to keep track of the stocks, and it is easily accessible from the internet. The Jar includes an ultrasonic sensor at the top of it and uses the ultra-sonic reflected waves to figure out at what extent the Jar is filled and how much space is left inside the jar. Whenever the amount of content changes in the jar, it is sensed by the NodeMCU, and the same is updated on the webserver. This can be helpful to track supplies and plan for restocking from anywhere in the world.

IoT Based Smart Jar

Complete project details with code and circuit diagram can be found in the given link: IoT Based Smart Jar

14. IoT-based Event Management System

Another interesting and easy-to-build IoT project. This RFID Based IoT Enabled Event Management System that not only monitors the entry log but with the help of IoT technology, it can also send the Log and Entry data directly to a dedicated server that can handle all the authentication, authorization, and management making the whole process seamless. This project uses an NodeMCU with EM18 RFID Reader module, RFID Cards, and 16*2 Alphanumeric LCD. Building this project will help you learn about interfacing RFID module with NodeMCU and sending the data to Thingspeak Cloud.

IoT-based Event Management System

Complete project details with code and circuit diagram can be found in the given link: IoT-based Event Management System

15. Smart Irrigation System

Most of the farmers use large portions of farming land and it becomes very difficult to reach and track each corner of large lands. Sometime there is a possibility of uneven water sprinkles. This result in the bad quality crops which further leads to financial losses. In this scenario, Smart Irrigation System using Latest IoT technology is helpful and leads to ease of farming.

The Smart irrigation System has wide scope to automate the complete irrigation system. This project uses ESP8266 NodeMCU Module, Water Pump Module, Relay module, Soil Moisture Sensor and DHT11 Sensor. It will not only automatically irrigate the water based on the moisture level in the soil, but also send the Data to ThingSpeak Server to keep track of the land condition. The System will consist of a water pump which will be used to sprinkle water on the land, depending upon the land environmental condition such as Moisture, Temperature, and Humidity.

Smart Irrigation System

Complete project details with code and circuit diagram can be found in the given link: Smart Irrigation System

16. Smart Parking System

With the growing popularity of Smart Cities, there is always a demand for smart solutions for every domain. The IoT has enabled the possibility of Smart Cities with it’s over the internet control feature. A person can control the devices installed in his home or office from anywhere in the world by just using a smartphone or any internet connected devices.

The Smart Parking industry has seen a number of innovations such Smart Parking Management System, Smart Gate Control, Smart Cameras which can detect types of vehicles, ANPR (Automatic Number Plate Recognition), Smart Payment System, Smart Entry System and many more. This project follows a similar approach to build a smart parking solution. This project uses an ultrasonic sensor to detect vehicle presence and trigger the gate to open or close automatically. The ESP8266 NodeMCU will be used here as the main controller to control all the peripherals attached to it.

Smart Parking System

Complete project details with code and circuit diagram can be found in the given link: Smart Parking System

17. Solar Power Monitoring System

In the area of renewable energy, solar energy is at the forefront, because producing energy by using the power of the sun is the easiest and commercially viable way of renewable energy. Speaking of solar panels, the output power of a solar panel output needs to be monitored in order to get optimum power output from the panels. This is why a real-time monitoring system becomes necessary. In a large solar power plant, it can also be used to monitor the power output from each panel which helps to identify the dust buildup. It also prevents any fault conditions during the time of operation.

This project helps you build an IoT-based Solar Power Monitoring System by incorporating the MPPT (Maximum Power Point Tracker)-based battery charging technique, which will help to reduce charging time and improve efficiency. Also, it will measure the panel temperature, output voltage, and current to improve the safety aspect of the circuit. It also sends this data to  ThingSpeak cloud services to monitor the output data from anywhere around the world.

Solar Power Monitoring System

Complete project details with code and circuit diagram can be found in the given link: Solar Power Monitoring System

18. Air Quality Index (AQI) Monitoring System

AQI Monitoring System is one of the best ideas to start experimenting IoT projects. Air pollution is a glaring problem in all parts of the world, and monitoring air pollution levels is a challenge that every country is facing. IoT-based air pollution monitoring systems can both monitor the level of air pollution in cities and save the data on web servers for future use.

This smart air quality monitoring system uses an ESP32 with Nova PM SDS011 sensor, MQ-7 sensor, and DHT11 sensor. It measures the concentration of PM2.5, PM10, and Carbon Monoxide to calculate the Air Quality Index. The worst sub-index (or maximum of all parameters) determines the overall AQI. These AQI values are also published on Adafruit IO cloud so that it can be monitored from anywhere in the world.

Air Quality Index (AQI) Monitoring System

Complete project details with code and circuit diagram can be found in the given link: Air Quality Index Monitoring System

19. Contactless Body Temperature Monitoring

Since the corona outbreak, it has become very difficult to identify those who are affected by the virus or not. To solve this issue, temperature devices are often used to measure body temperature. These devices have non-contact IR temperature sensors which can measure the body temperature without any physical contact.                      

There are many temperature guns available in the market, but none of them gives any alert or email notification to higher authorities to take appropriate actions when the temperature exceeds a particular limit. This project uses a Raspberry Pi, MLX90614 IR temperature sensor, and Pi-Camera and sends email alerts with the image of the person if the temperature of any particular person exceeds the set value.

Contactless Body Temperature Monitoring

Complete project details with code and circuit diagram can be found in the given link: Contactless Body Temperature Monitoring

20. Surveillance Robotic Car

This project helps you build a web-controlled surveillance robotic car using Raspberry Pi and a webcam. This could be a useful and inexpensive security and spy tool, which has many configurable options and can be built in few hours. This project mainly uses Raspberry Pi, USB web camera, and two DC motor with Robot chassis to build this Robotic car. It has a web camera mounted over it, through which it gets the live video feed and the interesting part here is that it can be controlled from a web browser over the internet.

As it can be controlled using webpage, means it can also be controlled using webpage in Mobile. The webpage has Left, Right, Forward, Backward links, clicking on which you can move the robot in any direction. This project uses “Motion” for getting live Video feed from USB camera and used “Flask” for sending commands from webpage to Raspberry Pi using python to move the Robot, which are explained in detail in subsequent part of this tutorial.

Surveillance Robotic Car

Complete project details with code and circuit diagram can be found in the given link: Surveillance Robotic Car

21. IoT Based Smart Keychain

Agree it!!! It has happened to all of us. Many times, we misplace our keys and go searching for them everywhere in the house, and after a long search, we end up finding them with much distress. Now, the obvious solution here is to place your keys in their right place, but as engineers, what’s the fun in doing that. So, this project helps you build a simple IoT-based Smart Key Chain using ESP8266-01, Buzzer, and Battery. Now in case if you can’t find your keys and you remember that you have attached an IoT keychain to your keys, so you take out your phone and open Chrome, and open your Keychain Webpage. Then you click on the toggle button, and in moments, you hear a beep sound coming from your keychain and with this, you can easily track your keys.

IoT Based Smart Keychain

Complete project details with code and circuit diagram can be found in the given link: IoT Based Smart Keychain

22. Biometric Attendance System

A few years back if you were to tell someone that the Geyser and bedroom lights in your home are connected to internet, they would be baffled and might even criticize it as over-engineered products. But today, with the advent of IoT, Smart cities, etc the idea no longer sounds strange, we have devices around us that have become smarter by being able to communicate with the internet.

This project aims to leverage this IoT into the boring attendance system to make it smarter and more effective. Most conventional attendance systems available today store the information over a micro-SD card and have to be connected to software via a computer to access the information. This biometric attendance system project uses an Arduino that scans for fingerprint and on successful identification of the person, it will log the information to a cloud platform like ThingsBoard by using the ESP8266 Wi-Fi module. This information can then be displayed in the dashboard of ThingsBoard making it available for the required authorities to view and analysis information over the internet without having any direct physical access to the hardware.

Biometric Attendance system

Complete project details with code and circuit diagram can be found in the given link: Biometric Attendance system

23. Lora Based GPS Tracker

Knowing the whereabouts of a particular object/person has always been comforting. Today, GPS is being extensively used in asset management applications like Vehicle Tracking, Fleet Tracking, Asset monitoring, Person tracking, Pet Tracker, etc. For any tracking device, the primary design consideration will be about its battery expectancy and monitoring range. Considering both, LoRa seems to be the perfect choice since it has very low power consumption and can operate on long distances.

Lora Based GPS Tracker

This project tutorial provides a step-by-step guide to build a GPS tracking system using LoRa, the system will consist of a Transmitter which will read the location information from the NEO-6M GPS module and transmit it wireless over Lora. The receiver part will receive the information and display it on a 16x2 LCD display. To keep things simple and cost-effective for this project we will not be using a LoRa gateway. Instead, will perform peer-to-peer communication between the transmitter and receiver.

Complete project details with code and circuit diagram can be found in the given link: Lora Based GPS Tracker

24. IoT Based GPS Location Tracker

This DIY project tutorial, guides you to build an IoT-based GPS Location tracker using NEO-6M GPS Module. This Location Tracker Board consists of a NodeMCU, OLED Display Module, NEO-6M GPS Module, and 3.7 to 6V booster circuit. It also has a simple local webserver to display the location details. This webserver contains a link to directly check the location in Google Maps. So, if you want to check the location of a person that has this board just go to the webpage and click on the link and the exact location of the person will be displayed on Google Map. Apart from GPS module interfacing with NodeMCU this project also helps you learn PCB designing.

IoT Based GPS Location Tracker

Complete project details with code and circuit diagram can be found in the given link: IoT Based GPS Location Tracker

25. Voice Controlled Window Curtains

“Good morning. It’s 7 A.M. The weather in Malibu is 72 degrees…” these were the first words of JARVIS when being introduced in the Marvel Cinematics Universe. Most Iron Man fans should be able to recollect this scene and remember that JARVIS was able to open a window (kind-of) in the morning and give updates on time and weather. In the movie, the window Glasses were actually made of See-Through Touch Displays and hence JARVIS was able to make it turn from black to transparent and also display weather stats on it. But, in reality, we are far away from See-through touch screens, and the closer we can get is to control window blinds or constraints automatically.  

So, this project helps you build exactly that. The automated motorized blind would open and close automatically at pre-defined times. These Arduino controlled blinds can also take commands from Google assistant so that you can open or close your window blinds remotely through voice commands.

Voice Controlled Window Curtains

Complete project details with code and circuit diagram can be found in the given link: Voice Controlled Window Curtains

26. Voice Controlled Smart Rocket Igniter

This Smart Rocket Igniter project enables you to control your rocket using Alexa voice commands. Yeah, you read it right. This NodeMCU based rocket launcher has a very sturdy chassis made out of plywood, a reliable relay-based control mechanism, and a very unique mechanism for launching and reloading the rockets. So next time instead of firing rockets manually you could just command Alexa to fire them for you.

The working mechanism of the circuit is very simple, the main component which is responsible for launching the rocket is the nichrome wire, and it comes in the form of a heating coil. This nichrome wire will act as the rocket igniter.

Voice Controlled Smart Rocket Igniter

Complete project details with code and circuit diagram can be found in the given link: Voice Controlled Smart Rocket Igniter

27. AC Fan Speed Control using Smart Phone

The whole concept behind creating the smart fan control system is to enable you to control the fan using Smartphone. A fan regulator circuit is a crucial component that is used to increase or decrease the speed of an AC Fan/motor according to needs. A few years back, you had a choice between a conventional resistive type fan regulator or an electronic regulator, but nowadays it's all been replaced by the electronic fan regulator circuit.

This project helps you to build an IoT-based AC, Ceiling Fan Regulator circuit. Which will be able to control the speed of your ceiling fan with the help of an Android Application.

AC Fan Speed Control using Smart Phone

Complete project details with code and circuit diagram can be found in the given link: AC Fan Speed Control using Smart Phone

28. Smart Wi-Fi Video Doorbell

Nowadays, Security system is one of the most researched fields and with increasing security threats, companies are launching new smart security products to combat these threats. IoT is an added advantage in this field which can automatically trigger an event, like calling the police, fire brigade or your neighbor, in case of any emergency. This ESP32-CAM based and Smart Wi-Fi doorbell can easily be powered by an AC socket and whenever someone at the door presses the doorbell button, it will play a specific song on your phone and sends a text message with a link of video streaming page where you can see the person at the door from anywhere in the world.

Smart Wi-Fi Video Doorbell

Complete project details with code and circuit diagram can be found in the given link: Smart Wi-Fi Video Doorbell

29. ESP8266 based Smart Plug

While Smart plug products are already available in the market, like the popular Moko WiFi Smart Plug or Sonoff, they are a bit expensive and on top of that, it doesn’t give you the joy of building your own.  So, this project can guide you to build your very own Smart plug using ESP8266 Wi-Fi module. The device that we built can easily be plugged into any exiting AC socket and then on the other end you can connect the actual load simply by plugging it into this socket on our device. After that, just keep the main switch of your socket always on, and you can control your Load directly from your Smartphone.

ESP8266 based Smart Plug

Complete project details with code and circuit diagram can be found in the given link: ESP8266 based Smart Plug

30. Voice Controlled Home Automation

One of the best ways to test your IoT skills is working on a home automation project. This project here is different, the idea here is to create a practical home automation board that can fit into our AC power units on our walls and stay concealed inside it. The board should not interrupt the normal working of our power unit switches, that is they should turn ON or OFF with manual switches as well. And without being said, it should also be able to control the same load with voice using Google Assistant and also set a timer so that any load can automatically turn ON or OFF during a preset time of the day.

Voice Controlled Home Automation

Complete project details with code and circuit diagram can be found in the given link: Voice Controlled Home Automation

Wrapping Up:

In this article, we have discussed 30 IoT projects ideas ranging from beginner level to advance level. These Internet of Things-based projects are just a few instances of how IoT technology may be leveraged to produce creative products. With future technological breakthroughs, more innovative and groundbreaking projects are set to join the canvas of our daily lives. You can check our IoT projects page for upcoming new projects.

If you wish to know more about IoT, here are some bonus project ideas that you can build:

  1. IoT Based Raspberry Pi Microwave
  2. Performing MQTT Communication with ESP8266/NodeMCU using Arduino IDE
  3. IoT Based IPL Scoreboard
  4. Log Data into MySQL Database using NodeMCU
  5. Google Assistant Based Voice Controlled Home Automation
Have any question realated to this Article?

Ask Our Community Members