Project

# Title Team Members TA Documents Sponsor
34 Purrceptron
Meg Naidu
Neel Rajesh
Vinny G Smith
Denghan Xiong
# Purrceptron

Team Members:
- Megna Naidu (megnan2)
- Neel Rajesh (neelrr2)

# Problem

Companionship and consistent, positive interaction have emotional and psychological benefits, which is why emotional support animals are widely used to help with stress, anxiety, and loneliness. However, owning a living emotional support animal isn't practical for many people for reasons like housing restrictions, allergies, financial limitations, travel schedules, and lack of time preventing people from being able to care for a real pet.

Existing "virtual pet" apps and simple robotic toys don't fill this gap well either. Apps lack any physical presence, and most robotic pets on the market either follow scripted, non-adaptive behavior or are expensive assistive-care robots. There is a need for a low-cost, physically interactive companion that can build a responsive, evolving relationship with its user without the practical burdens of a living animal.

# Solution

The proposed solution is a robotic companion pet that senses and responds to physical interaction from its user and its environment, and that maintains an internal emotional/behavioral state which evolves over time based on how it is treated. Rather than a static toy or a purely digital pet, this device combines physical sensing and multimodal feedback (visual, audio, and physical/motion) so that interactions feel tangible and personalized. Positive, frequent interaction should make the pet display happier, more energetic behavior, while neglect over time should shift it toward more subdued or "lonely" behavior", creating a feedback loop that encourages the user to engage with it regularly, similar to caring for a real pet.

At a high level, the system is composed of four subsystems: a Sensing Subsystem that detects user interaction and environmental input, a Control Subsystem (microcontroller + PCB) that processes sensor data and runs the pet's internal state/personality logic, a Feedback Subsystem that expresses the pet's current state through lights, sound, and movement, and a Power Subsystem that allows the device to operate untethered.

# Solution Components

## Sensing Subsystem

This subsystem is responsible for detecting how the user physically interacts with the pet (petting, tapping, holding) as well as ambient conditions (light, sound, motion/handling), which feed into the pet's internal state calculations.

- Capacitive touch sensor — Adafruit MPR121 (12-channel capacitive touch breakout) for detecting petting/touch location and duration
- IMU (accelerometer + gyroscope) — InvenSense MPU-6050 for detecting motion, shaking, being picked up, or being set down
- Electret microphone with amplifier — Adafruit MAX9814 for detecting ambient sound/voice presence (amplitude/duration based, not speech recognition)

## Vision Subsystem

Captures video of the user's face and posture and streams it over WiFi to the host device, where it is used to infer emotional state and body language.

- Camera module with onboard WiFi — AI-Thinker ESP32-CAM (OV2640 2MP camera + ESP32-S), used purely for image capture and WiFi video streaming (MJPEG/HTTP or RTSP stream to host)

## Edge Controller Subsystem

Reads sensor data, drives actuators/feedback, and handles WiFi communication with the host, but does not run the state machine or any perception itself, keeping the onboard compute footprint minimal.

- Microcontroller — Espressif ESP32-WROOM-32 (sufficient GPIO/I2C/I2S for sensors and actuators, built-in WiFi for MQTT communication with host)
- Real-time clock module — DS3231 RTC breakout, to timestamp interaction events accurately even across power loss
- MQTT client (software, runs on ESP32) — publishes sensor events to host, subscribes to feedback commands from host
Custom PCB integrating the microcontroller, sensor interconnects, and power regulation

## Remote Processing Subsystem

Runs on a separate host device with significantly more compute than the onboard MCU, and is responsible for the two most processing-intensive tasks: reading the camera feed for emotion/body-language cues, and maintaining the pet's internal state (mood, energy, attachment) over time. Sends resulting feedback commands back to the Edge Controller over WiFi.

- Host compute device — Raspberry Pi 4 Model B (4GB), running the perception and state-machine software (assumption: a small local host on the same network as the pet; a laptop could substitute during development)
- MQTT broker — Mosquitto, running on the host, mediating all communication between Edge Controller, Vision Subsystem, and Remote Processing software
- Facial expression / body-language inference — OpenCV + a lightweight pretrained facial emotion classification model, combined with MediaPipe Face/Pose landmarks for basic posture cues (leaning in, turning away, etc.); chosen specifically because it runs in real time on Pi-class hardware without needing a GPU or cloud service
- State machine logic (software) — combines sensing events (touch/IMU/audio) and vision-derived emotion/posture signals into the pet's mood/energy/attachment state, and issues feedback commands to the Edge Controller

## Feedback Subsystem

Expresses the pet's internal state back to the user through light, sound, and motion, giving it a readable "personality" in the moment. Driven directly by the Edge Controller based on commands received from the host.

- RGB LED matrix — Adafruit 16x8 or similar (e.g., HT16K33-driven matrix) for simple animated facial expressions/eyes
- Small speaker + audio amplifier — MAX98357A I2S Class-D amplifier driving a 3W 4Ω speaker, for chirps/tones representing emotional states
- Micro servo motors — SG90 (x2–3) for simple physical movement (ear twitch, head tilt, tail wag) to add a physical expressiveness layer beyond lights/sound

