Inspiration

Smart-home devices have exploded in popularity over the last decade. Google Nest, Amazon Alexa, Apple SmartHome, and many others have struggled to gain market share of the 100 million+ households in the US and abroad. Each one has a unique combination of features, price, and compatibility, but none have the unique charm of our device.

What it does

The Better-Alexa IOT device improves upon the best function of the smart assistant: lighting control. It is a prototype of an actual lighting system because we lack the means to install it in an actual home. There are three ways to control the lighting levels:

  1. Based on the environment. Similar to smart thermostats that detect ambient temperature and adjust the heating accordingly, our device will use photoresistors to detect a change in lighting near the hub in order to dim or raise the lights.
  2. Based on time of day. This device will be programmed with the ability to raise or dim the lights at a certain time of day, or based on sunrise/sunset at a specific latitude.
  3. Using a dashboard accessed through the cloud.

Because of limitations in the DevBoard compared to the ordered PCB, the first and second pieces of functionality were not able to be tested, and are not in the demonstration. What the demonstration shows is the following:

  1. Expected lighting control via dashboard slider.
  2. Continuous monitoring of ambient temperature and humidity.
  3. Historical data querying via command line interface commands and dashboard buttons.
  4. Recommendations for heating and humidity control based on past data.

How I built it

This project comes in three stages. Design: This involves developing the power system, MCU, and peripherals using a combination of Webbench and Digikey. Manufacturing: Designing the system in Altium and meeting the manufacturing requirements of PCB: NG. Code: Programming the core functionality on the board and on our dashboard. This includes CLI, I2c, sensor driver, MQTT, and bootloader functionality. See Github for details. Cloud: Getting a working dashboard that sends and receives information and provides an interface for the BetterAlexa. See Github for details.

Challenges I ran into

The market was crazy this semester. There were multiple times where we needed to change our active BOM due to chip shortages. It was difficult to keep up some weeks, but gave us a greater understanding of what full-time engineers face daily. In the end, it was rewarding to see this project through due to the hardships faced.

In addition, another challenge we had was with NodeRed. It was hard to pick up as we were using both JavaScript and SQL in our flows. Switching between the two languages was difficult, especially with the time limit of the semester.

Accomplishments that I'm proud of

The end result of this project was a physical PCB that we were able to hold in our hands. Our project was an idea that we had in January, and throughout the semester we designed and had a PCB manufactured, researched components and developed drivers, and connected all of this together using the cloud. This whole project was a big accomplishment.

What I learned

As mentioned before, NodeRed was a difficult IDE to work with at first, but because of the complexity we learned advanced techniques. In addition, we learned and used Altium Designer to lay out our PCB with components we selected and modeled. There were many moving parts in the PCB design and learning about them in such a hands on way was very rewarding.

What's next for Better Alexa Home Assistant

Integration into an actual electrical system! Because this is a proof of concept, the lighting will be contained within the range of the board. Once we verify that this works, we can try it out in our own home, and hopefully extend this to multiple rooms as well. This involves using more advanced lights and environmental sensors, as well as communication between devices. Check back soon for more developments.

Built With

Share this project:

Updates