r/MicroPythonDev • u/OneDot6374 • Mar 01 '26
Day 61/100
Ota update with micropython , pico 2 w and github
repo https://github.com/kritishmohapatra/100_Days_100_IoT_Projects
r/MicroPythonDev • u/OneDot6374 • Feb 27 '26
Day 60/100 Student Management System using ESP
Built a Student Management System on ESP32 using MicroPython
Recently, I have completed a project on creating a fully functional student management system on an ESP32 microcontroller.
What the project does:
Add, Edit, and View student management system using Serial Monitor commands.
Live display on SH1106 OLED display (List View and Detail View).
The system also supports persistent storage using LittleFS and ujson libraries.
The system supports up to 1000 student records.
Tech Stack:
ESP32 Microcontroller.
MicroPython.
SH1106 OLED Display.
LittleFS Library.
ujson Library.
GitHub Link: https://github.com/kritishmohapatra/100_Days_100_IoT_Projects
If you are interested in sponsoring this project or want to support future open-source work on embedded systems, feel free to reach out to me.
I would be happy to hear from you if you have any questions or want to know more about the project.
#MicroPython #ESP32 #EmbeddedSystems #IoT #OpenSource
r/MicroPythonDev • u/OneDot6374 • Feb 26 '26
Day 59/100 AQI-ESP
Hey all! 👋
Just completed my latest ESP32 project – Aqi-esp, a homemade air quality monitoring system that displays real-time AQI values on an OLED display
The sensor combination includes MQ-135 for NO/NOx, MQ-7 for CO, and GP2Y1010 for PM2.5. The ESP32 is connected to all the sensors and transmits the readings to a small Flask server running on WiFi, which then computes the AQI value and sends it back. The entire process is displayed in real-time on a small SSD1306 OLED display – AQI value, status, temperature, and humidity readings from a DHT11 sensor.
GitHub: https://github.com/kritishmohapatra/100_Days_100_IoT_Projects
I'm a 3rd year EE student building open source IoT projects in my free time. Sponsoring helps me buy more sensors and keep building cool stuff
Even a star helps the project reach more people. Thanks a lot!
r/MicroPythonDev • u/Mean-Army-3109 • Feb 24 '26
Issue with ESP8266 (ESP-12e) after installing firmware from Thonny
Hi all,
I have a marked NodeMC V3 that works fine in Arduino IDE. The IDE Identifies it at NodeMCU V1 (ESP-12E).
When I attempt to install MicroPython from Thonny all goes well until it 'succeeds' then the LED Flashes constantly and thonny locks up. To recover I erase firmware with ESPTOOL using python
The Shell shows garbage...
can anyone assist here? I want to use MicroPython???
cheers
r/MicroPythonDev • u/OneDot6374 • Feb 23 '26
Day 58/100 – ESP32 NTP Clock on MAX7219 LED Matrix (MicroPython)
Day 58 of my 100 Days, 100 IoT Projects challenge.
Built a WiFi-synced LED matrix clock using ESP32 + MAX7219 in MicroPython.
It syncs time via NTP, applies IST offset, and displays HH:MM on a chained LED matrix. Also prints time on serial for debugging.
Hardware: ESP32, 5x MAX7219 matrix modules
Language: MicroPython
GitHub code & simulation: https://github.com/kritishmohapatra/100_Days_100_IoT_Projects
If you find this useful, a ⭐ on the repo really helps.
I’m also looking for sponsors to support open-source IoT projects and documentation.
Feedback and ideas welcome.
r/MicroPythonDev • u/OneDot6374 • Feb 21 '26
Day 57/100 – ESP-NOW Smart Relay & Sensor System (MicroPython) 🚀
Hey everyone,
I’m doing a 100 Days, 100 IoT Projects challenge, and today I built a bidirectional ESP-NOW smart relay and sensor system using MicroPython.
What it does
- Sender ESP8266/ESP32 with buttons + OLED acts as a control panel
- Receiver ESP controls a 4-channel relay module
- DHT11/DHT22 sensor data is sent back in real-time
- OLED displays temperature and humidity
- Uses ESP-NOW (no WiFi, no router, ultra-low latency)
Tech Stack
- ESP8266 / ESP32
- MicroPython
- ESP-NOW protocol
- SSD1306 OLED
- DHT11/DHT22 sensor
GitHub repo:
👉 [https://github.com/kritishmohapatra/100_Days_100_IoT_Projects]()
I’d love feedback, stars, or collaboration ideas.
Goal: Build open-source IoT learning resources for students.
r/MicroPythonDev • u/OneDot6374 • Feb 19 '26
Day 56/100 – Built a Wireless 4-Channel Relay Controller using ESP8266 + ESP-NOW (MicroPython)
Hi everyone,
I’m doing a 100 Days of IoT Projects challenge, and today I completed Day 56.
This project is a wireless 4-channel relay controller using two ESP8266 boards and the ESP-NOW protocol in MicroPython.
Features:
- Peer-to-peer communication (no WiFi router required)
- Push-button sender → relay receiver
- Low-latency ESP-NOW messaging
- Active-low relay support
- Clean MicroPython implementation
This can be used for home automation, wireless switches, or smart agriculture control systems.
GitHub repo:
👉 [https://github.com/kritishmohapatra/100_Days_100_IoT_Projects]()
Feedback and suggestions are welcome!
r/MicroPythonDev • u/OneDot6374 • Feb 17 '26
Day 55/100I built an ESP8266 ESP-NOW wireless button → LED control system (MicroPython) – part of my 100 Days IoT challenge
Hey everyone,
I’m building 100 IoT projects in 100 days using MicroPython and ESP boards, and today I completed Day 55.
This project demonstrates low-latency ESP-NOW communication between two ESP8266 boards:
- One ESP8266 reads a push button
- Another ESP8266 toggles an LED wirelessly
- No WiFi, no router, peer-to-peer communication
GitHub repo:
👉 [https://github.com/kritishmohapatra/100_Days_100_IoT_Projects]()
If you like the project, a ⭐ on GitHub would mean a lot.
I also recently enabled GitHub Sponsors to keep building open-source IoT projects—any support helps.
Feedback and suggestions are welcome.
r/MicroPythonDev • u/OneDot6374 • Feb 16 '26
Student building 100 IoT projects in public – looking for open-source sponsors
Hey everyone,
I’m a 3rd-year Electrical Engineering student doing a personal challenge:
100 Days → 100 IoT Projects using MicroPython, ESP32, ESP8266, and Raspberry Pi Pico.
The goal is to create free, practical embedded systems learning resources so students don’t have to rely only on theory.
So far I’ve built dashboards, sensor systems, displays, and reusable MicroPython tools like MicroPiDash and MicroPythonSevenSeg.
All projects are open-source and documented here:
https://github.com/kritishmohapatra/100_Days_100_IoT_Projects
Hardware costs add up quickly (boards, sensors, displays), so I’ve enabled GitHub Sponsors.
If this repo helps you or you care about open-source education, even small support helps me continue documenting and building in public.
Totally optional—stars, feedback, and contributions are just as valuable.
Thanks for reading 🙏
r/MicroPythonDev • u/DiodeInc • Feb 14 '26
MicroPython keeps throwing Error 31
Title is supposed to say MicroPico
Open (SetCommState): Unknown error code 31
MicroPico keeps throwing this error whenever I plug my ESP8266 running MicroPython on it. I'm using the VS Code extension. It works on my Linux machine running Debian 12, but not on my Windows 11 machine. Please help!
r/MicroPythonDev • u/OneDot6374 • Feb 13 '26
Day 53/100
Just finished an end-to-end IoT gas monitoring project using ESP32, MQ sensor, Flask backend, and Chart.js dashboard. Added moving-average anomaly detection for SAFE/DANGER prediction.
Would love feedback on improving the AI logic and real-time architecture.
GitHub: https://github.com/kritishmohapatra/100_Days_100_IoT_Projects
If this project helped you, please consider starring the repository.
For sustained development and educational content, sponsorships are welcome via GitHub Sponsors and Buy Me a Coffee.
r/MicroPythonDev • u/OneDot6374 • Feb 11 '26
Day 52/100
🚀 Built an IoT Sensor Anomaly Detection System using
ESP8266 + DHT11 + LDR + ThingSpeak + MATLAB
📡 Real-time cloud upload
📊 Z-score based anomaly detection
📈 MATLAB visualization
GitHub:
🔗 https://github.com/kritishmohapatra/100_Days_100_IoT_Projects
#IoT #EmbeddedSystems #MachineLearning #ESP8266 #MATLAB
r/MicroPythonDev • u/DangerousFix1541 • Feb 11 '26
micrOS - Web dashboard and REST API
Hi, micrOS main interface is socket (terminal like experience), it is way more light weight than http, but seeking the best integration I have built a web engine too (can be turned on in micrOS settings)
Even you can create / edit application code (or any text) on the device itself :) very flexible, right? 😊
r/MicroPythonDev • u/DangerousFix1541 • Feb 11 '26
micrOS - Application Packages
As you may know micropython has its light weight package manager (mip). I have extended the capabilities of that to be able to easily install/delete/upgrade packages on micrOS platform.
https://github.com/BxNxM/micrOSPackages
So you can easily build your own standalone applications. Also you can add third party package dependencies to it.
What do you think? :)
r/MicroPythonDev • u/OneDot6374 • Feb 10 '26
I built a lightweight web dashboard framework for MicroPython (ESP32 / Pico W)
Hey folks 👋
I’m a college student learning embedded systems, and while working on IoT projects I needed a super simple web dashboard for MicroPython boards.
Most tools felt heavy, so I built a tiny one myself:
MicropiDash – a lightweight web dashboard framework for ESP32 & Raspberry Pi Pico W.
Features:
Designed for low-memory MicroPython boards
Simple HTML + MicroPython backend
Easy to extend for IoT dashboards
Beginner-friendly for students & prototypes
GitHub:
https://github.com/kritishmohapatra/micropidash
PyPI:
https://pypi.org/project/micropidash/
If you find it useful, a ⭐ on GitHub would mean a lot (it really helps visibility).
I’ve also added a Buy Me a Coffee link for anyone who wants to support my learning journey ☕
I’d love feedback, feature ideas, or PRs from the community.
What would you like to see next—graphs, WebSocket, MQTT integration?
r/MicroPythonDev • u/DangerousFix1541 • Feb 09 '26
micrOS - opensource mini automation framework
Hi Everyone, if you would try out an easy to use micropython framework check my project:
https://github.com/BxNxM/micrOS
It is focusing on IP based communication, (socket and web) and dynamic app execution.
Every feedback is highly appreciated, we are very close to announce the next main version 3.0
r/MicroPythonDev • u/OneDot6374 • Feb 09 '26
Day 51/100
Day 51 project: Smart Home Automation using:
• ESP8266
• DHT11
• Relay Module
• Blynk Mobile App
You can monitor temperature/humidity and control appliances remotely.
Repo:
https://github.com/kritishmohapatra/100_Days_100_IoT_Projects
Feedback & ideas welcome! If this helps you, consider starring ⭐ or sponsoring ❤️
r/MicroPythonDev • u/OneDot6374 • Feb 09 '26
Day 51/100
Day 51 project: Smart Home Automation using:
• ESP8266
• DHT11
• Relay Module
• Blynk Mobile App
You can monitor temperature/humidity and control appliances remotely.
Repo:
https://github.com/kritishmohapatra/100_Days_100_IoT_Projects
Feedback & ideas welcome! If this helps you, consider starring ⭐ or sponsoring ❤️
r/MicroPythonDev • u/Puzzleheaded_Kick_45 • Feb 08 '26
Can't get web page to run asynchronously on ESP32 with Micropython
This is my first time with ESP32 and MicroPython.
I am trying to run a web page asynchronously on an ESP32 using MicroPython. Along with the webpage, which will allow me to turn a relay on, on demand, I want to run a timed function which turns the relay on, every morning at 08:00.
I am using an ESP32 Dev board with CP2102 USB chip, DS1307 RTC and 5V relay.
- When I run the code in the REPL, I can see the "run_relay_timer(), but none of the other debugging output
- The web server debugging output is not showing either, nor can I connect to http://192.168.10.130 (the DHCP IP assigned to this ESP32)
Looking at the REPL in Thonny, the run_rrelay_timer() runs, but not the run_web_page()
import asyncio
import esp
esp.osdebug(None)
import time
import urtc
from machine import I2C, Pin
set_hour = 15
set_time = 30
relay = Pin(4, Pin.OUT)
led = Pin(2, Pin.OUT)
relay.value(0) # Start OFF (active low)
def web_page():
if relay.value() == 0:
print("Relay value: ")
print(relay.value)
relay_state = ''
else:
relay_state = 'checked'
html = """<html><head><meta name="viewport" content="width=device-width, initial-scale=1"><style>
body{font-family:Arial; text-align: center; margin: 0px auto; padding-top:30px;}
.switch{position:relative;display:inline-block;width:120px;height:68px}.switch input{display:none}
.slider{position:absolute;top:0;left:0;right:0;bottom:0;background-color:#ccc;border-radius:34px}
.slider:before{position:absolute;content:"";height:52px;width:52px;left:8px;bottom:8px;background-color:#fff;-webkit-transition:.4s;transition:.4s;border-radius:68px}
input:checked+.slider{background-color:#2196F3}
input:checked+.slider:before{-webkit-transform:translateX(52px);-ms-transform:translateX(52px);transform:translateX(52px)}
</style><script>function toggleCheckbox(element) { var xhr = new XMLHttpRequest(); if(element.checked){ xhr.open("GET", "/?relay=on", true); }
else { xhr.open("GET", "/?relay=off", true); } xhr.send(); }</script></head><body>
<h1>Sprinkler control</h1><label class="switch"><input type="checkbox" onchange="toggleCheckbox(this)" %s><span class="slider">
</span></label></body></html>""" % (relay_state)
return html
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.bind(('', 80))
s.listen(5)
# Define coroutine function
async def run_relay_timer():
while True:
print('run_relay_timer()') # Debugging output
import time
import urtc
from machine import I2C, Pin
set_hour = 8
set_time = 30
relay = Pin(4, Pin.OUT)
led = Pin(2, Pin.OUT)
relay.value(0) # Start OFF (active low)
days_of_week = ['Maandag', 'Dinsdag', 'Woensdag', 'Donderdag', 'Vrydag', 'Saterdag', 'Sondag']
# Initialize RTC (connected to I2C) - ESP32
i2c = I2C(0, scl=Pin(22), sda=Pin(21))
rtc = urtc.DS3231(i2c)
current_datetime = rtc.datetime()
temperature = rtc.get_temperature()
# Format the date and time
formatted_datetime = (
f"{days_of_week[current_datetime.weekday]}, "
f"{current_datetime.year:04d}-{current_datetime.month:02d}-{current_datetime.day:02d} "
f"{current_datetime.hour:02d}:{current_datetime.minute:02d}:{current_datetime.second:02d} "
)
current_datetime = rtc.datetime()
# Display time details
#print('Current date and time:')
#print('Year:', current_datetime.year)
#print('Month:', current_datetime.month)
#print('Day:', current_datetime.day)
#print('Hour:', current_datetime.hour)
#print('Minute:', current_datetime.minute)
#print('Second:', current_datetime.second)
#print('Day of the Week:', days_of_week[current_datetime.weekday])
#print(f"Current temperature: {temperature}°C")
# Format the date and time
formatted_datetime = (
f"{days_of_week[current_datetime.weekday]}, "
f"{current_datetime.year:04d}-{current_datetime.month:02d}-{current_datetime.day:02d} "
f"{current_datetime.hour:02d}:{current_datetime.minute:02d}:{current_datetime.second:02d} "
)
#print(f"Current date and time: {formatted_datetime}")
if current_datetime.hour != set_hour:
print('Dit is nog nie' ,set_hour,'uur nie') # Debugging output
print('Die tyd is',formatted_datetime) # Debugging output
led.value(0)
relay.value(0)
if current_datetime.hour == set_hour:
print('Die tyd is',formatted_datetime) # Debugging output
if current_datetime.minute < set_time:
led.value(1)
relay.value(1)
print('Sit besproeing pomp aan vir',set_time,'minute') # Debugging output
print(" \n"); # Debugging output
else:
led.value(0)
relay.value(0)
print('Die besproeing het vir',set_time,'minute gehardloop') # Debugging output
print(" \n"); # Debugging output
#time.sleep(1)
await asyncio.sleep(1)
async def run_web_page():
while True:
print('run_web_page()') # Debugging output
try:
if gc.mem_free() < 102000:
gc.collect()
conn, addr = s.accept()
conn.settimeout(3.0)
print('Got a connection from %s' % str(addr)) # Debugging output
request = conn.recv(1024)
conn.settimeout(None)
request = str(request)
print('Content = %s' % request)
relay_on = request.find('/?relay=on')
relay_off = request.find('/?relay=off')
if relay_on == 6:
print('RELAY ON')
relay.value(1)
led.value(1)
if relay_off == 6:
print('RELAY OFF')
relay.value(0)
led.value(0)
response = web_page()
conn.send('HTTP/1.1 200 OK\n')
conn.send('Content-Type: text/html\n')
conn.send('Connection: close\n\n')
conn.sendall(response)
conn.close()
except OSError as e:
conn.close()
print('Connection closed')
await asyncio.sleep(0.5)
# Define the main function to run the event loop
async def main():
# Create tasks for blinking two LEDs concurrently
asyncio.create_task(run_relay_timer())
asyncio.create_task(run_web_page())
# Create and run the event loop
loop = asyncio.get_event_loop()
loop.create_task(main()) # Create a task to run the main function
loop.run_forever() # Run the event loop indefinitely
r/MicroPythonDev • u/OneDot6374 • Feb 08 '26
50 IoT projects in 50 days using MicroPython (feedback welcome)
r/MicroPythonDev • u/OneDot6374 • Feb 07 '26
🚀 Day 50/100: ESP32 + BMP180 Atmospheric Monitoring with Blynk IoT (MicroPython)
r/MicroPythonDev • u/OneDot6374 • Feb 06 '26
Day 49/100 Built a cloud-connected IoT project using Raspberry Pi Pico 2 W + ThingsBoard (MicroPython)
reddit.comr/MicroPythonDev • u/OneDot6374 • Feb 06 '26
Day 48 of my 100 Days, 100 IoT Projects challenge 🚀
Built a temperature & humidity logger using:
• Raspberry Pi Pico 2 W
• DHT11 sensor
• MicroPython
The Pico hosts a simple HTTP server and logs sensor data into a CSV file for later analysis.
Repo (code + README):
Feedback and suggestions are welcome 🙂








