Course Overview

Welcome to ECE 445! If you've looked at the course Calendar, you've probably already noticed that this class is quite different from most other classes in the department. The class only meets as a whole for the first few weeks of the semester. During these lectures you will meet the Course Staff, learn about specific assignments, requirements, and resources for the course, and have a chance to meet other students to share ideas and form teams. These are some of the most important weeks for the class since the decisions you make during this time will determine what you'll get out of this class and, in many ways, how much you'll enjoy it.

Outside of lecture, you are expected to be working on your own to develop ideas and form teams. You are also expected to actively participate on the Piazza discussion board to exchange ideas, receive feedback from course staff, and eventually get your project idea approved. Once your team has a project approved, you will be assigned a TA, with whom you will have weekly meetings. Think of your TA as a project manager. Keep in mind that they are not there to do the work for you. Rather, they are there to keep you on track, point you towards resources (both within and outside of the department), and evaluate the result of your efforts.

Expectations and Requirements

We have high expectations for students participating in ECE 445. You are soon to be alumni of one of the top ECE departments of the world. Our alumni hold themselves to high technical and professional standards of conduct. In general, projects are expected to be safe, ethical, and have a level of design complexity commensurate with the rigor of the ECE Illinois curriculum. Requirements for specific assignments due throughout the semester can be found by looking through the Grading Scheme for the course. Please read through this documentation well before each assignment is due. Specific due dates can be found on the course Calendar.

Below are a few words of wisdom to keep in mind throughout the semester to increase your enjoyment and success in the course:

Monitor for Dough and Sourdough Starter

Jake Hayes, Abhitya Krishnaraj, Alec Thompson

Monitor for Dough and Sourdough Starter

Featured Project

Team Members:

- Jake Hayes (jhayes)

- Abhitya Krishnaraj (abhitya2)

- Alec Thompson (alect3)

# Problem

Making bread at home, especially sourdough, has become very popular because it is an affordable way to get fresh-baked bread that's free of preservatives and other ingredients that many people are not comfortable with. Sourdough also has other health benefits such as a lower glycemic index and greater bioavailability of nutrients.

However, the bulk fermentation process (letting the dough rise) can be tricky and requires a lot of attention, which leads to many people giving up on making sourdough. Ideally, the dough should be kept at around 80 degrees F, which is warmer than most people keep their homes, so many people try to find a warm place in their home such as in an oven with a light on; but it's hard to know if the dough is kept at a good temperature. Other steps need to be taken when the dough has risen enough, but rise time varies greatly, so you can't just set a timer; and if you wait too long the dough can start to shrink again. In the case of activating dehydrated sourdough starter, this rise and fall is normal and must happen several times; and its peak volume is what tells you when it's ready to use.

# Solution

Our solution is to design a device with a distance sensor (probably ultrasonic) and a temperature sensor that can be attached to the underside of most types of lids, probably with magnets. The sensors would be controlled with a microcontroller; and a display (probably LCD) would show the minimum, current, and maximum heights of the dough along with the temperature. This way the user can see at a glance how much the dough has risen, whether it has already peaked and started to shrink, and whether the temperature is acceptable or not. There is no need to remove it from its warm place and uncover it, introducing cold air; and there is no need to puncture it to measure its height or use some other awkward method.

The device would require a PCB, microcontroller, sensors, display, and maybe some type of wireless communication. Other features could be added, such as an audible alarm or a graph of dough height and/or temperature over time.

# Solution Components

## Height and Temperature Sensors

Sensors would be placed on the part of the device that attaches to the underside of a lid. A temperature sensor would measure the ambient temperature near the dough to ensure the dough is kept at an acceptable temperature. A proximity sensor or sensors would first measure the height of the container, then begin measuring the height of the dough periodically. If we can achieve acceptable accuracy with one distance sensor, that would be ideal; otherwise we could use 2-4 sensors.

Possible temperature sensor: [Texas Instruments LM61BIZ/LFT3](https://www.digikey.com/en/products/detail/texas-instruments/LM61BIZ%252FLFT3/12324753)

Proximity sensors could be ultrasonic, infrared LED, or VCSEL.\

Ultrasonic: [Adafruit ULTRASONIC SENSOR SONAR DISTANCE 3942](https://www.digikey.com/en/products/detail/adafruit-industries-llc/3942/9658069)\

IR LED: [Vishay VCNL3020-GS18](https://www.mouser.com/ProductDetail/Vishay-Semiconductors/VCNL3020-GS18?qs=5csRq1wdUj612SFHAvx1XQ%3D%3D)\

VCSEL: [Vishay VCNL36826S](https://www.mouser.com/ProductDetail/Vishay-Semiconductors/VCNL36826S?qs=d0WKAl%252BL4KbhexPI0ncp8A%3D%3D)

## MCU

An MCU reads data from the sensors and displays it in an easily understandable format on the LCD display. It also reads input from the user interface and adjusts the operation and/or output accordingly. For example, when the user presses the button to reset the minimum dough height, the MCU sends a signal to the proximity sensor to measure the distance, then the MCU reads the data, calculates the height, and makes the display show it as the minimum height.

Possible MCU: [STM32F303K8T6TR](https://www.mouser.com/ProductDetail/STMicroelectronics/STM32F303K8T6TR?qs=sPbYRqrBIVk%252Bs3Q4t9a02w%3D%3D)

## Digital Display

- A [4x16 Character LCD](https://newhavendisplay.com/4x16-character-lcd-stn-blue-display-with-white-side-backlight/) would attach to the top of the lid and display the lowest height, current height, maximum height, and temperature.

## User Interface

The UI would attach to the top of the lid and consist of a number of simple switches and push buttons to control the device. For example, a switch to turn the device on and off, a button to measure the height of the container, a button to reset the minimum dough height, etc.

Possible switch: [E-Switch RA1113112R](https://www.digikey.com/en/products/detail/e-switch/RA1113112R/3778055)\

Possible button: [CUI Devices TS02-66-50-BK-160-LCR-D](https://www.digikey.com/en/products/detail/cui-devices/TS02-66-50-BK-160-LCR-D/15634352)

## Power

- Rechargeable Lithium Ion battery capable of staying on for a few rounds of dough ([2000 mAh](https://www.microcenter.com/product/503621/Lithium_Ion_Battery_-_37v_2000mAh) or more) along with a USB charging port and the necessary circuitry to charge the battery. The two halves of the device (top and underside of lid) would probably be wired together to share power and send and receive data.

## (stretch goal) Wireless Notification System

- Push notifications to a user’s phone whenever the dough has peaked. This would likely be an add-on achieved with a Raspberry Pi Zero, Gotify, and Tailscale.

# Criterion For Success

- Charge the battery and operate on battery power for at least 10 hours, but ideally a few days for wider use cases and convenience.

- Accurately read (within a centimeter) and store distance values, convert distance to dough height, and display the minimum, maximum, and current height values on a display.

- Accurately read and report the temperature to the display.

- (stretch goal) Inform the user when the dough has peaked (visual, audio, or app based).

Project Videos