plugg.ee - wifi plug that learns, tweets & runs Arduino code
plugg.ee - wifi plug that learns, tweets & runs Arduino code
A compact smart power outlet, iOS/Android smartphone, controls & measures power usage. Wireless Arduino code programming + REST API
A compact smart power outlet, iOS/Android smartphone, controls & measures power usage. Wireless Arduino code programming + REST API Read more
About this project
plugg.ee is a smart power outlet that connects to the internet thru wifi, it can do basic tasks like remote controlling power or track electricity usage from a smartphone iOS/Android app, but on top of that it features an open source Spark wifi core that can be controlled using REST API or even running your Arduino compatible code.
plugg.ee is designed in a tiny form factor, allowing flexibility of usage in multiple rooms without blocking other outlets.
Setting up is simple, connect plugg.ee and put it in config mode using a button on the side, enter your network name and key into the iOS/Android app and you’re done.
Start Using plugg.ee
plugg.ee will help you better manage how you use many appliances and save on your energy bill. You can remotely
- turn on your coffee maker or your Christmas lights.
- turn off the kids' room lights if they forgot to
- turn off you garage beverage fridge during peak time
plugg.ee comes pre-programmed with an adaptive learning algorithm, it will continuously learn the routine of how the attached appliance is used and create a baseline. plugg.ee can then determine unusual activity if something is wrong in cases like
- your curling iron or stove is left on for longer than usual
- the fridge door is not closed properly
It can then tweet or send you a message, it can also be set to turn the power off automatically.
We know that there can be many creative ways to use plugg.ee, either by itself or with an existing system. You can run live analytics and optimize electricity consumption at peak times, or can trigger powering on/off appliances using readings from the temperature sensor, the possibilities are endless! That’s why we based our design on Spark, the open source software and cloud platform that is easy to program wirelessly. We love open source and we love to build on the community's effort. Connecting through the Spark cloud allows seamless interoperability and secure exchange of data with other internet connected devices.
Wirelss Programming - Write Your Own Software
plugg.ee is designed for use at any skill level. You can control plugg.ee with an existing system or app using REST API, or you can upload and run your own Arduino compatible code (Wiring language) through Spark’s web IDE (Spark Flash).
Is It Safe To Re-program plugg.ee? What If I Have A Bug In My Code?
plugg.ee is based on a dual controller architecture, the power relay is not tied directly to the Spark core, instead it is controlled by a dedicated reliable (high temperature rated) proxy micro-controller which accepts commands from the Spark core through a digital SPI interface. The proxy controller manages housekeeping tasks like automatic thermal shutdown or current compliance (a circuit breaker) and enforces very strict safety policies. The firmware of the proxy controller is locked and cannot be changed after manufacturing to satisfy safety requirements.
So let’s say you have a bug in your code where you’re unintentionally switching the power relay at a high frequency that can cause damage, the spark core will issue commands at high rate but the proxy controller will execute the first command and wait for a predetermined safe timeout period before executing another command.
The Story Behind plugg.ee
It all started years ago when one day we wondered what does it take to reconfigure how we control lights. Today we use mechanical switches connected directly to light sockets through wires inside the wall, changing that is a nightmare and is expensive (in many places you need to hire a licensed electrician to dig through the walls and change the wiring). We thought if there's a better way? Or what if we can make all the switches, lights and appliances talk to each other and go online? We started brainstorming and we found out that there are two major challenges to make this happen
1- Hardware Integration: there's plenty of off the shelf hardware out there that can control and connect devices, micro-controllers, modems ... etc. The catch is how to integrate all that hardware in a small form factor to fit inside the light or socket, power it directly from home electricity and of course has to be economic.
2- Communication/Control: there are many wired and wireless communication standards, which one is the most suitable for usability and hardware design?
We decided to take on the first challenge, so we worked on our first attempt to solve the hardware integration problem.
The First Prototype - A starting point
To explore the problem we had to design a board with several test circuits to learn as much as possible about the technical problems. Cleaned up the washing room and turned it into a lab, got all the necessary measurement equipment (oscilloscope, meters, logic analyzer). The first board had a PIC12 8-bit micro-controller, a 4046 PLL for frequency shift keying and other signal conditioning filters. The objective was to make two boards communicate over the home power-lines.
Testing was rough at the beginning, it took some time and several trials, blew the safety fuse on-board several times to get more familiar with high-voltage circuits. The learning was tremendous, we knew how to put high voltage AC circuits side by side with 3.3V micro-controllers and filters. Communication between boards was successful and it was time to add more and improve the design. The video below shows power-line communication between two boards.
2nd Prototype - Going Wireless
Building on the previous learning from the first prototype we aimed to design in more components in a much smaller size. Wireless radio systems have their challenges, they are very sensitive to power supply noise and coupling from any switching circuit. Zigbee was the choice since it's built for mesh networking and sensor applications. We used four layer PCB boards for better signal and power isolation of different domains. We designed 4 different functional modules, a light control module (1.5" x 0.5", check out the videos below), a weather station (temperature, air pressure and humidity), a smart power outlet and a motion sensor. We also experimented with different permutations of power supply circuits.
The ride was much smoother than the 1st prototype, the modules powered up well from the first time, radio worked at a great range. We were able to send and receive Zigbee packets from all around the house, make the light blink in prime numbers and measure the temperature and humidity in the other rooms. As a conclusion we filed a patent for the compact power supply design and we got better in designing integrated embedded systems.
3rd Prototype - Which Communication Standard?
Up to this point we had progress on the hardware integration but we wanted to try other methods of communication. We decided to design a power outlet with general purpose I/O's (can be directly controlled with an Arduino or XBee board). We also wanted to design a safer isolated power supply to power the controlling system. This was the first prototype to use 3D printed polished plastic case (thanks to Adam Thagard!, the designer)
At the time of testing we came across the Spark core, which solves the challenge of finding the suitable communication standard. It's open source, easy to use and most homes have wifi. We decided to move quickly and design Spark wifi into our next prototype. Below is a time lapse video of assembling our third prototype (FYE: For Your Entertainment).
plugg.ee Revision 0 - Spark Based Design
We started working together with the Spark team to develop the first plugg.ee and understand the firmware (many thanks to the Spark team for great collaboration and support!). We redesigned everything, stacking modules in 3D to minimize the size.
After assembly and several rounds of measurements everything was functional, that was a nice moment. Integrating 802.11b/g wifi is more difficult that Zigbee because it consumes much more power. Now we have wifi operation, but we took all the learning an spun a quick revision to clean up things.
plugg.ee Revision 1
That's our latest prototype demonstrated in the main video above. We improved a few things, made the design smaller and more symmetric, and enhanced module connections for easier manufacturing. Similar to rev0 it was functional right away. Now comes the demo time, we had to write a simple iPhone app to demonstrate functionality, the learning algorithm is coded. iOS/Android apps and the firmware will be finalized in the production version.
Where We Stand & Production Plan
We are ready to take plugg.ee to the next level and push it through volume production. In order to do this we need your support to close on several primary tasks:
- Complete the case's mechanical design: so far we've been using 3D printed plastic for our prototypes and we need to make the high quality cases for prime time
- Finalize the embedded firmware (in coordination with the Spark team)
- Complete smart phone app development, both for iOS and Android
- Complete Regulatory Verifications: every electric device that plugs in the main power must pass certain tests dictated by the FCC, these tests require booking dedicated facilities and engineers, can take up to 3 months to complete
- Setup volume manufacturing: we need to buy the components to build a lot of units and we need build a test fixture to guarantee functionality of every single before shipping. We also need to complete all the required tooling for case injection molding and other non-standard parts.
We plan to execute on several tasks in parallel to manage the project's schedule critical path. We will oversee final design tasks for productization, some of the iOS/Android apps work is already contracted to software developers. Our Shenzhen (China) based manufacturing partner will work with us on logistics and set up the tooling required for volume production. FCC tests will be conducted by a certified local lab in the San Francisco bay area. We communicate the progress and status of the project through our social media pages.
In the near future we plan to spin several derivative products based on the first plugg.ee design, that will include a dual socket and a light controller with dimming capability (and may be a motion sensor). But we want to take the technology behind plugg.ee and design a single chip that will enable integrating more features in an even smaller size at a lower cost.
The plugg.ee chip will have complete power management (directly powering from AC mains 110/240VAC), a small controller and a communication interface (still evaluating which standard to add). This will lower the barrier to making many devices smarter. We will use a specialized analog CMOS process with transistors that can operate at voltage levels above 500V. This is a huge undertaking and will need much more effort and funding.
Sherif Eid, the designer and maker of plugg.ee, has more than 12 years of experience in designing circuits for various semiconductor chips on 130nm down to 28nm technology nodes. Holds 3 issued US patents plus two pending. With multidisciplinary interests he likes to create new exciting gadgets, all the way from putting chips and wires together to writing application software. He also loves music, reading and flying RC planes.
- STM32F103 microcontroller
- ARM Cortex M3
- 32-bit 72Mhz processor
- 128KB Flash, 20KB RAM
- Range of 100-300 feet
- NEMA 110V AC Outlets
- 15A MAX Current, 1800W
- 100,000 Switching Endurance
Risks and challenges
The main challenge is delivering on time, here's how we're trying to mitigate risks and avoid delays.
We are planning to secure all essential components for plugg.ee's manufacturing immediately once we hit our funding goal and receive the money. Unlike proto-typing, in order to make a large number we need to make sure that we get all the components on time and avoid supplier lead time delays.
Even if we get all the components on time there's always a probability of human error. We are designing our test fixtures carefully to detect these problems as early as possible and avoid material loss, every single unit will be tested before shipping out. We are planning to ramp slowly over a few weeks to make sure that the process is good enough before building large quantities.
We are running engineering experiments early to finalize the design and rule out rework down the line due to any unforeseen technical reasons. We've accounted for that engineering time without impacting the assembly and manufacturing schedule.Learn about accountability on Kickstarter
Support this project
- (32 days)