Project

# Title Team Members TA Documents Sponsor
46 Snooze-Cruiser
Alex Wang
Jiachen Hu
Jizhen Chen
Jiaming Xu design_document1.pdf
final_paper1.pdf
presentation1.pptx
proposal1.pdf
video
#Snooze-Cruiser
Team Members:

Jiachen Hu (hu86)

Jizhen Chen (jizhenc2)

Alex Wang (zw71)

#Problem

Many people suffer from sleep inertia, a condition where individuals instinctively silence alarms without fully waking up. Traditional alarm clocks and smartphone alarms rely solely on audio, which can be easily ignored or dismissed while half asleep. Existing alternative solutions such as puzzle-based alarms or flying alarms are often ineffective, unsafe, or impractical in confined environments like dorm rooms and bedrooms.

The fundamental issue is that current alarm systems fail to reliably force physical engagement, allowing users to return to sleep without becoming fully alert. A more effective alarm must require the user to physically interact with the system in order to disable it.

#Solution

We propose Snooze-Cruiser, a two-wheeled differential-drive robotic alarm system that physically moves away from the user when the alarm time is reached. Instead of simply producing sound, the robot navigates around the room, forcing the user to get out of bed and chase it in order to silence the alarm.

The robot operates autonomously in a confined indoor space, using onboard sensors for obstacle avoidance and odometry-based localization to remain within a defined area. The alarm is disabled not by pressing a button, but by detecting when the robot has been picked up using inertial sensor data. This interaction ensures that the user must physically wake up and engage with the device.

The system is divided into motion control, sensing, alarm/audio, localization, and power management subsystems.

#Solution Components

##Subsystem 1: Motion Control and Navigation

Function:
This subsystem enables the robot to move autonomously, wander unpredictably, and avoid obstacles while remaining within a confined area.

Components:

Microcontroller: STM32F446RCT6

Motor Driver: DRV8833PWP dual H-bridge motor driver

Motors: N20 micro gear motors with quadrature encoders (x2)

Inertial Measurement Unit: MPU6050

Obstacle Sensors: VL53L1X Time-of-Flight distance sensors (multiple)

Description:
The STM32 generates PWM signals to control the motors through the DRV8833 motor driver. Wheel encoders provide feedback for estimating speed and displacement. During alarm operation, the robot drives forward at a base speed and periodically introduces random heading changes. Obstacle avoidance is triggered when distance sensors detect nearby obstacles, causing the robot to turn away and resume wandering motion. Encoder and IMU data are fused to estimate the robot’s position relative to its starting point.

##Subsystem 2: Localization and Soft Geofencing

Function:
This subsystem prevents the robot from leaving the intended operating area (e.g., a bedroom).

Components:

Wheel Encoders (from Subsystem 1)

IMU: MPU6050

Description:
Wheel encoder data and IMU measurements are fused using a Kalman Filter (or equivalent sensor fusion approach) to estimate the robot’s displacement from its starting location. A soft geofence is defined as a radius around this starting point. If the robot exceeds this radius, it enters a return-to-center behavior by rotating toward the estimated origin and driving inward until it re-enters the allowed area.

##Subsystem 3: Alarm Timing and Audio Output

Function:
This subsystem handles timekeeping and audible alarm generation.

Components:

Microcontroller: STM32F446RCT6

Audio Amplifier: PAM8301AAF

Speaker

Description:
The STM32 maintains a real-time counter for alarm scheduling. When the preset alarm time is reached, the microcontroller simultaneously enables the audio amplifier and activates the motion subsystem. The alarm sound continues until a valid caught event is detected.

##Subsystem 4: Caught Detection (User Interaction)

Function:
This subsystem detects when the robot has been picked up by the user and disables the alarm.

Components:

IMU: MPU6050

Wheel Encoders

Description:
Caught detection is performed by analyzing IMU acceleration and vibration data in combination with wheel encoder feedback. A caught event is identified by sudden changes in acceleration magnitude, high-frequency vibrations from human handling, and inconsistencies between wheel motion and measured acceleration (indicating loss of ground contact). Once confirmed, the system immediately stops motor output and silences the alarm.

##Subsystem 5: Power Management

Function:
This subsystem supplies and regulates power for the robot.

Components:

Battery Charger IC: MCP73844

Rechargeable Battery

Voltage Regulation Circuitry

Description:
The battery supplies power to the MCU, sensors, motor driver, and audio system. The MCP73844 manages battery charging. Voltage regulation ensures stable operation during high current events such as motor startup.

#Criterion For Success

The project will be considered successful if the following objective criteria are met:

Timed Activation:
The alarm triggers within ±X seconds of the programmed time.

Synchronized Operation:
Robot motion and alarm audio start simultaneously upon alarm activation.

Autonomous Motion:
The robot moves continuously without user intervention during alarm operation.

Obstacle Avoidance:
The robot avoids obstacles placed in its path without repeated collisions.

Confined Operation:
The robot remains within a predefined operating radius and returns toward the starting location when the boundary is exceeded.

Caught Detection:
When picked up by a user, the robot reliably stops motion and audio within a short time window.

Iron Man Mouse

Jeff Chang, Yayati Pahuja, Zhiyuan Yang

Featured Project

# Problem:

Being an ECE student means that there is a high chance we are gonna sit in front of a computer for the majority of the day, especially during COVID times. This situation may lead to neck and lower back issues due to a long time of sedentary lifestyle. Therefore, it would be beneficial for us to get up and stretch for a while every now and then. However, exercising for a bit may distract us from working or studying and it might take some time to refocus. To control mice using our arm movements or hand gestures would be a way to enable us to get up and work at the same time. It is similar to the movie Iron Man when Tony Stark is working but without the hologram.

# Solution Overview:

The device would have a wrist band portion that acts as the tracker of the mouse pointer (implemented by accelerometer and perhaps optical sensors). A set of 3 finger cots with gyroscope or accelerometer are attached to the wrist band. These sensors as a whole would send data to a black box device (connected to the computer by USB) via bluetooth. The box would contain circuits to compute these translational/rotational data to imitate a mouse or trackpad movements with possible custom operation. Alternatively, we could have the wristband connected to a PC by bluetooth. In this case, a device driver on the OS is needed for the project to work.

# Solution Components:

Sensors (finger cots and wrist band):

1. 3-axis accelerometer attached to the wrist band portion of the device to collect translational movement (for mouse cursor tracking)

2. gyroscope attached to 3 finger cots portion to collect angular motion when user bend their fingers in different angles (for different clicking/zoom-in/etc operations)

3. (optional) optical sensors to help with accuracy if the accelerometer is not accurate enough. We could have infrared emitters set up around the screen and optical sensors on the wristband to help pinpoint cursor location.

4. (optional) flex sensors could also be used for finger cots to perform clicks in case the gyroscope proves to be inaccurate.

Power:

Lithium-ion battery with USB charging

Transmitter component:

1. A microcontroller to pre-process the data received from the 4 sensors. It can sort of integrate and synchronize the data before transmitting it.

2. A bluetooth chip that transmits the data to either the blackbox or the PC directly.

Receiver component:

1. Plan A: A box plugged into USB-A on PC. It has a bluetooth chip to receive data from the wristband, and a microcontroller to process the data into USB human interface device signals.

2. Plan B: the wristband is directly connected to the PC and we develop a device driver on the PC to process the data.

# Criterion for Success:

1. Basic Functionalities supported (left click, right click, scroll, cursor movement)

2. Advanced Functionalities supported(zoom in/out, custom operations eg. volume control)

3. Performance (accuracy & response time)

4. Physical qualities (easy to wear, durable, and battery life)