Project

# Title Team Members TA Documents Sponsor
79 Universal Gesture Interface
Connor Michalec
Kenobi Carpenter
Kobe Duda
Lukas Dumasius design_document1.pdf
final_paper1.pdf
proposal1.pdf
video
# Universal Gesture Interface

Team members:
- Kenobi Carpenter (joseph48)
- Kobe Duda (ksduda2)
- Connor Michalec (connor15)
# Problem

Since the invention of the personal computer, the interface between humans and computers has remained relatively unchanged. The keyboard and mouse layout has proven highly effective for the majority of use cases, but its mostly-discrete nature greatly restricts the possible ways humans can interact with computer applications.

Much of the way we interact with the world requires expressive, free-flowing modes of interaction. Activities like playing an instrument, martial arts, dancing, or sculpting often can’t simply be described by a series of inputs in the correct order at the correct time. They take place in continuous, 3D space—yet, the most complex expression we typically get with a computer is the 2D plane that a mouse movement provides.

Some solutions exist to address this need, the most notable of these being VR headsets. However, these headsets tend to be expensive, large, and lead to feelings of fatigue and nausea for many users. As it currently stands, there is no low-cost, low-fatigue, desk-friendly input device that allows continuous spatial interaction on PC. Such a device would open new possibilities for how users interface with programs while also improving accessibility for those lacking in fine motor skills, i.e. limited finger dexterity.
# Solution

We propose a wearable gesture-detecting glove that allows users to interface with computer applications through hand and finger motions. This glove will have a wired USB connection (though wireless would be ideal, we are omitting it for the sake of scope) with two interfaces. The first interface is an HID compliant mouse, allowing the glove to be generally used for regular applications, while the second interface streams live 3D movement data to be interpreted by specialized applications. This dual-interface approach allows the glove to stand on its own as a general-purpose tool while also granting the extensibility to be leveraged to its full potential by specialized applications.

The sensor layout will consist of a 9-DOF IMU placed on the back of the hand for broad movements, three flex sensors in the index, middle finger, and thumb, and three force-sensitive resistors (FSRs) on the fingertips to detect touch.

Finally, the device will feature on-board DSP on the MCU. It will process raw sensor data and interpret a predefined set of gestures, then send those interpreted actions as discrete inputs to the target USB device.
# Solution Components

## Subsystem 1: IMU Unit

Components: ICM-20948

This 9-axis accelerometer will be used for detecting broad-phase translational and rotational movements of the hand. It will be mounted to the back of the palm, and raw sensor data will be sent over SPI to the MCU for processing.
## Subsystem 2: Flex sensors

Components: Adafruit Industries Short Flex/Bend Sensor

We will mount three flex sensors to the thumb, index finger, and middle finger. They will be connected each to an ADC port by voltage divider with a 50kOhm resistor. 0.1uF capacitors will be used for noise reduction. Used for detecting specific hand positions.
## Subsystem 3: Touch sensors

Components: Geekcreit FSR402 Force Sensitive Resistor

Three force-sensitive resistors will be attached to the tips of the thumb, index finger, and middle finger. Similar to the flex sensors, they will be wired to ADCs with voltage dividers (22kOhm) to be read by the MCU. Used for detecting pinching, tapping, and pressing.
## Subsystem 4: Microprocessor

Components STM32F405 Microprocessor

This microprocessor takes as input all of the aforementioned sensor data and sends USB as output. The processor itself has been chosen for its DSP capabilities, as processing sensor inputs and identifying them as gestures will constitute a considerable portion of this project. Attached to the PCB will be a USB port for connecting to a computer, over which identified gestures are sent as inputs to the computer.

This is also where most of our design decisions will be integrated. For example, the IMU is prone to drift, meaning we’ll have to make UX decisions that mitigate its influence, i.e. only moving the mouse when a finger is down on the desk.
## Subsystem 5: Physical Frame

Another important aspect of the project will be the physical design itself. In order for our project to be even moderately successful, it has to be wearable. This presents the unique challenge of designing a glove that is both comfortable and can house the electronic components in a way that does not impede movement.
## Subsystem 6: Associated Software

This is not a part of the actual project, but a testbed to demonstrate its capabilities. We will use Unreal Engine 5 to create a very basic flight simulation that allows for controlling the plane with orientation of the user’s hand.

For basic testing, we will also have a barebones program that receives gesture inputs and prints them to the screen when received over serial.
# Criterion for success
- Hand movements are able to reliably move a mouse on the attached device
- The following gestures/actions can be reliably detected and mirrored to test program
- Hand closed
- Hand open
- Light tap (index/middle/thumb)
- Firm press (index/middle/thumb)
- Pinching fingers (index-thumb, middle-thumb)
- Thumbs up
- Thumbs down
- User can successfully navigate a plane in the testbed program through a basic course using hand orientation

Multipurpose Temperature Controlled Chamber (for Consumer Applications)

