Project

# Title Team Members TA Documents Sponsor
23 Robot Desk Lamp with User Interaction
Chris Shan
Qianyu LI
Yiming Niu
Wesley Pang design_document1.pdf
proposal1.pdf
**Project Title:**
Robot Desk Lamp with User Interaction


**Team Members:**

Chris Shan(chriss4)

Yiming Niu(yimingn4)

Qianyu Li (qianyul4)


**PROBLEM**

In everyday work or study, people frequently need to adjust the direction of a desk lamp's light depending on the task at hand, but traditional desk lamps are either completely fixed or require both hands to physically bend the lamp arm to change direction -- which is inconvenient when one hand is already occupied with something else. We want to build a robotic desk lamp that can automatically reposition its light direction, allowing the user to precisely aim the light at a desired area on the desk using only a single hand.

**SOLUTION**

We will design and build a 3-4 degree-of-freedom (3-4 DOF) articulated robotic desk lamp, running on a custom ESP32-S3 PCB. The lamp's mechanical structure includes three base joints - base rotation, upper arm, and lamp head tilt - with a possible fourth joint (a forearm/elbow) added depending on mechanism tuning, to expand the reachable workspace.
To address the core need of single-hand lighting adjustment, we plan to evaluate three candidate human-machine interaction schemes - ToF distance sensing, camera-based visual tracking, and a phone-based BLE remote - and select one as the primary interaction method after preliminary feasibility testing. Once the interaction module provides a target direction, the system computes inverse kinematics (IK) based on current joint angles, drives the servos into position, and continuously corrects based on the interaction module's next reading.

**SOLUTION COMPONENTS**

- SUBSYSTEM 1 -- Mechanical Structure & Joint Actuation:
The three base joints (base rotation, upper arm, lamp head tilt) are servo-driven, with a reserved interface for a fourth joint (forearm). All servos receive PWM timing from a shared I2C multi-channel PWM driver chip, offloading this from the MCU. Servo power is supplied independently from the logic rail to prevent high-current draw from causing resets on the ESP32-S3.

Parts: 3–4× digital servos (e.g., DS3218MG) / I2C PWM driver module / 3D-printed structural components and bearings / independent high-current servo power supply (barrel jack + external adapter, sized for ~8–12A peak at 4 servos)

- SUBSYSTEM 2 -- Human-Machine Interaction & Closed-Loop Tracking Control:
This subsystem converts the user's single-hand interaction into a target orientation for the lamp head. As the baseline control method, the robot will estimate the position of the user's finger or hand relative to the lamp and use the perceived distance and position to determine where the lamp should point. The lamp will continuously adjust its orientation so that its facing direction tracks the user's indicated target location.

As an additional control feature, specific hand gestures may also be assigned to directly adjust the polar and azimuthal angles of the lamp's facing vector. The table surface is defined as the xy-plane, with the z-axis perpendicular to the table. These gesture-based angle adjustments would allow the user to fine-tune the lamp's vertical tilt and horizontal direction beyond the baseline position-based tracking method. The exact gesture mapping may be refined during preliminary testing.

The system then operates as a continuously running closed loop: the interaction module provides the target direction -> the system computes IK based on current joint angles to get target joint angles -> the servos move -> the interaction module provides the next reading, and the error is recomputed and corrected until the lamp head stabilizes on target.

Parts: (candidate) VL53L5CX multi-zone ToF sensor ×1-2 (8×8 zone array, needed for angular resolution — single-zone ToF such as VL53L0X/L1X cannot resolve direction) / (candidate) OV2640 or OV3660 camera module + custom-trained single-class lightweight YOLO model / 8MB PSRAM for frame buffering and model weights / phone-based BLE joystick control interface

- SUBSYSTEM 3 -- Control PCB & Power Management:
The custom PCB integrates the ESP32-S3, power management, and wireless communication, with independent 3.3V logic and 5V high-current servo rails to prevent cross-interference or brownout resets. The board reserves an I2C bus (shared by the PCA9685, ToF sensor, and optional camera module) and a programming/debug header.

Parts: custom PCB (ESP32-S3-WROOM-1 + power management ICs + I2C bus routing) / 5V->3.3V switching (buck) regulator -- sized for logic-rail current, not a linear regulator given the current levels involved / USB-C connector for logic-rail power only / programming/debug header

