Skip to content

kritishmohapatra/100_Days_100_IoT_Projects

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

152 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

White MicroPython Logo

100 Days 100 IoT Projects

Welcome to my 100 Days 100 IoT Projects repository!
This repo showcases my journey of learning and implementing IoT & Embedded Systems projects using ESP32, Raspberry Pi Pico, and MicroPython.

Each project is designed to teach a specific concept, sensor, or IoT technique — from basic analog/digital readings to web-based dashboards.


MicroPython ESP32 ESP8266 Raspberry Pi Pico GitHub stars GitHub forks GitHub issues

100 Days 100 IoT Projects Banner

Recognition & Features

Featured on Adafruit

Featured on Hackster.io

Featured at Melbourne MicroPython Meetup

Awesome

Technologies, Boards & Tools Used

Hardware

  • ESP32, ESP8266 (NodeMCU)
  • Raspberry Pi Pico / Pico W / Pico 2 W
  • XIAO ESP32-S3
  • Arduino (UNO / Nano)

Programming & Platforms

  • MicroPython
  • Python (Tkinter, CustomTkinter, Matplotlib)
  • Arduino + Python (Serial, PyFirmata)

Sensors & Modules

  • LDR, Potentiometer, DHT11
  • PIR, IR, Ultrasonic (HC-SR04)
  • Gas Sensors (MQ-4, MQ-7, MQ-135)
  • RTC (DS3231), TM1637, OLED, LCD
  • Relay, Servo, Touch Sensor

Concepts Covered

  • ADC, PWM, GPIO
  • Wi-Fi, Web Server, WebSocket
  • Bluetooth, Blynk IoT
  • Data logging & visualization
  • Simulation-based testing

Project List

