Final Design Proposal

Our group is trying to create a product that fulfills a niche in the market. Our group has decided on building smart home devices that are easier to install. Current devices sometimes require completely disassembling the current device and reassembling it with the new device. For example, most smart light switches require you to remove the old switch and wire in the new switch. Some people are intimidated by this, and we are creating our project with them in mind. Currently we are planning on creating a cover that goes over current light switches which will manually flip it and a device to go over a stove knob and turn it off only, not on. We are also planning on creating a "weather box" which will stay outside and monitor current conditions. This will enable some other automations such as turning the lights on when the sun sets or on dark and gloomy days.

Click here for our codebase!

App Design

App Design

Project Demo Ideas

Weather Box Mockup Stove Mockup Switch Mockup

Project Timelines

09/08/2023: Finish light switch schematic and begin layout:

DONE

09/15/2023: Finish 3D modeling and printing of prototype components

DONE

09/22/2023: Order parts and put together prototype devices using prebuilt parts

DONE

09/29/2023: Finish light switch, stove knob PCB layout and send for fabrication

DONE

10/06/2023: Start weather box schematic and test out physical PCBs

DONE

10/13/2023: Refine 3D models with changes from prototypes and begin resin printing

DONE

10/20/2023: Complete and implement resin prints with prototype

DONE

10/27/2023: Finish weather box layout and send for fabrication

DONE

11/03/2023: Receive PCB from fabrication and implement appropriate peripherals

DONE

11/10/2023: Testing/Debugging and Development Buffer Time

DONE

11/17/2023: Testing/Debugging and Development Buffer Time

DONE

11/24/2023: Testing/Debugging

DONE

12/01/2023: Testing/Debugging

DONE

12/08/2023: Testing/Debugging

DONE

Project Details

Dates/Times Agenda Details and what we did Images
12/08/2023, Friday DEMO DAY!!
  • Presenting to people.
Videos and Images
12/05/2023 - 12/07/2023 Finishing it all up, integration testing, and enjoying extra time
  • Completing the poster, and finishing it all up!
  • Incorporating final batteries into all devices, gluing anything that needs to be glued etc.
  • Cleaning up our lab bench and putting these devices onto our prototyping demo
12/02/2023 - 12/4/2023 Building the prototype and fixing any final mistakes
  • Designed and built out the prototype demo.
  • This includes wiring the switches, outlets and wiring to take power from existing outlets and redirecting them
  • Integrating all this properly, getting all lights aboard the demo to work properly.
11/27/2023 - 12/1/2023 Debugging, testing, assembling final devices
  • More debugging of any parts that break when integrating together
  • Redesigned and 3D printed new enclosure for the weather box
  • Getting all sensors abord the brain box to work properly.
11/20/2023 - 11/22/2023 3D printing more parts and completing some of the required stretch goals
  • Revised 3D prints and printed them again and again contributing to any mishaps etc.
  • Started putting together the devices and getting the electronics to work together in synchrony.
11/13/2023 - 11/17/2023 Assembling the Weather Box PCB and Debugging
  • Assembled brain box PCBs using parts from online retailer: DigiKey
  • Initially inspected the PCBs for correctness, shorts, etc.
  • Downloaded firmware for the USB to UART communication chip
  • Debugged the entire board using logic analyzers, oscilloscopes, etc.
11/06/2023 - 11/10/2023 PCB Testing and more debugging
  • Test PCB, debug PCB, test PCB again, debug again etc.
11/02/2023, Thursday Finshing up PCBs and Debugging
  • Assembled PCBs using parts from online retailer: DigiKey
  • Initially inspected the PCBs for correctness, shorts, etc.
  • Downloaded firmware for the USB to UART communication chip
10/26/2023, Thursday Progress Updates, revision to 3D models
  • Ordered tape and reel parts for PCBA of weather box from BOM and sent weather box PCB for fabrication.
  • Revised dimensions of the weather box for case and weather proofing schemes.
  • Waiting for PCB, parts arrival, plans for getting the DC motor to work with prebuilt components to test firmware.
