Project 2: Building a microwave control panel

In this project, you will design and implement your ideal microwave control panel.

Due dates

Deliverables are due at class time (12pm) unless otherwise specified.

  • Proof of concept: Wednesday 9/30

  • Completed panel: Wednesday 10/7 (in-class demonstrations)

  • Writeup: Monday 10/12

Thonny setup

Download Thonny for your computer.

Download the latest MicroPython image here: http://micropython.org/resources/firmware/esp32-idf3-20200902-v1.13.bin

Plug in your ESP32, and flash MicroPython to it:

  • In Thonny, select Run > Select Interpreter

  • Select MicroPython (ESP32) at the top

  • Make sure the port is correct (in general there will only be one choice)

  • Click “Open the dialog for installing MicroPython on your device”

    • If you're not able to open the dialog, you may need to install esptool

    • Go to Tools > Manage Plug-Ins, search for “esptool”, and click “Install”

  • Select the port (again) and the firmware file you downloaded, and click “Install”

  • It will take a couple of minutes to complete, and then you're ready to go!

Proof of concept

Connect an LED and two switches to your microcontroller.

When you press the first switch, the LED should turn on and remain on once the switch is released. When you press the second switch, the LED should turn off.

You're welcome to start implementing more functionality than this, but you need to be able to demonstrate this working by class on Wednesday 9/30.

Design specification

You have complete creative freedom, as long as your design meets the guidelines below:

  • Your panel must allow a user to specify different amounts of time to cook.

  • Your panel must indicate the time remaining in some way.

  • If the door is opened during cooking, you must turn off the power to the microwave element immediately.

Things that probably make sense for a microwave control panel (these rules were made to be broken, but you'd better have a good explanation why).

  • If you open the door, the countdown should stop.

  • The user should not be able to enter infinite time (e.g., by pressing a button a hundred times)

Microwave pigtail

Unfortunately, we don't have a microwave oven for everyone to take apart. Also unfortunately, microwave ovens are kind of dangerous inside and I can't have you rewiring them in your dorm room.

For our in-class demo, you will be given a 3-pin connector which goes to a real microwave:

  • Pin 1: ground

  • Pin 2: door open (0V if the door is closed, 3.3V if it is open)

  • Pin 3: microwave on (set this pin to 3.3V to turn the microwave on, set it to 0V to turn it off)

You can easily simulate this by using a pushbutton for the “door open” pin and an LED connected to the “microwave on” pin.