Project

# Title Team Members TA Documents Sponsor
6 Interactive Desktop Companion Robot for Stress Relief
Jiajun Gao
Yu-Chen Shih
Zichao Wang
Haocheng Bill Yang design_document1.pdf
final_paper2.pdf
photo1.jpg
photo2.jpg
photo3.jpg
photo4.jpg
presentation1.pdf
proposal1.pdf
video
# Team
- Jiajun Gao (jiajung3)
- Yuchen Shih (ycshih2)
- Zichao Wang (zichao3)
# Problem
Students and office workers often spend extended periods working at desks, leading to mental fatigue, stress, and reduced focus. While mobile applications, videos, or music can provide temporary relief, they often require users to shift attention away from their primary tasks and lack a sense of physical presence. Static desk toys also fail to maintain long-term engagement because they do not adapt to user behavior or provide meaningful interaction.
There is a need for an interactive, physically present system that can provide short, low-effort interactions to help users relax without becoming a major distraction. Such a system should be compact, safe for desk use, and capable of responding naturally to user input.

# Solution
We propose an interactive desktop companion robot designed to reduce stress and boredom through voice interaction, expressive feedback, and simple physical motion. The robot has a compact, box-shaped form factor suitable for desk environments and can move using a tracked or differential-drive base. An ESP32-based controller coordinates audio processing, networking, control logic, and hardware interfaces.
The robot supports voice wake-up, natural language conversation using a cloud-based language model, and speech synthesis for verbal responses. Visual expressions are displayed using a small screen or LED indicators to reflect internal states such as listening, thinking, or speaking. Spoken commands can also trigger physical actions, such as rotating, moving closer, or changing expressions. By combining audio, visual, and physical interaction, the system creates an engaging yet lightweight companion that fits naturally into a desk workflow.
# Solution Components
## Subsystem 1: Voice Interaction and Audio Processing
This subsystem enables natural voice-based interaction between the user and the robot. It performs wake-word detection locally and streams audio data to a remote server for speech recognition and response generation. The subsystem also handles audio playback and interruption control.
Audio data is captured using a digital microphone, encoded, and transmitted over a network connection. Responses from the server are received as audio streams and played through an onboard speaker. Local wake-word detection ensures responsiveness and reduces unnecessary network usage.
Components:

• ESP32-S3 microcontroller with PSRAM
• ESP32-S3 integrated Wi-Fi module
• I2S digital microphone (INMP441 or equivalent)
• I2S audio amplifier (MAX98357A)
• 4Ω or 8Ω speaker
## Subsystem 2: Visual Expression and User Feedback
This subsystem provides visual feedback that represents the robot’s internal state and interaction context. Visual cues improve usability and convey personality.
Different states such as idle, listening, processing, speaking, and error are represented using animations or color patterns.
Components:

• SPI LCD display (ST7789 or equivalent) or
• RGB LEDs (WS2812B or equivalent)

## Subsystem 3: Motion and Actuation
This subsystem enables controlled movement on a desk surface. The robot performs simple motions such as forward movement, rotation, and stopping based on voice commands and sensor feedback.
Motor control runs in a dedicated task to prevent interference with audio and networking functions.
Components:

• Two DC gear motors
• Dual H-bridge motor driver (TB6612FNG or equivalent)
• Optional wheel encoders


## Subsystem 4: Power Management and Safety
This subsystem manages power distribution and ensures safe operation. The robot is battery-powered to allow untethered use on a desk. Hardware and software protections limit speed, current, and movement range.
Components:

• Lithium battery with protection circuit
• Battery charging module
• Voltage regulators (5V and 3.3V)
• Physical power switch

## Subsystem 5: Subsystem 5: Safety Sensing (Desk-Edge Detection + Obstacle Avoidance)

This subsystem prevents the robot from falling off the desk and reduces collisions with nearby objects. It continuously monitors both the surface below the robot and the space in front of the robot. When a desk edge (cliff) or obstacle is detected, this subsystem overrides motion commands and triggers an immediate safe response.

Desk-edge detection (cliff detection):
Two downward-facing distance sensors are mounted near the front-left and front-right corners. They measure the distance from the robot to the desk surface. If either sensor detects a sudden increase in distance beyond a calibrated baseline, the robot immediately stops and performs a short reverse maneuver to move away from the edge.

Obstacle avoidance:
A forward-facing distance sensor detects objects in front of the robot. If an obstacle is within a predefined safety distance, the robot stops. If the obstacle remains, the robot can optionally rotate in place to search for a clear direction before continuing motion.

Control priority:
Safety sensing has the highest priority in the motion stack:

Desk-edge detection (highest priority)

Obstacle avoidance

User/voice motion commands (lowest priority)

Components:

2 × Time-of-Flight distance sensors for downward cliff detection (VL53L0X or equivalent, I2C)

1 × Time-of-Flight distance sensor for forward obstacle detection (VL53L0X or equivalent, I2C)