09/20/2023, Wednesday Finalizing light switch BOM, mechanical links, code
  • Ordered tape and reel parts for PCBA of light switch from BOM
  • Finalized rack and pinion mechanical linkage specifications
  • Discussed plans for upcoming week: Ojas - stove knob PCB, Garrett - 3D modeling and printing, Isaac - Code
09/04/2023, Monday Finalizing the reminder/project plan presentation
  • Ordered parts for R&D of prebuilt ESP32 boards and battery/motor driver boards.
  • Discussed mechanical assembly, sketched out preliminary 3D models to be traditionally modeled using Fusion 360
  • Created, and finalized the reminder/project plan presentation and started on the reminder report.
  • Split up more tasks into smaller pieces and create timeline for checking in with the group.
08/30/2023, Wednesday Preparing for our first one-on-one meeting
  • Discussed current obstacles such as type of battery to use, etc.
  • Discussed the schematic layout to keep everyone up to date
05/04/2023, Friday Finalizing our final proposal document and changing any slides etc.
  • We created images for the demo description and added images accordingly.
  • We created and made a list of all sources that were used to create this proposal (parts list, mentors, etc.)
  • Finally, we discussed and finalized our milestones and what work each of us will be doing over the summer and turned in our final proposal.
05/04/2023, Thursday Discussing our final proposal and what sections we should write. Finished up 7.5 pages
  • We changed our initial proposal document to include the prototype demonstration we did.
  • We also added more information about each of our devices and how they will be controlled.
05/01/2023, Monday Formulating the content of the final proposal and making and finishing presentation slides
  • We firstly created and finalized all of our slides and presentations. Also practiced our presentation
  • We also divided up each of our tasks for who was going to write each section in the final report.
  • We discussed any images that need to be created, imported, and how they can be implemented in our final proposal.
04/20/2023, Thursday Formulating and finalizing the Prototype Demonstration Documentation
  • We firstly created a schematic for our prototype including the motor and LED control.
  • Using this experience, we developed our course of action for our final project and what changes can be made which will eventually make the product better.
  • We discussed, and noted several components which would be of better fit and finalized the prototype demonstration document.
04/18/2023, Tuesday Development of the motor driver controller, complete with simple UI and independent power supply
  • One problem that arose was that the current output from the digital IO pin wasn't nearly as high as was needed to make the motor spin.
  • Firstly, we attempted to use a MOSFET in a digital fashion (to supply current direclty from the power source) using the digital IO as the gate voltage.
  • This did not work, and we hypothesized it was due to the lack of current supplied by the batteies. After external consultation, we also tried to use the MOSFET in an analog fashion (amplify) which also did not work.
  • Our final attempt was to use an L298N motor driver and since our teams were also using these drivers for other classes, we had an immediate supply.
  • Through online tutorials, and datasheets for the L298N, the connections between the motor driver and ESP board were made and cross checked. Finally, a motor was conencted, which seemed to work
  • We added more controls on the landing page to control the DC motor, and throughly tested its functionality.
04/13/2023, Thursday Development of the LED control functionality and stretch goal parts ordering
  • Using our experience from last time, our task today was to build a simple GUI to control the state of an LED. We had already gotten the application to connect to a hotspot.
  • We firstly identified all the appropriate GPIO pins that could be used for this purpose and checked their digital voltage and current levels.
  • After this, we hooked up a small LED through a current limiting resistor directly to ground, such that the digital write can directly control the state of the LED.
  • The GUI was developed as HTML which could be tentatively implemented as in-line functions in the ESP language. We decided to have On/Off buttons for this control.
  • We completed our primary prototype goal earlier than expected, and the next step was to control a motor. We ordered a 6V brushless DC motor that could be programmed similarly.
04/11/2023, Tuesday Initial testing of the ESP8266 MCU and exploration of features
  • As per last time, we received the parts we ordered which were primarily the ESP8266 MCU and a suitable battery.
  • This day was all about reading documentation for the ESP module and understanding all the intricacies of WiFi based communication
  • Firstly, we integrated a WiFi connection using online tutorials and the datasheet
  • Finally, we made tentative designs for the GUI and roughly assessed the complexity of the prototype and final project.
