Project

# Title Team Members TA Documents Sponsor
4 Coffee Bean Freshness Tracker (CO2ffee)
Abrar Murtaza
Joshua Meier
Nathan Colunga
Surya Vasanth design_document1.pdf
final_paper1.pdf
grading_sheet1.pdf
photo1.JPG
photo2.JPG
photo3.JPG
presentation1.pdf
proposal1.pdf
video1.mp4
video
Team Members:
- Joshua Meier (joshua51)
- Abrar Murtaza (abraram2)
- Nathan Colunga (colunga4)

# Problem

Many coffee connoisseurs care about using freshly roasted beans, as it gives you the best coffee and depth of flavor! However, when you buy coffee from a roastery, they only give you an estimated date for when you should use them (typically within a month). This means those picky with their coffee quality don’t know exactly when their beans are no longer considered “fresh”. To solve this issue, we want to make a custom coffee container that detects how fresh beans are and tells the user when they need to replace their beans. This way, the user can always make sure they are using fresh beans to get good coffee!

# Solution

For our design, we plan to create a container to track the amount of CO2 remaining in the coffee beans as this directly correlates with the freshness of coffee beans. This is based on the weight of beans that were added as well as the detected concentration of CO2 that builds up in the container over time. This would work by when the beans are first added to the container the user would add them and utilize a mobile interface to indicate new beans were entered and specify the type. The container would then detect the weight of beans that were added and the original concentration of CO2 in the container which should be approximately 420 ppm (atmospheric). Every hour from then on the container would update the current CO2 concentration and utilize that as well as the calculated volume of the container and mass of the beans when first put into the container. The system will calculate the milligram of CO2 that was released per gram of beans. Using this calculated CO2 release and comparing it to the type of beans that were added to the container which would be inputted by the user, the system will calculate the approximate percentage of CO2 remaining in the beans at any given time. For reference, we plan to utilize the data collected in this study to determine the approximate CO2 content of each type of roast: https://pubs.acs.org/doi/10.1021/acs.jafc.7b03310. It is also worth noting that we will be assuming that 100% of the CO2 is still contained in the beans upon being placed in the container. We will be assuming this because the expected use case is beans will be added almost immediately after being bought making the time since the roasting is extremely short and the escaped CO2 negligible.

# Solution Components

## Subsystem 1 - Peripheral Devices (i.e. Sensors, Inputs, and Motors)

There will be three main sensors integrated into this subsystem. The weight sensor determines the amount of beans in the container by mass which will be used to calculate the carbon dioxide released per gram. The carbon dioxide sensor which determines the ppm of the carbon dioxide in the closed container is also used in the CO2 per gram calculation. There will also be a button to open and close the container as well as a motor that will be used to rotate the lid on a hinge to open and close it. The motor will also be engaged every time the concentration builds up too much so that the CO2 sensor is not overwhelmed by the concentration of CO2 within the container. For the CO2 sensor, we will most likely be using the Infineon PASCO2V15 sensor as it supports I2C and has a fairly reasonable CO2 concentration range. The weight sensor would most likely be made up of a few load cells and connected to the microcontroller via an HX711. For the motor, we plan to utilize the Miuzei Waterproof Servo Motor because of its small design and price.

## Subsystem 2 - Microcontroller

This subsystem consists of most likely an ESP32-WROOM-32E-H4 microcontroller with wireless communication capabilities and I2C for peripheral device connections. The microcontroller will read data from the CO2 and weight sensors to perform calculations for the percentage of CO2 remaining in the coffee beans. Based on this measurement, data will be output to the mobile interface via a wireless connection module, reporting as the freshness report of the coffee beans. The push button input and motor outputs are also connected, so on each press, the microcontroller can send data to the motor to begin opening or closing the lid, alternating.

## Subsystem 3 - Wireless Connection Module and Mobile Interface

The wireless connection module is built into the ESP32 microcontroller and this will allow data communication between the mobile interface and microcontroller. On this mobile interface, there will be an input to indicate which type of coffee beans have been entered into the container. Based on this input, our system will be able to estimate the initial amount of CO2 stored in the beans. Through the mobile interface, the freshness of the beans will be reported as the approximate percentage of CO2 remaining in the beans.

## Subsystem 4 - Power System

For power, we plan to utilize a couple of rechargeable batteries along with a power controller board. The power controller board will manage the power being taken in from a USB port to recharge the batteries and also manage the output power to all sensors and the microcontroller. We will most likely utilize double A rechargeable batteries and design our own power board in this subsystem.

## Materials

Most of the body will be made using 3D-printed PLA material with the coffee itself contained in a metal bin that can be removed. To create air-tight seals on the container the lid will be fitted with silicone edges to decrease gas escaping.

# Criterion For Success

There are a few goals we will try to meet for this project:
- Able to create a wireless connection to a phone for the user interface
- Able to create a rechargeable battery system that correctly powers the rest of the system
- A reasonably accurate measure of the CO2 lost by the beans while in the container which can be cross checked with manual measurements of weight
- Have the ability to adapt the calculation to various bean roast types that are inputted by the user

GYMplement

Srinija Kakumanu, Justin Naal, Danny Rymut

Featured Project

**Problem:** When working out at home, without a trainer, it’s hard to maintain good form. Working out without good form over time can lead to injury and strain.

**Solution:** A mat to use during at-home workouts that will give feedback on your form while you're performing a variety of bodyweight exercises (multiple pushup variations, squats, lunges,) by analyzing pressure distributions and placement.

**Solution Components:**

**Subsystem 1: Mat**

- This will be built using Velostat.

- The mat will receive pressure inputs from the user.

- Velostat is able to measure pressure because it is a piezoresistive material and the more it is compressed the lower the resistance becomes. By tracking pressure distribution it will be able to analyze certain aspects of the form and provide feedback.

- Additionally, it can assist in tracking reps for certain exercises.

- The mat would also use an ultrasonic range sensor. This would be used to track reps for exercises, such as pushups and squats, where the pressure placement on the mat may not change making it difficult for the pressure sensors to track.

- The mat will not be big enough to put both feet and hands on it. Instead when you are doing pushups you would just be putting your hands on it

**Subsystem 2: Power**

- Use a portable battery back to power the mat and data transmitter subsystems.

**Subsystem 3: Data transmitter**

- Information collected from the pressure sensors in the mat will be sent to the mobile app via Bluetooth. The data will be sent to the user’s phone so that we can help the user see if the exercise is being performed safely and correctly.

**Subsystem 4: Mobile App**

- When the user first gets the mat they will be asked to perform all the supported exercises and put it their height and weight in order to calibrate the mat.

- This is where the user would build their circuit of exercises and see feedback on their performance.

- How pressure will indicate good/bad form: in the case of squats, there would be two nonzero pressure readings and if the readings are not identical then we know the user is putting too much weight on one side. This indicates bad form. We will use similar comparisons for other moves

- The most important functions of this subsystem are to store the calibration data, give the user the ability to look at their performances, build out exercise circuits and set/get reminders to work out

**Criterion for Success**

- User Interface is clear and easy to use.

- Be able to accurately and consistently track the repetitions of each exercise.

- Sensors provide data that is detailed/accurate enough to create beneficial feedback for the user

**Challenges**

- Designing a circuit using velostat will be challenging because there are limited resources available that provide instruction on how to use it.

- We must also design a custom PCB that is able to store the sensor readings and transmit the data to the phone.