A remote controlled AC power switch with visual monitoring capability

As a 3D printing and electronics hobbyist, I recently developed a device to help me remotely monitor my print and cut off power to my printer in case it starts making spaghetti.

Different Flavors of 3D Printed Spaghetti

Spaghetti Making Videos:

Or, generating too much heat that will burn down the machine or even the house.


A demo video is available at the end of this post to show the working of the device and the control / monitor done via a cellphone.

What The Device Does

The device provides near real-time visual update of the printing progress over the internet. In case there is anything wrong with the print or the printer, user could kill off the power to the printer over the internet to stop the damage.


In the photo below, the device on bottom left is the remote power switch with visual monitoring capability that I developed. In the center is a Logitech USB Webcam. On the right is a 3D printer that's printing the enclosure for the remote power switch.

The power of the 3D printer as well as the power of the heated bad (I use AC 110V heated bad) are plugged into the outlets on the remote power switch.

Left: Power Switch, Center: USB Webcam, Right: 3D Printer

User Interface

The power switch is controlled via a web app that runs on Android, iOS, Windows, and Linux devices that support modern web browsers such as Chrome, Firefox, and Safari.

Switch Status

This page shows the on/off status of the power switch as well as the photo (if any) taken by the webcam.

Remote Control

This page allows the user to remotely turn on/off the power switch and take photo.

How It Works

Below are screenshots taken from my phone while I was away from home working. Things looked normal in the photo on the left. But, in the photo on the right, there was an obvious gap between the hotend and the printed object so I killed off the power to the printer remotely. When I got home, I found that the new filament is too tight to be pulled into the extruder so I loosen it up to make another print.

The Offer

I am offering this device as a kit which includes:

- AC 110V / 220V, 50~60Hz, 40A Solid State Relay x 1
- Heat Sink for Solid State Relay x 1
- Control Board (with software pre-loaded) x 1
- Power Outlet (rated for AC 125V, 15A with 2 sockets) x 1
- AC Power Cord x 1

Item Location: Taipei, Taiwan.
- Unless specified otherwise, delivery will be made via EMS with tracking no.
- Delivery Lead Time: Around 10 ~ 14 working days after receipt of full payment.

Price: US$49.99 (shipping not included)

Below are the things to be prepared by the buyer:

- USB Webcam (Logitech C-series will do. Mine is C905) x 1
- Micro USB Male to USB A Female Cable x 1
- 5V, 1.5 ~ 2A Micro USB Charger x 1
- Mini tripod (for mounting the USB Webcam) x 1
- Enclosure x 1 (to be printed by buyer using the stl file provided)

The photo below shows all the items needed to complete the system.

If you are interested or have any questions, please leave your comment in the comment section below.


Addition info. added on May 15, 2017

Why I developed this device?

I understand that there are other solutions out there some are cheaper, others are richer in features, below are the reasons why I developed this device:

Ease of network configuration

I am working behind 2 WiFi routers and 1 xDSL modem (Internet (WAN) -> xDSL Modem -> WiFi Router 1 -> WiFi Router 2 -> My Working Environment). My network provider locked down the xDSL Modem and provided very little info. on how to configure it but I've managed to hack into it. Even so, I still couldn't figure out how to make port forwarding works for my environment. In addition to that, I also need to work out having dynamic DNS setup because I don't have fixed IP for my service.

Bandwidth Consumption

I am on limited 4G data plan which allows me to consume up to 2GB of data each month. I am not sure about how much data will be consumed when watching streaming video. But, with my device the size of a single status update without photo attached is around 5KB, and that with photo attached is around 213KB and I could control how frequent the update takes place.


The device only accepts commands from / sends status updates to the primary gmail account designated by the user and the user's access to the primary account could be guarded by Google's 2-stage authentication when enabled. I feel that this is safer than most of the IOT devices out there because most of them share the same factory default password and network port (a lot of people simply don't change or don't know how to change them).


No subscription fee

Some of the IOT solutions out there require subscription fee because their data pass through or are stored on proprietary infrastructure (private cloud built / maintained by the device supplier, Azure, AWS, etc.). The design of this device is based on free e-mail and web hosting service hence making it possible to offer the solution at no subscription fee.

How to Setup the Device?

Below is how to setup the device to work with your WiFi network and configure the device to work with your account.

Network Configuration

1. Login to the Web UI by entering the username and password provided.

2. Connect to the local WiFi Network

Select from the drop down list the SSID of the WiFi network to be connected to and enter the password in the password field. Click on CONFIGURE & RESTART for the device to restart and connect to the selected WiFi network.

That's all, after about 1~2 minutes, the device will be connected to your WiFi network. After that, we could move on to configure the device to work with your account and your desired setting.

Device configuration

1. Login to the administration console.

Enter the username and password provided. Click Login to login to the console.

2. Go to System -> IOT -> General Settings

Enter the gmail address of your primary gmail account (the account that you use on your phone and/or computer for accessing your gmail and other Google services) as well as the address and the password for the secondary gmail account that you apply from Google to work with this device. Click Save & Apply to save the setting.

3. Go to System -> IOT -> General Settings

Set the interval (in second) at which the device will check for incoming command and send out status. Click Save & Apply to save the setting.

Note, it's recommended to keep the minimum update interval to 60 seconds or above (I usually set it to 180 or 300 seconds) so as not to cause trouble with your service provider.

That's all. The device now has the ability to transmit status update and receive commands over the internet. And, there is no need to mass with any other network settings such as port forwarding, dynamic DNS, getting fixed IP, etc.

Demo Video

Below is a short video showing the working of the device. The video is not edited and everything is happening in real-time. For this video, the device's update interval is set to 60 second.

No comments:

Post a Comment