# Criterion For Success
The success of this project will be evaluated using the following high-level criteria:
1. The robot connects to a Wi-Fi network and establishes a server connection within 10 seconds of power-on.
2. The system detects a wake word and enters interaction mode within 2 second in a quiet environment.
3. The average end-to-end voice interaction latency is less than 5 seconds under normal network conditions.
4. At least five predefined voice commands trigger the correct robot actions with at least 90% accuracy during testing.
5. Visual feedback correctly reflects the system state in all operational modes.
6. The robot operates continuously for at least 30 minutes on battery power during active use.
7. When Wi-Fi is unavailable, the system enters a safe degraded mode without crashing or unsafe motion.
8. During a 10-minute continuous motion demonstration on a desk, the robot does not fall off the desk.
9. In an obstacle test, the robot is commanded to move forward toward a stationary obstacle (for example, a box or book) from multiple start distances for 20 trials. The robot must stop (or stop and turn) before making contact in at least 18/20 trials.

Instant Nitro Cold Brew Machine

Danis Heto, Mihir Vardhan

Instant Nitro Cold Brew Machine

Featured Project

# Instant Nitro Cold Brew Machine

Team Members:

- Mihir Vardhan (mihirv2)

- Danis Heto (dheto3)

# Problem

Cold brew is made by steeping coffee grounds in cold water for 12-18 hours. This low-temperature steeping extracts fewer bitter compounds than traditional hot brewing, leading to a more balanced and sweeter flavor. While cold brew can be prepared in big batches ahead of time and stored for consumption throughout the week, this would make it impossible for someone to choose the specific coffee beans they desire for that very morning. The proposed machine will be able to brew coffee in cold water in minutes by leveraging air pressure. The machine will also bring the fine-tuning and control of brewing parameters currently seen in hot brewing to cold brewing.

# Solution

The brew will take place in an airtight aluminum chamber with a removable lid. The user can drop a tea-bag like pouch of coffee grounds into the chamber along with cold water. By pulling a vacuum in this chamber, the boiling point of water will reach room temperature and allow the coffee extraction to happen at the same rate as hot brewing, but at room temperature. Next, instead of bringing the chamber pressure back to atmospheric with ambient air, nitrogen can be introduced from an attached tank, allowing the gas to dissolve in the coffee rapidly. The introduction of nitrogen will prevent the coffee from oxidizing, and allow it to remain fresh indefinitely. When the user is ready to dispense, the nitrogen pressure will be raised to 30 PSI and the instant nitro cold brew can now be poured from a spout at the bottom of the chamber.

The coffee bag prevents the coffee grounds from making it into the drink and allows the user to remove and replace it with a bag full of different grounds for the next round of brewing, just like a Keurig for hot coffee.

To keep this project feasible and achievable in one semester, the nitrogenation process is a reach goal that we will only implement if time allows. Since the vacuum and nitrogenation phases are independent, they can both take place through the same port in the brewing chamber. The only hardware change would be an extra solenoid control MOSFET on the PCB.

We have spoken to Gregg in the machine shop and he believes this vacuum chamber design is feasible.

# Solution Components

## Brewing Chamber

A roughly 160mm tall and 170mm wide aluminum chamber with 7mm thick walls. This chamber will contain the brew water and coffee grounds and will reach the user-set vacuum level and nitrogenation pressure if time allows. There will be a manually operated ball valve spout at the bottom of this chamber to dispense the cold brew once it is ready. The fittings for the vacuum hose and pressure sensor will be attached to the screw top lid of this chamber, allowing the chamber to be removed to add the water and coffee grounds. This also allows the chamber to be cleaned thoroughly.

## Temperature and Pressure Sensors

A pressure sensor will be threaded into the lid of the brewing chamber. Monitoring the readings from this pressure sensor will allow us to turn off the vacuum pump once the chamber reaches the user-set vacuum level. A temperature thermocouple will be attached to the side of the brewing chamber. The temperature measured will be displayed on the LCD display. This thermocouple will be attached using removable JST connectors so that the chamber can be removed entirely from the machine for cleaning.

## Vacuum Pump and Solenoid Valve

An oilless vacuum pump will be used to pull the vacuum in the brewing chamber. A solenoid valve will close off the connection to this vacuum pump once the user-set vacuum pressure is reached and the pump is turned off. To stay within the $100 budget for this project, we have been given a 2-Stage 50L/m Oil Free Lab Vacuum Pump on loan for this semester. The pump will connect to the chamber through standard PTFE tubing and push-fit connectors

If time allows and we are able to borrow a nitrogen tank, an additional solenoid and a PTFE Y-connector would allow the nitrogen tank to connect to the vacuum chamber through the same port as the vacuum pump.

## LCD Display and Rotary Encoder

The LCD display allows the user to interact with the temperature and pressure components of the brewing chamber. This display will be controlled using a rotary encoder with a push button. The menu style interface will allow you to control the vacuum level and brew time in the chamber, along with the nitrogenation pressure if time allows. The display will also monitor the temperature of the chamber and display it along with the time remaining and the current vacuum level.

# Criterion For Success

- A successful cold brew machine would be able to make cold brew coffee at or below room temperature in ten minutes at most.

- The machine must also allow the user to manually control the brew time and vacuum level as well as display the brew temperature.

- The machine must detect and report faults. If it is unable to reach the desired vacuum pressure or is inexplicably losing pressure, the machine must enter a safe ‘stop state’ and display a human readable error code.

- The reach goal for this project, not a criterion for success, would be the successful nitrogenation of the cold brew.

Project Videos