Isaac Brorson, Stefan Sokolowski, Mitchell Stermer

Multipurpose Temperature Controlled Chamber (for Consumer Applications)

Featured Project

Multipurpose Temperature Controlled Chamber (for Consumer Applications)

#TEAM MEMBERS:

Stefan Sokolowski (stefans2)

Mitchell Stermer (stermer2)

Isaac Brorson (brorson2)

#PROBLEM:

Have you ever put a drink in the freezer to make it cool down faster, only to forget about it and later find it exploded and frozen?

Or have you wanted to cook a steak, but forgotten to move it from the freezer to the refrigerator the previous day?

Finally, has there ever been a time when you set food out overnight in order to prepare it for the next day but only to find that it didn’t thaw as expected?

We have done all of these things plus more and have always wished there were a smart device that could quickly cool or warm food without freezing or cooking it.

#SOLUTION:

Our project would be a programmable temperature controlled chamber which allows a user to set the temperature curve of a food item they are planning on consuming in the near future. This device would be able to quickly heat or cool food to a desired temperature, then hold it at that temperature until the user is ready to use the food. The way someone would use this device would start by placing their food item in the device's insulative chamber and closing the door. The user interface would present the user with a variety of options: standard heating or cooling presets for common food items, temperature set and hold, or the ability to set a detailed temperature curve.

If you want to cool a drink to just above freezing, you would select the corresponding menu option, and this device will lower the temperature of its chamber to well below freezing, then slowly raise its temperature to ensure the drink doesn't freeze.

If you select the menu option to thaw a steak, this device will raise the temperature of the chamber to just below the point at which meat begins to cook, (roughly 105 degrees F) then slowly lower the temperature towards room temperature.

This device could also be used for applications outside of cuisine. Say you’re running an experiment to test the capacity of a battery at different temperatures. You could set a temperature curve to visit several different temperatures and hold each one as your battery capacity tester runs its tests. This would allow you to automate an experiment that would otherwise require intermittent attention over the span of multiple hours.

There are temperature controlled chambers on the market, but they’re all exorbitantly expensive and large for a household kitchen. We want to make a device that could sit on a countertop and be affordable to anyone who has the budget for other standard kitchen appliances.