**CRITERION FOR SUCCESS**

- Joint coordination: 3-4 joints move together within their rated angular ranges, allowing the light spot to continuously cover the defined desk workspace
- Gesture recognition success rate: under defined test conditions, the interaction module correctly identifies the target direction/position at least 80% of the time
- Power management under load: the system delivers light output at a specified wattage while the servo motion system is simultaneously active, without brownout, overheating, or MCU reset
- Closed-loop correction success rate: given the interaction module's directional feedback, the system successfully corrects the lamp head to the target orientation at least 80% of the time

Remotely Controlled Self-balancing Mini Bike

Will Chen, Eric Tang, Jiaming Xu

Featured Project

# Remotely Controlled Self-balancing Mini Bike

Team Members:

- Will Chen hongyuc5

- Jiaming Xu jx30

- Eric Tang leweit2

# Problem

Bike Share and scooter share have become more popular all over the world these years. This mode of travel is gradually gaining recognition and support. Champaign also has a company that provides this service called Veo. Short-distance traveling with shared bikes between school buildings and bus stops is convenient. However, since they will be randomly parked around the entire city when we need to use them, we often need to look for where the bike is parked and walk to the bike's location. Some of the potential solutions are not ideal, for example: collecting and redistributing all of the bikes once in a while is going to be costly and inefficient; using enough bikes to saturate the region is also very cost inefficient.

# Solution

We think the best way to solve the above problem is to create a self-balancing and moving bike, which users can call bikes to self-drive to their location. To make this solution possible we first need to design a bike that can self-balance. After that, we will add a remote control feature to control the bike movement. Considering the possibilities for demonstration are complicated for a real bike, we will design a scaled-down mini bicycle to apply our self-balancing and remote control functions.

# Solution Components

## Subsystem 1: Self-balancing part

The self-balancing subsystem is the most important component of this project: it will use one reaction wheel with a Brushless DC motor to balance the bike based on reading from the accelerometer.

MPU-6050 Accelerometer gyroscope sensor: it will measure the velocity, acceleration, orientation, and displacement of the object it attaches to, and, with this information, we could implement the corresponding control algorithm on the reaction wheel to balance the bike.

Brushless DC motor: it will be used to rotate the reaction wheel. BLDC motors tend to have better efficiency and speed control than other motors.

Reaction wheel: we will design the reaction wheel by ourselves in Solidworks, and ask the ECE machine shop to help us machine the metal part.

Battery: it will be used to power the BLDC motor for the reaction wheel, the stepper motor for steering, and another BLDC motor for movement. We are considering using an 11.1 Volt LiPo battery.

Processor: we will use STM32F103C8T6 as the brain for this project to complete the application of control algorithms and the coordination between various subsystems.

## Subsystem 2: Bike movement, steering, and remote control

This subsystem will accomplish bike movement and steering with remote control.

Servo motor for movement: it will be used to rotate one of the wheels to achieve bike movement. Servo motors tend to have better efficiency and speed control than other motors.

Stepper motor for steering: in general, stepper motors have better precision and provide higher torque at low speeds than other motors, which makes them perfect for steering the handlebar.

ESP32 2.4GHz Dual-Core WiFi Bluetooth Processor: it has both WiFi and Bluetooth connectivity so it could be used for receiving messages from remote controllers such as Xbox controllers or mobile phones.

## Subsystem 3: Bike structure design

We plan to design the bike frame structure with Solidworks and have it printed out with a 3D printer. At least one of our team members has previous experience in Solidworks and 3D printing, and we have access to a 3D printer.

3D Printed parts: we plan to use PETG material to print all the bike structure parts. PETG is known to be stronger, more durable, and more heat resistant than PLA.

PCB: The PCB will contain several parts mentioned above such as ESP32, MPU6050, STM32, motor driver chips, and other electronic components

## Bonus Subsystem4: Collision check and obstacle avoidance

To detect the obstacles, we are considering using ultrasonic sensors HC-SR04

or cameras such as the OV7725 Camera function with stm32 with an obstacle detection algorithm. Based on the messages received from these sensors, the bicycle could turn left or right to avoid.

# Criterion For Success

The bike could be self-balanced.

The bike could recover from small external disturbances and maintain self-balancing.

The bike movement and steering could be remotely controlled by the user.

Project Videos