← All projectsResume (PDF)

Robotics · Completed

The Deskinator

An autonomous desk-cleaning robot that our four-person team improved through mechanical, electrical, and firmware testing.

Boston University · EK210 · Team of four · Fall 2025

Role
Firmware and integration contributor
Contribution
Navigation firmware, system assembly, and mechanical and electrical troubleshooting.
Evidence
Documented suction trial: 72 of 95 rice grains collected
Final Deskinator assembly drawing with front, side, section, and isometric views
Final assembly drawing showing the fan, filter, battery, electronics, and nozzle inside the chassis.Open full-size image

Objective

Our EK210 team set out to build a robot that could clean a 4 ft × 4 ft desk without driving over an edge. I wrote the Arduino C++ firmware for S-curve pathing, IR-triggered edge avoidance, and gesture activation. I also helped assemble the system and troubleshoot the mechanical and electrical subsystems.

The final concept combined two encoder motors, three downward-facing IR sensors, a gesture sensor, a centrifugal blower, a debris filter, and separate power paths for motion and control. The report framed safe movement and thorough cleaning as the two highest-priority objectives, followed by debris collection, compact size, battery life, noise, maintenance, and cost.

Functional flow diagram for the desk-cleaning robot showing energy, debris, and sensor information paths
Functional decomposition from the final report. It separates the movement, vacuum, edge-detection, and completion functions before they converge in the prototype.

Approach

  • Drive: The original motors struggled under the robot’s weight, so we moved to 12 V N20 encoder motors.
  • Vacuum: We replaced the original fan after early pickup tests showed that it could not collect rice reliably.
  • Filter: When a shorter replacement filter was delayed, we built a perforated paper-cup-and-gauze substitute to keep the prototype moving.
  • Nozzle: We narrowed the opening and angled it toward the desk to improve contact with debris.

The motor and fan changes were coupled. The 12 V battery increased the load carried by the drive system, which exposed the original motors’ torque limit. The stronger blower improved pickup but also dominated power consumption. The filter and nozzle changes then addressed the airflow losses between the desk surface and the fan.

Deskinator prototype showing the red vacuum nozzle, wheel, fan, and housing
The completed prototype used for our final presentation and pickup testing.

Firmware and edge response

The firmware waits for a recognized gesture, enables the fan and motor driver, and runs a timed cleaning routine. In the main loop, it reads the left, center, and right edge sensors before issuing the next motion command. A triggered sensor stops both motors before selecting a pivot direction; encoder counts control the turn rather than relying on a fixed delay alone.

Flowchart of the robot firmware from gesture initialization through edge detection, pivot turns, and timed shutdown
Firmware flow from the final submission. The three edge-sensor branches stop the drive before selecting an encoder-controlled pivot.

Test / Results

The report records an early trial with about 24% pickup and a final trial with 72 of 95 rice grains collected, or 76%, after the fan, filter, and nozzle changes. Our team placed in the top four of roughly 20 groups during the class demonstration.

The robot demonstrated edge avoidance and gesture activation, but neither behavior was fully repeatable. A better test plan would use timed runs across several debris patterns and record both pickup percentage and successful edge detections.

The report also records two control limitations. Fast hand swipes were easier for the gesture sensor to miss, and the near/far gestures were less reliable than the directional gestures. Motor commands below roughly 100 stalled the drive, while higher speeds reduced the time available for the edge sensors to stop the chassis. We used a command near 120 as the workable middle ground during testing.

Team wiring diagram connecting Arduino Mega, gesture and IR sensors, motor driver, batteries, and vacuum fan
System wiring diagram for the Arduino Mega, sensors, motor driver, batteries, and vacuum fan.
CAD assembly of the desk-cleaning robot showing the nozzle and fan housing
Team CAD assembly from the final presentation.