![pic](https://i.imgur.com/HJiCQsN.png)

#POWER

We plan to use a dual output DC power supply such as the RD-125B[1] to power both our digital electronics and the high power heating and cooling elements. This power supply would be plugged directly into an outlet using a 120V plug, and would create 5V and 24V DC outputs. According to its datasheet[1], the RD-125B’s 24V output is rated to supply 4.6A, which equates to just over 110W. Based on our research of thermoelectric coolers and heating elements, we think this should be plenty of power for our application.The RD-125B’s 5V output is rated to supply far more power than our 5V electronics could possibly draw.

#MECHANICAL DESIGN

In order to reach temperatures below freezing with thermoelectric coolers, we’ll need to thermally insulate the chamber very well. Since this insulation needs to be able to withstand the heat produced by the heating elements, we landed on Kaowool. This ceramic wool insulates very well while also being rated to over 1000℃[2].

Since our device is intended for food applications, it’s important for our temperature controlled chamber to be waterproof and food safe. For this reason, we plan to purchase an off-the-shelf cooking pot such as this one[3]. By fitting a smaller pot inside of a slightly larger pot, we can create an affordable and convenient way to insulate our chamber. We can fit the gap between the pots with Kaowool insulation, and use the larger pot’s lid with Kaowool in it to seal the top.

To heat the chamber, we plan to wrap a resistive heating element (such as nichrome wire) around the inner chamber. Since we plan to use an electrically conductive pot for our inner chamber, we’ll need to insulate the heating element from it to prevent shorting. This can be done with Kapton tape, which can withstand temperatures ranging from -269℃ to 400℃[4].

To cool the chamber, we plan to use thermoelectric cooling modules. These require a good thermal pathway to work well, so we’ll need to use a material with high thermal conductivity to mount them to the chamber wall. We plan to ask the machine shop to machine us aluminum mounts which match the curved outside surface of the pot composing the chamber to the flat faces of the thermoelectric cooling elements. Additionally, we’ll use thermal grease to reduce the thermal resistance of the junctions. The thermoelectric coolers will require rectangular holes cut through the wall of the outer pot so they can pump heat to outside of the device.

We plan to mount our circuit board and the user interface electronics in an E-box attached to the side of the outer pot. We can use standoff rods to ensure the electronics don’t get heated or cooled too much from being close to the chamber, though we expect that our thermal insulation will be good enough for that not to be a concern.

#HEATING SUBSYSTEM

As mentioned in mechanical design, we plan to use a resistive heating element to heat the chamber. This will be powered by the higher voltage DC power rail produced by the power supply, which is 24V for the RD-125B. We'll use a solid state switch to control the current through the heating element. This allows us to control its power using PWM, which is essential for ensuring the chamber temperature remains below a certain prescribed level.

The simplest and most cost effective switching device would be an N-channel power MOSFET such as the Taiwan Semiconductor TSM170N06CH[5].

#COOLING SUBSYSTEM

We plan to use thermoelectric (Peltier) coolers to provide the cooling. These work as heat pumps, so we’ll need heat sinks and cooling fans to dissipate the heat they produce. The thermoelectric coolers and fans will be run off of the same higher voltage DC that powers the heating element.

We want to have the option to run the thermoelectric coolers in reverse while the chamber is heating to prevent their heat sinks from cooling down the chamber. To do this we’ll need to power the thermoelectric coolers through an H-bridge so that we can reverse their polarities. The H-bridge can be composed of two N-channel MOSFETs such as the one mentioned above[5], and two P-channel MOSFETs such as the Rectron Semiconductor RM15P55LD[6]. The H bridge can be controlled by the STM32 microcontroller, allowing us to use PWM to vary the power supplied to the thermoelectric coolers. We may or may not need gate drivers for the H-bridge. Gate drivers are necessary for a fast switching rate, but our application doesn’t require high frequency PWM.

#TEMPERATURE MEASUREMENT SUBSYSTEMS

To be as precise as possible, we want distinct temperature sensors for measuring the temperature of the air in the chamber and the temperature of the item being warmed or cooled. Measuring the temperature of the food is made difficult due to many food items having insulative packaging. (Glass bottles, styrofoam containers, etc...) Since we want our device to work for as wide of a range of food items as possible, we plan to give the user the option to select from multiple different interchangeable food temperature probes. Temperature sensing probes could include a meat thermometer, a flat metallic probe that could be placed on frozen meat, or a ring shaped thermometer that could go around a bottle or can.

Temperature sensing (thermocouple / thermopile) may require some basic analog electronics, such as an op amp to amplify the small voltage produced by a thermocouple.

#USER INTERFACE SUBSYSTEM

We plan to use an STM32 microcontroller, for our use a STM32F103C8T6 would probably suffice with IO and processing power, but more capable F4’s might be considered if we add more sensors. The microcontroller and user interface will require logic level voltage DC.

We would most likely use an I2C enabled LCD display as well as a bright, external RGB LED in order to show the user what state the machine is in from a distance. We plan to use a push button rotary encoder to allow the user to interact with the device, in addition to an ON/OFF switch and a "cancel" button. User feedback should be fairly simple and if time allows, we might consider connecting the device to an external service to send users notification as to the status of their heating/cooling cycle.

The user interface screen will have multiple interactive menus: one to select the behavior mode of the device, one to set temperature and time values, one to show a temperature curve, and one to be displayed while the device is operating.

#CHALLENGES & CONSIDERATIONS:

- Everything inside the chamber will need to be able to withstand the full range of temperature.

- Electronics will need to be very well thermally insulated from the chamber if we want to use it as an oven.

- Since thermopiles operate off of a temperature gradient, they require a stable case temperature. This means we'll need to keep the thermocouple in a temperature controlled environment.

- The chamber should ideally be made watertight for the case of a spill or leak.

- When making the mechanical design, we'll need to keep in mind how different materials expand / contract at different rates when they're heated / cooled.

#CRITERION FOR SUCCESS:

- Inside of the chamber should be able to reach at a low end 0 degrees Celsius and at a high end 40 degrees Celsius.

- Be able to hold temperature to within +-5 degrees Celsius of target temperature.

- User has the ability to set target temperature, heating/cooling curve and max/min temperature allowances through GUI on an LCD display.

- Display of current temperature, and possibly a plot of the temperature vs. time graph.

- Ability to select the behavior of the device from a provided menu of presets for different foods.

- (Stretch Goal) We could possibly include multiple different methods to measure food temperature in addition to the ambient temperature. (Stainless steel probe to measure the internal temperature of meats, thermocouple for bottles and containers)

[1] Power Supply:

https://www.mouser.com/datasheet/2/260/RD_125_SPEC-1511572.pdf

[2] Kaowool:

https://www.morganthermalceramics.com/media/llhhadih/5-14-205_kaowoolblankets_072018.pdf

[3] Aluminum pot: https://www.amazon.com/Winco-Winware-Aluminum-Stockpot-12-Quart/dp/B001CHMIQ4/ref=sr_1_10?crid=1VECOQHCN2UC2&keywords=aluminum%2Bpot&qid=1706684643&sprefix=aluminum%2Bpot%2Caps%2C93&sr=8-10&th=1

[4] Kapton tape:

https://www.dupont.com/electronics-industrial/kapton-hn.html#:~:text=Kapton%C2%AE%20HN%20has%20been,C%20(752%C2%B0F).

[5] N channel MOSFET:

https://services.ts.com.tw/storage/resources/datasheet/TSM170N06CH_A2211.pdf

[6] P channel MOSFET:

https://www.mouser.com/datasheet/2/345/rm15p55ld-1396325.pdf

Project Videos