a14g-final-submission-t15-comfortzone

Review Assignment Due Date

a14g-final-submission

* Team Number: 15
* Team Name: ComfortZone
* Team Members: Zhuojun Chen, Weichen Ma
* Github Repository URL: https://github.com/ese5160/a14g-final-submission-t15-comfortzone
* Description of test hardware: laptop, prototype

1. Video Presentation

Project Video Demo

2. Project Summary

Device Description

ComfortZone proposes a solution for a better indoor environment. This device will constantly monitor the indoor temperature and humidity and adjust according to users’ preference. With access to internet, the users can easily check the current temperature and humidity and set up their preferred levels on each. The device will automatically press the prefilled spray through venting holes when the preferred levels are not met. The usage on the prefilled spray will also be monitored so that the users can be notified when the volume runs low and refill in time.

Inspiration

The inspiration for our project comes from common daily scenes in everyone’s life. Whether we are working in office, studying in class, or resting at home, we want to be able to stay cool and hydrated abd feel comfortable. So we think of a “housekeeper” that can take care of this and automate responses that suit our needs when staying inside. By delegating these simple yet non-trivial tasks as much as possible to this “housekeeper”, we improve the quality of living experiences without much hassle.

Device Functionality

Our Internet-connected device is designed on a 4-layer Printed Circuit Board(PCB) with a complete power system, serial communication interface, memory storage, sensors and actuators. Additionally, part of the user inferface is designed and hosted on cloud. Below we provide a detailed rundown of each component and functionality.

Power Supply and Regulation

Serial Communication Interface

Memory Storage

Sensors, Actuators

WiFi Module and Cloud

Operating System

The integrated hardware and firmware design ensures the seamless and synchronized operations of multiple functions intended for our device. Leveraging a variety of tools for development and testing, ComfortZone serves as a reliable and user-friendly real-world application device in IoT.

Challenges

  1. Laying out all components and circuitry onto PCB in a compact design and following all design rules at the same time require careful design. To achieve this, we prioritized components that require complex interconnect, routing their pins first and surrounding them with their connected peripherals to minimize routing length. For routings that are less important such as those used for testpoints, we took advantage of the bottom plane to reduce area used in the top plane.
  2. The firmware driver for one of the sensors we found was complicated and when it did not work on our sensor, we did not know how to debug. To solve this, we read through the datasheet carefully and wrote our own simple driver.
  3. The SERCOM pad mapping for 2 of our pins in our prototyping is reversed and cannot work as expected. Since these 2 pins are not connected to other peripherals, we adapted the pin configuration in firmware without changing the hardware to make it work.
  4. After each driver works correctly on its own, they failed after integrated together. We carefully combined and divided different operations within tasks and tuned for their delays and priorities to ensure all tasks can work with relatively low latency on FreeRTOS.
  5. We sent our casework design for 3D printing but was notified that the dimensions were too big to be 3D printed. Therefore, we switched to lasercutting for each piece of our original design and used press-fitting and gluing to assemble the casework.

Prototype Learning

Lessons

Next Step

There is much room for further development in both firmware, software and mechanics to optimize for power, efficiency, security, and user interface.

Takeaway from ESE5160

Through semester-long development of ESE5160, we have completed the entire end-to-end development of a Internet-connected product prototype. With the lectures, assignments, and a variety of datasheet and documentation reading, we have learnt many important topics in embedded system and IoT design.

  1. Node-Red
    • Frontend: http://13.90.207.71:1880/ui/#!/2?socketid=FEulCUVg47lGnAQtAAAB
    • Backend: http://13.90.207.71:1880/#flow/bf052231e125d8be
  2. Source Code: https://github.com/ese5160/a12g-firmware-drivers-t15-comfortzone
  3. PCBA: https://upenn-eselabs.365.altium.com/designs/B509742C-FE00-4DFA-B87E-58B0CF9B060D

    3. Hardware & Software Requirements

    Hardware Requirements Review

    • HRS 01: Requirment met. Said ADC was used.
    • HRS 02: Adjusted. The load cell is changed to one detecting up to 500g because the load we are using does not exceed 500g.
    • HRS 03: Requirement met. The sensor performed within the specified temperature and humidity accuracy against known humidity and temperature values to validate the accuracy.
    • HRS 04: Requirement met. Said servo was used.
    • HRS 05: Reuqirement met. Said Li-Ion battery was used.

Software Requirements Review

4. Project Photos & Screenshots

Prototype

PCBA

Thermal Camera

Altium Design

Node Red

Block Diagram