Creating a Smart Outlet

Remotely Control Devices Through Any Browser

Kelly Son (BF)

What first comes to mind when you think about electrical outlets and power strips? You might think about electricity, switches, or connecting devices to it, like your laptop, TV, or maybe some kind of printer (if you’re an engineer, it’s probably a 3D printer or a PCB printer!) Maybe you’re on your daily commute reading this and now wondering if you left your coffee pot or the lights turned on—but you’re running late and there’s no time to go back! What if you could turn your devices off despite not being in the same room—or even the same ZIP code?

Smart outlets and other home automation devices have become quite popular, cheap, and accessible lately. However, with large companies such as Amazon, Apple, and Google having their own home devices and APIs, it is challenging to have a full home system where devices can be added and controlled from the same place and in the same way.

Tired of having to use a bunch of different apps to manage different smart outlets, BotFactory’s gallant engineer, Md, took the challenge of creating a centralized server with a common API to make holistic decisions. He designed his own fully-fledged smart outlet—an IoT device which allows him to control any connected device using a web server through any browser. The webserver he programmed allowed him to decide which connected devices would turn on and off, essentially allowing him to virtually “plug” and “unplug” at the press of a button on his phone or a click on his computer.

Odoo text and image block

Needing only a single board for the device to function, Md was able to utilize the SV2 in his HomeLab setting to quickly develop and test the printed circuit board, just like he did with his clamshell UV sanitizer. Having the SV2 allowed him to print what he needed, as well as spare boards, in a matter of hours.

Odoo text and image block

The Smart Outlet was designed with a single PCB to power up to three devices.It is easily expandable if needed. The board is powered by a 5V AC-DC converter and a 3.3V regulator; the transistors take input from the ESP32-WROOM-32D, a microcontroller and transceiver combo which has WiFi and Bluetooth capabilities built in. The same transistors are also used to light up each outlets’ respective indicator LED, which shines in a dazzling “BotFactory Blue” to let the user know if the device connected is turned on or off.

SMT soldering was used to mount a WiFi/Bluetooth module, three opto-coupled solid state relays, a 3.3V voltage regulator, and an array of N-Channel MOSFETs on the board. Each solid-state relay is connected to its own receptacle and switches it on or off when a small external voltage is supplied via the transistors.

Odoo - Sample 1 for three columns

Odoo - Sample 2 for three columns

Odoo - Sample 3 for three columns

With the electrical build in progress, a proper enclosure was needed to keep the parts in place as well as express both the simplicity and practicality of the device. Enlisting in the venture, Pranav, BotFactory’s valiant mechanical engineer, used SolidWorks to create a fitting design. The encasement was designed to ensure that the electrical components would fit properly in their designated slots to prevent them shifting inside. Despite both engineers working from different locations, they were able to communicate and collaborate in order to design a functional product. Designing things with a team remotely used to be quite a challenge, but having a 3D printer and an SV2 at home made producing new iterations fast and easy.

Odoo - Sample 1 for three columns

Odoo - Sample 2 for three columns

Odoo - Sample 3 for three columns

Given the proper tools, an engineer can create innovative designs and bring them to life fast, be it in the office or in their own homes. There’s no need to wait for offices to open back up during uncertain circumstances or for suppliers in China to ship your boards. The convenience of having a home lab allows for rapid prototyping and production despite intended limitations.

Odoo text and image block