## Power Subsystem

Allows the pet to be handled and interacted with freely, untethered from a wall outlet.

- 3.7V LiPo battery, 1200–2000 mAh (capacity to be finalized based on current draw testing, including WiFi/camera streaming load)
- LiPo charging/protection circuit — TP4056 module with battery protection IC
- 3.3V/5V voltage regulation — AMS1117 (or equivalent) to supply regulated power to both onboard microcontrollers and peripherals

# Criterion For Success

- The system must correctly register a touch input from the capacitive sensor and the Vision Subsystem must stream video to the host
- The system must correctly classify at least 3 distinct physical interaction types (e.g., pet, tap, pick-up/shake) with at least 90% accuracy over 30 trials per interaction type.
- The Remote Processing Subsystem must correctly classify at least 3 distinct facial emotion categories (e.g., smiling/positive, neutral, frowning/negative) with at least 80% accuracy against a labeled test set of at least 50 images/frames.
- Round-trip latency from a sensor event on the Edge Controller to a corresponding feedback command being received back from the host must be under 300 ms, measured over at least 20 trials.
- The pet's internal state (mood/energy) must persist correctly across a power cycle, verified by powering off, waiting a set interval, and confirming the state on power-up matches the expected decayed value within a defined tolerance.
- The Feedback Subsystem must produce a visibly/audibly distinguishable output (LED pattern + sound) for at least 3 distinct internal states (e.g., happy, neutral, lonely), confirmed by a blind test where observers can correctly identify the displayed state at least 90% of the time.
- The device must run untethered on battery power for a minimum of 2 continuous hours of intermittent interaction and active video streaming before requiring a recharge.
- The custom PCB must successfully interface with all sensors and output peripherals with no more than a 5% sensor read failure/dropout rate over a 10-minute continuous test.

Modularized Electronic Locker

Jack Davis, Joshua Nolan, Jake Pu

Modularized Electronic Locker

Featured Project

Group Member: Jianhao (Jake) Pu [jpu3], Joshua Nolan [jtnolan2], John (Jack) Davis [johnhd4]

Problem:

Students living off campus without a packaging station are affected by stolen packages all the time. As a result of privacy concerns and inconsistent deployment, public cameras in Champaign and around the world cannot always be relied upon. Therefore, it can be very difficult for victims to gather evidence for a police report. Most of the time, the value of stolen items is small and they are usually compensated by the sellers (Amazon and Apple are very understanding). However, not all deliveries are insured and many people are suffering from stolen food deliveries during the COVID-19 crisis. We need a low-cost solution that can protect deliveries from all vendors.

Solution Overview:

Our solution is similar to Amazon Hub Apartment Locker and Luxer One. Like these services, our product will securely enclose the package until the owners claim the contents inside. The owner of the contents can claim it using a phone number or a unique user identification code generated and managed by a cloud service.

The first difference we want to make from these competitors is cost. According to an article, the cost of a single locker is from $6000 - $20000. We want to minimize such costs so that we can replace the traditional mailbox. We talked to a Chinese manufacturer and got a hardware quote of $3000. We can squeeze this cost if we just design our own control module on ESP32 microcontrollers.

The second difference we want to make is modularity. We will have a sensor module, a control module, a power module and any number of storage units for hardware. We want to make standardized storage units that can be stacked into any configuration, and these storage units can be connected to a control module through a communication bus. The control module houses the hardware to open or close all of the individual lockers. A household can purchase a single locker and a control module just for one family while apartment buildings can stack them into the lockers we see at Amazon Hub. I think the hardware connection will be a challenge but it will be very effective at lowering the cost once we can massively manufacture these unit lockers.

Solution Components:

Storage Unit

Basic units that provide a locker feature. Each storage unit will have a cheap microcontroller to work as a slave on the communication bus and control its electronic lock (12V 36W). It has four connectors on top, bottom, left, and right sides for stackable configuration.

Control Unit

Should have the same dimension as one of the storage units so that it could be stacked with them. Houses ESP32 microcontroller to run control logics on all storage units and uses the built-in WiFi to upload data to a cloud server. If sensor units are detected, it should activate more security features accordingly.

Power Unit

Power from the wall or from a backup battery power supply and the associated controls to deliver power to the system. Able to sustain high current in a short time (36W for each electronic lock). It should also have protection against overvoltage and overcurrent.

Sensor Modules

Sensors such as cameras, motion sensors, and gyroscopes will parlay any scandalous activities to the control unit and will be able to capture a photo to report to authorities. Sensors will also have modularity for increased security capabilities.

Cloud Support

Runs a database that keeps user identification information and the security images. Pushes notification to end-users.

Criterion for Success:

Deliverers (Fedex, Amazon, Uber Eats, etc.) are able to open the locker using a touchscreen and a use- provided code to place their package inside. Once the package is inside of the locker, a message will be sent to the locker owner that their delivery has arrived. Locker owners are able to open the locker using a touchscreen interface. Owners are also able to change the passcode at any time for security reasons. The locker must be difficult to break into and offer theft protection after multiple incorrect password attempts.

Project Videos