Day Project Board / Sensor Description
1 Auto Night Light ESP32 + LDR Automatic LED turns ON/OFF based on ambient light
2 Dimmer LED using Potentiometer ESP32 + Potentiometer LED brightness controlled via potentiometer using ADC + PWM
3 DHT11 Temperature & Humidity Web Server ESP32 + DHT11 Reads temperature & humidity and displays on a live web page
4 1-Digit Seven Segment Display Raspberry Pi Pico + 7-Segment Displays numeric output using GPIO control
5 Mini Weather Station (DHT11 + LCD) ESP8266 + DHT11 + I²C LCD Displays real-time temperature & humidity on 16x2 LCD without flickering
6 RGB Color Mixer using Potentiometers ESP32 + 3 Potentiometers + RGB LED Mix RGB colors by adjusting potentiometers using ADC and PWM
7 Potentiometer Bar Graph Display ESP32 + Potentiometer + 10 LEDs Visualize analog input as a 10-LED bar graph using ADC mapping
8 MQ4 Gas Leak Detection System ESP32 + MQ4 Sensor + Buzzer Detects methane gas concentration using MQ4 sensor and triggers alert when gas level exceeds threshold
9 Basic RTC Clock (Serial Monitor Display) ESP8266 + DS3231 RTC Displays real-time date, time, and temperature on Serial Monitor using DS3231 RTC
10 IoT Button Counter using ESP8266 & MicroPython ESP8266 + 3 Push Buttons Counts button presses (Increment, Decrement, Reset) and displays live counter on webpage
11 MicroPython-Based 8×8 LED Matrix Animation Display using ESP8266 ESP8266 + MAX7219 8×8 LED Matrix Displays custom animations (heart beat) on 8×8 LED matrix using MicroPython
12 PIR Motion Detector using Raspberry Pi Pico 2W & MicroPython Raspberry Pi Pico 2W + PIR Sensor Detects motion using PIR sensor and indicates using built-in LED with MicroPython
13 Bluetooth-Based Wireless LED Control System Raspberry Pi Pico 2W + HC-05 Wireless LED ON/OFF control using MicroPython + HC-05 Bluetooth module
14 Pico W Web Servo Controller Raspberry Pi Pico 2W + Servo Motor Control servo angle (0–180°) from browser via WiFi
15 ClimaPixel — Mini Weather Display ESP32/ESP8266 + DHT11 + SSD1306 OLED Real-time temperature & humidity display with icons on OLED using MicroPython
16 TM1637 Button-Press Counter using ESP8266 & MicroPython ESP8266 + TM1637 + Push Button Counts button presses and displays live counter on TM1637 4-digit display
17 IoT Relay Control Web Server (Raspberry Pi Pico 2W) Raspberry Pi Pico 2W + Relay Module Web-based relay control using MicroPython with a smooth slide switch UI and real-time ON/OFF status over WiFi
18 Blynk-Based IoT Relay Control (Raspberry Pi Pico 2 W) Raspberry Pi Pico 2 W + Relay Module Mobile app–based relay control using Blynk IoT and MicroPython with real-time ON/OFF control over Wi-Fi
19 NTP Digital Clock using TM1637 & ESP8266 (MicroPython) ESP8266 + TM1637 Internet-synchronized digital clock using NTP with accurate HH:MM display, blinking colon, and custom segment mapping in MicroPython
20 Smart IR Object Detection System ESP8266 + IR Sensor + LED + Buzzer Detects the presence of an object using an IR sensor and triggers LED and buzzer alerts in real time using MicroPython
21 ESP32 Password Lock System ESP32 + Keypad + LCD + LEDs Implements a secure password authentication system using a keypad and LCD with visual LED feedback, developed in MicroPython
22 Blynk Controlled DC Brushless Fan Raspberry Pi Pico W + Relay + DC Brushless Fan Controls a DC brushless fan remotely using the Blynk IoT platform and a relay module, implemented in MicroPython
23 ESP32 Hotspot Setup ESP32 Configures ESP32 in Access Point (Hotspot) mode using MicroPython, enabling direct device-to-device connectivity without internet
24 Voice-Controlled LED System Arduino + Python Controls an LED using voice commands processed in Python and sent to Arduino via serial communication
25 Arduino RGB LED Control with Python GUI Arduino + Python Controls an RGB LED using a Python GUI built with CustomTkinter and PyFirmata2, allowing color selection, individual LED on/off control, and brightness adjustment via sliders
26 Clap Toggle Switch using ESP32 (MicroPython) ESP32 + MicroPython A clap-controlled toggle switch using a digital sound sensor where one clap turns the output ON and the next clap turns it OFF, implemented with debounce logic for reliable operation
27 IR Sensor Telegram Alert using ESP32 (MicroPython) ESP32 + MicroPython An IR sensor–based object detection system that sends real-time alert notifications to a Telegram channel whenever motion or object presence is detected near the sensor
28 Soil Moisture Sensor Dry/Wet Detection using ESP8266 (MicroPython) ESP8266 + MicroPython A soil moisture monitoring system that reads analog sensor values and determines dry or wet soil conditions in real time, displaying the status on the serial monitor
29 Rain Sensor Analog Detection using ESP8266 (MicroPython) ESP8266 + MicroPython An analog rain detection system that reads real-time sensor values to determine rain intensity (no rain, light rain, heavy rain) and displays the status on the serial monitor
30 Ultrasonic Distance Indicator using ESP32 (MicroPython) ESP32 + MicroPython A distance-based indication system using an HC-SR04 ultrasonic sensor that measures real-time distance and indicates object proximity using red and green LEDs
31 WebSocket LED Control using Raspberry Pi Pico W Pico W + MicroPython A real-time LED control system using WebSockets where a browser communicates directly with Raspberry Pi Pico W over WiFi to turn an LED ON or OFF without page refresh
32 MQ-135 Gas Sensor with ESP32 ESP32 + MicroPython A gas level monitoring system using the MQ-135 sensor and ESP32 to read and average analog sensor values for stable environmental gas detection
33 MQ-7 Carbon Monoxide Sensor with ESP32 ESP32 + MicroPython A carbon monoxide monitoring system using the MQ-7 sensor and ESP32 to read and average analog sensor values for real-time CO detection
34 Servo Motor Control with Raspberry Pi Pico 2 W Raspberry Pi Pico 2 W + MicroPython A simulation-based servo motor control project using PWM, where the user inputs an angle (0–180°) via serial monitor and the servo rotates accordingly with safe angle clamping
35 ESP8266 Touch Sensor LED Control ESP8266 (NodeMCU) + MicroPython A capacitive touch-based toggle switch using the TTP223 touch sensor, where each touch alternates the state of an external LED with proper debounce handling
36 ESP8266 DHT11 Live Monitor Matplotlib and MicroPython ESP8266 + MicroPython + Matplotlib Real-time DHT11 temperature and humidity visualization with a dark neon-themed live graph using serial communication
37 XIAO ESP32 4-LED Control using CustomTkinter and MicroPython XIAO ESP32-S3 + MicroPython + CustomTkinter Desktop GUI application to control four ESP32 GPIO LEDs via serial communication using a modern dark-mode CustomTkinter interface
38 ESP32 OLED Smart UI with Eyes Animation, Time & Weather (MicroPython) ESP32 + SSD1306 OLED + MicroPython Interactive OLED UI featuring animated eyes, touch-based menu navigation, NTP-synced IST date & time, and live weather data using OpenWeatherMap API
39 ESP32 Stepper Motor Control using A4988 (MicroPython) ESP32 + A4988 + NEMA 17 Stepper motor control using STEP/DIR signals with direction control, speed adjustment via delay, and serial monitoring using print statements
40 Pico W Async LED Control (MicroPython) Raspberry Pi Pico W Async web server using uasyncio to control onboard LED via browser with ON/OFF buttons and fetch-based requests
41 EEPROM Simulation using MicroPython (ESP32) ESP32 File-based EEPROM emulation using MicroPython with byte-level read/write and persistent string storage
42 ESP32 DC Motor Web Speed Control (MicroPython) ESP32 + L298N Web-based slider controlled DC motor speed system using PWM, MicroPython web server, and L298N driver
43 Temperature Based LED Indicator (MicroPython) ESP32 + DHT22 Beginner-friendly ESP32 project that reads temperature data from DHT22 and visually indicates temperature levels using LEDs
44 Flask LED Control using MicroPython ESP32 / Pico W Beginner-friendly IoT project where a Flask web server controls an LED on ESP32 or Pico W through HTTP polling using MicroPython
45 Smart Cooling System using ESP8266 ESP8266+DHT11+BRUSHLESS FAN Beginner-friendly IoT project that automatically controls a fan using DHT11 temperature sensor and an active-LOW relay with MicroPython
46 Soil & Weather Monitoring using ESP8266 and ThingSpeak ESP8266 + DHT11 + Soil Sensor Beginner-friendly IoT project that monitors soil moisture, temperature, and humidity and visualizes the data on the ThingSpeak cloud using MicroPython
47 Smart Irrigation System using XIAO ESP32-S3 and Blynk XIAO ESP32-S3 + Soil Sensor + Relay + Pump A smart irrigation system that monitors soil moisture in real time and allows manual water pump control via the Blynk IoT platform using MicroPython
48 HTTP-Based DHT11 Data Logger using Raspberry Pi Pico W Raspberry Pi Pico 2W + DHT11 A simple IoT data logging system that reads temperature and humidity from a DHT11 sensor and sends the data via HTTP POST to a Flask server, where it is stored in a CSV file for analysis
49 ThingsBoard RPC LED Control & DHT11 Telemetry using Raspberry Pi Pico 2 W Raspberry Pi Pico 2 W + DHT11 A cloud-connected IoT system using MicroPython where a Raspberry Pi Pico 2 W sends temperature and humidity data to ThingsBoard via MQTT and allows remote LED control using RPC from a dashboard
50 ESP32 BMP180 Atmospheric Monitoring with Blynk IoT ESP32 + BMP180 A cloud-connected IoT system using MicroPython where an ESP32 measures temperature, atmospheric pressure, and altitude using the BMP180 sensor and sends real-time data to the Blynk IoT dashboard via Wi-Fi
51 ESP8266 Smart Home Automation using MicroPython & Blynk ESP8266 + DHT11 + Relay A cloud-based smart home automation system where an ESP8266 controls home appliances via relay and monitors temperature & humidity using DHT11, with real-time control and monitoring through the Blynk IoT dashboard over Wi-Fi
52 IoT Sensor Anomaly Detection using ESP8266 & ThingSpeak ESP8266 + DHT11 + LDR + MATLAB An IoT-based environmental monitoring system that uploads real-time sensor data to ThingSpeak and performs statistical anomaly detection using Z-score analysis in MATLAB, with visualization and outlier classification
53 Smart IoT Gas Monitoring System ESP32 + MQ Gas Sensor + DHT11 + Flask + Chart.js An AI-inspired end-to-end IoT gas monitoring system that streams real-time sensor data to a Flask backend, applies moving-average based anomaly detection for SAFE/DANGER classification, logs data for analytics, and visualizes live environmental insights on an interactive web dashboard
54 ESP8266 ESP-NOW LED Control ESP8266 + ESP-NOW + MicroPython A low-latency wireless LED control system using ESP-NOW protocol, where one ESP8266 acts as a transmitter and the other as a receiver, enabling real-time device control without WiFi infrastructure
55 ESP8266 ESP-NOW Button to LED Control ESP8266 + ESP-NOW + MicroPython A low-latency peer-to-peer wireless communication system where a push button on one ESP8266 toggles an LED on another ESP8266 without WiFi or access point
56 ESP8266 ESP-NOW 4-Channel Wireless Relay Controller ESP8266 + ESP-NOW + MicroPython A wireless 4-channel relay control system using two ESP8266 boards, where push buttons on the sender toggle relays on the receiver via low-latency ESP-NOW communication without WiFi
57 ESP-NOW Smart Relay & Sensor System ESP8266/ESP32 + ESP-NOW + MicroPython A bidirectional ESP-NOW based smart relay and sensor system where a sender control panel toggles relays on a receiver and receives real-time DHT temperature and humidity data displayed on an OLED
58 NTP Synchronized LED Matrix Clock ESP32 + MAX7219 + MicroPython + NTP A real-time internet-synchronized digital clock using chained MAX7219 LED matrices, showing HH:MM with NTP time sync and serial debugging output
59 AQI-ESP - IoT AQI Monitoring System ESP32 + MicroPython + Flask + MQ135 + MQ7 + PM2.5 A real-time air quality monitoring system using ESP32 and multiple gas sensors, calculating AQI via Flask backend and displaying live results on SSD1306 OLED with status like Good/Moderate/Unhealthy/Hazardous
60 Student Management System - ESP32 ESP32 + MicroPython + SH1106 OLED + LittleFS + ujson A serial command-based student record management system running on ESP32, storing up to 1000 student records in JSON format on onboard flash memory with live navigation and display on SH1106 OLED
61 OTA Update - Raspberry Pi Pico 2 W Raspberry Pi Pico 2 W + MicroPython + GitHub + urequests A WiFi-based OTA (Over-the-Air) update system that automatically downloads and applies new code from GitHub on every boot without physically connecting the device to a computer
62 Smart Indoor Security System ESP32 + PIR Sensor + 4x4 Keypad + MicroPython + Favoriot IoT A motion-triggered keypad security system that detects intruders, requests a password, logs all events to the Favoriot IoT cloud, and sends email alerts on unauthorized access
63 ESP32 BLE LED Control ESP32 + MicroPython + Bluetooth Low Energy (BLE) A BLE UART-based LED control system that allows wireless toggling of the onboard LED via smartphone commands, with connection status indication and real-time state feedback
64 microclawup — AI Powered ESP32 GPIO Controller ESP32 + Groq AI + Telegram AI-powered natural language GPIO controller using MicroPython, Groq AI and Telegram bot
65 MicroPython Watch Xiao ESP32-S3 + SSD1306 OLED + OpenWeatherMap NTP time sync + live weather on a 0.96" OLED display
66 micropidash — IoT Web Dashboard Raspberry Pi Pico 2W / ESP32 Non-blocking web dashboard with real-time sync, dark mode & sensor monitoring via uasyncio
67 Pulse Monitor — Heart Rate on OLED ESP32 +Pulse Sensor+ OLED Real-time BPM display with scrolling waveform & pixel-art heart on SSD1306 OLED via ADC peak detection
68 Joystick Servo Control Raspberry Pi Pico 2W + SG90 Servo + Joystick Module Smooth 0°–180° servo control via joystick X axis using PWM & 5-sample ADC averaging in MicroPython
69 Joystick Direction Display Raspberry Pi Pico 2 + KY-023 Joystick + SSD1306 OLED Real-time joystick direction detection displayed on OLED with raw ADC values using I2C and MicroPython
70 Dual IR Entry/Exit Detector with Telegram ESP32 + HW-201 IR Sensor x2 + Red LED + Green LED Dual IR sensor-based entry/exit detection system — red LED stays ON while object is inside, green LED blinks on exit, with real-time Telegram alerts
71 Wi-Fi Controlled 4WD Robot Car ESP32 + L298N Motor Driver x2 + TT DC Motor x4 + 4WD Chassis Wi-Fi controlled 4WD robot car — ESP32 hosts a web server, browser-based interface with Forward, Backward, Left, Right, Stop controls over local Wi-Fi
72 RFID Basic Access Control System ESP8266 NodeMCU + MFRC522 + Green LED + Red LED RFID based access control — ESP8266 reads MIFARE card UID over SPI, checks against authorised list, green LED for granted and red LED blinks for denied

Key Highlights

  • Step-by-step progression from basic to advanced IoT concepts
  • Hands-on experience with real hardware and simulations
  • IoT dashboards using Web Server, WebSocket & Blynk
  • Python & Matplotlib-based live data visualization
  • Beginner-friendly documentation & explanations
  • Clean, folder-wise project organization

Roadmap

  • Complete 100 IoT projects in 100 days
  • Each project includes:
  • main.py
  • Detailed README.md
  • Circuit diagram / simulation
  • Upcoming focus areas:
  • Cloud & IoT dashboards
  • OTA & firmware updates
  • Power optimization
  • Smart home & automation systems
  • AI-assisted IoT (basic level) ation, and more

Author

Kritish Mohapatra
Third Year B.Tech – Electrical Engineering
Interests: IoT | Embedded Systems | MicroPython | Automation
Building in public through #100DaysOfIoT


⭐ If you like this repository, give it a star on GitHub and follow for more IoT projects!

About

A 100-day challenge exploring IoT and embedded systems using ESP32, ESP8266, and Raspberry Pi Pico with MicroPython. Each day covers a new sensor or module with complete code, circuit diagram, and explanation.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Sponsor this project

  •  

Packages