Autonomous Duster — Arduino UNO
NUSH Hackathon 2023 · electronics · hardware
Back for round two
This was my second year at the NUSH Hackathon, and I came back with one goal: build something nobody else in the room would think of. Every team got an Arduino UNO, some cardboard, and the same small kit of parts: wheels, LEDs, sensors and motors. This year’s theme was “Automate a Daily Task”.
I picked dusting. I hate dusting! The robot had to:
- drive up to a shelf while avoiding obstacles
- bring the duster to the right height
- sweep left and right
The problem: moving up and down
To dust a shelf, the duster has to go up and down. But nothing in the kit was built for vertical motion: no linear actuator, no lead screw, no rack and pinion. We only had two kinds of motors: the SG90 micro servo, small and precise, and the TT gear motor, a DC motor made for driving wheels.
A pulley system came to mind pretty naturally, but building it was not smooth sailing! I used two wheels as the winch, each winding a coil of fishing line. On the other end I fixed a pencil, so the line could run over it with minimal friction. The front lines go down through a platform that later holds the paper duster. To keep the back lines out of the way, I threaded them through two straws.
Each wheel is about 6.5 cm in diameter, so one full turn winds in about π × 6.5 ≈ 20.4 cm of line.
Nobody else in the room was using the wheels this way, and this pulley is the part of the project I’m proudest of.
Getting the tension right
Coming up with the idea was one thing. Making it work was another, and it took most of the night. The line had to be tight enough not to slip or go slack on the wheel, but loose enough to wind and unwind smoothly. The duster platform had to hang level and stay attached the whole way up and down. My teammate and I stayed up through the night building the hardware and writing the code, and we went through a lot of tape and a lot of snacks.
Two degrees of freedom
With up and down solved, the servo took care of sweeping. It’s precise, which made it the right motor for swinging the duster left and right across the shelf. Together, the pulley and the servo gave the duster two degrees of freedom: up and down to reach the shelf, side to side to clean it.
The base holds everything else: two drive wheels, ultrasonic sensors at the front, the Arduino UNO, a motor driver, and an 18650 battery pack taped to the side. Even for a hackathon, I took pride in hiding the electronics.
The code
Compared with the hardware, the code was the easy part. The ultrasonic sensors let the robot read its surroundings, and the program runs through the task in order: avoid obstacles, work out the shelf height, move the duster to that height, then sweep.
What I took away
This was one of my favorite projects to work on. It taught me to see parts for what they can do, not just what their labels say. A wheel’s real job is grip, and grip is exactly what a winch needs. Every team had the same kit; we just looked at it differently. That little cardboard prototype still has a dear place in my heart.