We were inspired by plug for adaptors that allow for devices to be controlled over the internet and their power consumption monitored.

What it does

The microcontroller onboard the ESP8266 controls relays to activate the outlets. Current sensors measure the current consumption, and this data is sent back to the web. Plots and graphics are generated using the streaming data. Outlets can be controlled via the web interface.

How I built it

We built a custom circuit board to connect the WiFi module, relays, current sensors and other associated parts. Care was taken to build in safety features like fuses to the system, as mains voltage is being switched. On the web side, we created a webapp using Javascript and the d3 framework for graphics. This communicates to the server on the WiFi module using websockets to monitor information and to control the outlet.

Challenges I ran into

We ran into an issue where the WiFi module would reset when the outlets were toggled via the web interface. This issue didn't present itself during testing without the web interface, so it was a surprise and a challenge to deal with.

Accomplishments that I'm proud of

I'm proud of building a circuit board and doing the entire system design and implementation in a night. We used a number of new tools and components in the system, and working with them was exciting!

What I learned

I learned that testing at each stage of hardware development is key, to avoid having a number of issues present themselves at once. Additionally, more testing with the hardware and software integrated would've given us more time to fix bugs.

What's next for Smart Outlet

Packaging the system so that it is attractive and durable would be a future goal. Additionally, enhancing precision of the current measurements would give users more precise data, which could be important in some applications.

Built With

Share this project: