Final project

Due dates

Deliverables are due at 11:59pm unless otherwise specified.

  • Wednesday, 11/18: Project proposal

  • Tuesday, 11/24: Check-in 1

  • Thaksgiving break is 11/25-11/27

  • Friday, 12/4: Check-in 2

  • Last day of class is 12/9

  • Friday, 12/11: Check-in 3

  • Wednesday, 12/22: Final project writeup

Project guidance

Your final project should combine many of the things you've learned in the course to build some kitchen or food-related device. Specifically, your project should:

  • Measure some quantity with an ESP32

  • Do something with the measurement (besides just logging it):

    • React in some way,

    • Use it to control a feedback loop, or

    • Analyze the measurement and display it on some sort of app or dashboard

  • Have something to do with kitchen gadgets or food

You are not limited to the sensors we've used so far in the course; you can use anything we can get our hands on. This includes:

  • Any sensors from Sparkfun, Adafruit, Seeed Studio, or elsewhere.

  • Hobby servo motors of various sizes (the one I demonstrated in class is teeny-tiny; we can get much larger and stronger ones)

  • Smart plugs to turn appliances on and off

  • Any appliances that aren't super dangerous (I'm a little wary of an ESP32-controlled blender, but anything that can't maim you instantaneously is fair game.)

Some possible ideas to get you thinking:

  • A toaster oven that monitors the contents and doesn't burn the granola (Or cookies, or whatever. But granola is the thing I burn all the time.)

  • A pasta pot that doesn't boil over

  • A pot that holds a perfect temperature, such as for making candy

  • A pot that automatically refills liquid if it runs low (to avoid burning the peas, beans, etc.)

  • Track the contents of your fridge, pantry, etc. (e.g., this yogurt tracker)

  • A better kitchen scale (Maybe it reads you a recipe and tells you when to stop pouring? Or maybe the buttons are just in more convenient places.)

  • Turn a rice cooker into a yogurt maker, or a crock-pot into a sous-vide machine

  • Turn a toaster oven into a reflow oven for food (i.e., you can specify a temperature profile or a sequence of bake/broil, not just a single temperature.).

  • An incubator for bread or sourdough starter

  • A chewiness tester for cookies or other items

  • Analyze the fat content of meat by running small amounts of electricity through it

  • Add fingerprint access control to your mini-fridge

  • A robot that mixes up your favorite recipe (trail mix, pancakes, etc)

Project proposal

Your proposal should be an email to me (Prof. Bell) including the following:

  • A paragraph describing what you would like to do

  • A block diagram showing how the main pieces will fit together

  • A list of any items you will need and where youd think we could purchase them. Depending on the cost, you may need to buy some things yourself, or return them when you're done.

I only need one email from each team, but be sure to cc your teammates.

Check-in meetings

The purpose of the check-in is to help ensure you're making progress, answer questions you have, and make sure that any blocking issues are addressed quickly.

For each check-in meeting, you should schedule a 30-minute time to chat with your assigned TA. This can be live or on Zoom. During the check-in, you'll share the following:

  • What have you done since the last check-in?

  • What will you be doing next? Is there anything you're stuck on, or not sure how to do?

  • What questions do you have?

Final writeup

Your project writeup should be a PDF file with the following sections:

  • A description of what you're trying to build and what problem it's designed to solve. This will be similar to your project proposal, but should be refined and updated based on what you actually did.

  • An explanation of how your system works. This is really hard to do well, so take time to plan your approach and have your whole team review it. A few things to help you plan and evaluate this section:

    • Have you given your reader an overview of how all the pieces fit together?

    • Are all of the pieces explained?

    • Have you used diagrams and figures to explain your design? Schematics, block diagrams, state machines, timelines, and other graphics are often more effective than words.

    • Do you provide transitions between sections so the reader can follow your description? A good writeup is like a good photo tour of a house: you see the details, but you also have a sense of where you are in the house.

  • Some appropriate measurements to prove that your system is working as designed. For example, if it's designed to regulate temperature, show us some temperature plots.

  • An evaluation of your design. What works well? What could be improved? If you had another month to work on it, what would you do?

  • Your code files attached to the end. Make sure to include server code, ESP32 code, and any plotting code you wrote. Remember to use a monospace font!