04/05/2023, Wednesday Formulating and finalizing the Prototype Proposal Document
  • We discussed which microcontroller we will be using for our prototype. We considered constraints such as time limits, parts sourcing, and ease of use.
  • From all this, we landed on using a 32-bit ESP8266 MPU implemented on FEATHER MCU. This MCU has WiFi on board and has a small footprint so that it can be easily integrated with our demo
  • The development environment for our prototypes were discussed, along with considerations of other peripherals such as power converters. etc.
  • Our stretch goals for the prototype includes control of a small stepper motor. This stepper motor was selected and evaluated along with others.
  • We finalized what was going to be implemented in our prototype (a terminal/simple UI to control, WiFi to send data, LED/motor as an end effector.
03/23/2023, Thursday Finalizing initial Project Proposal documents and fixing anything that needs all team members
  • We finalized our initial project proposal documentation. Each of us had a task to do so this time we took time to read each others and fixed any mistakes that were observed.
  • The sections for project tasks, resources, testing plans, and demo description were detailed more so our whole team could work on it together. We devised and revised these sections.
  • A final proofread was also done by each team member independent of the others. Mistakes/improvements/clarifications were noted implemented accordingly.
03/16/2023, Thursday Initial layout, documentation, and discussion about the initial proposal document
  • We discussed what needs to be done for the initial proposal document and which sections need expansion.
  • We divided tasks to do over the week for each of us. Ojas is going to work on the discussion section, Isaac is going to work on the intro, background, and Garret will finish up the conclusion, and add to discussion
  • We expanded on our project idea for all the peripherals, control systems, and subsystems we might need.
  • We have also started to keep a very initial bill of materials that includes things each of us thinks we will need. So far we have major components such as MCUs, IO peripherals, etc.
03/02/2023, Thursday Finalizing Project Proposal and Formulating any New Project Ideas
  • We finalized our project proposal to include everything we had presented in class. This includes the smart light switch, stove control, and weather system.
  • We also included some hints about our WiFi based app in the proposal, e.g. what kind of connection would it use, how would it send the data (TCP/UDP).
  • We also finalized external considerations and adding any additional stretch goals which are priority based: safety for stove controller, etc.
02/28/2023, Tuesday Finalizing Project Idea and Making Abstract Slides
  • We finalized our project idea to include all that we had talked about. Our final idea is creating retrofitting devices to turn a home into a smart home.
  • We are including a smart weather system, smart light switches, stovetop knob controls and connecting all these to an WiFi based app that controls each.
  • We made finalized and practiced our talks for our proposal abstract on Thursday.
02/24/2023, Friday Narrowing down ideas
  • We finalized our website, and primarily worked on narrowing down ideas.
  • We have narrowed down our ideas to 4 different projects which are automatic valve closer (for kitchen stoves etc.), gesture based wheelchair,
    automatic traffic management system, mini-weather station for extremely accurate data.
02/23/2023, Thursday Creating public website
  • Created public website using github pages using basic HTML/CSS. Any group member is able to manipulate the text
  • We're not completely sure what we're going to be doing for our senior project, but we were throwing around a couple of ideas
  • We're thinking of an automatic valve closer, smart electric jacket
02/17/2023, Friday Creating mission statement
  • Created our mission statement for our group, thinking of it as a company
  • We were brainstorming potential ideas and we narrowed them down to smart electric jacket, or an automated ice cream machine

Project Goals and Timeline

We have divided up the project between ourselves. Ojas is working on the PCB design. Garrett is sourcing parts and will be involved with assembling the physical devices. Isaac is working on the software side of the project, both the app and the accessory programming. All of us have gotten together to implement the sensor data communication using I2C and testing of associated firmware.

To Do:

Completed:

Progress images

Screenshot of app progress Screenshot of light switch PCB progress Screenshot of light switch 3D model

Team

Ojas Kulkarni
Ojas Kulkarni: Ojas is very much interested in electrical and electronics system design and he specializes in hardware. He can be reached at ojas.ajay.kulkarni@gmail.com
Isaac Stagg
Isaac Stagg: Isaac is very much interested in software systems so his expertise can be leveraged when creating applications. He can be reached at isaac.stagg@utah.edu
Garrett Slack
Garrett Slack: Garrett is a junior at the University of Utah who enjoys VLSI, Circuits, and Robotics. He can be reached at garrettlslack@gmail.com