IoT based Home Automation

Back in the day, when ESP8266-based development boards like NodeMCU were all the rage, I couldn’t resist hopping onto the IoT bandwagon myself. Starting with a basic project of remotely controlling appliances over the internet, I got a taste of what IoT had to offer. Although it wasn’t exactly earth-shattering, incorporating OLED screens into the mix was pretty sweet.

This is an Internet of Things (IoT) based remote switching system that allows me to remotely control the lights on my workbench from anywhere in the world as long as I have internet access.

Technical Details

The hardware part consists of:

  • NodeMCU V3, for internet connectivity and controlling everything.
  • 128×64 0.96 inch OLED screen, for displaying information.
  • 4 channel relay module, salvaged from Smart Power Outlet V2.

The software part consists of:

  • IFTTT (If This Then That).
  • The online dashboard was made from scratch in HTML and JavaScript.

I made the enclosure out of a switch housing. Put some carbon fiber stickers on it to make it look cooler.

Here’s how it works. Every time I press a button on the dashboard, it sends a HTML POST request to the server through IFTTT. The ESP8266 chip on the NodeMCU developer board “listens” to it and turns an appliance on or off based on the request.

Things I wish I did better

  • Using screw terminals or something similar on the outside of the enclosure to make the wiring a bit more convenient overall. The screw terminals were inside the enclosure, making rewiring impossible without disassembling the enclosure first.