VEX SLAM Rover
oct — dec '25 · MTE 121 · with a partner · C++
Scoped as a Mars exploration rover: drive into an unknown space, look around,
and come back with a map. A distance sensor on a rotating platform takes a 360°
scan, and the readings become a 128×128 occupancy grid drawn live on the VEX
Brain's screen.
Position comes from the motor encoders and an inertial sensor, so the robot
always knows its x and y relative to where it started — without that, a scan
is just a pile of distances with nothing to anchor them to.
I designed the cable-driven telescopic slider that raises the sensor, so it
can scan at two heights and catch obstacles a single sweep would miss.
report
code
photos
RC Airplane
jun — aug '25 · solo · brushless · ESC · LiPo
A plane built out of cardboard around a brushless motor, ESC and LiPo pack,
with all the soldering done by hand.
Getting it to fly was almost entirely a centre-of-gravity problem. Nose-heavy
and it dives; tail-heavy and it stalls out of every turn. I moved the
electronics around inside the fuselage between flights — about 20 of them —
until it flew level and turned without dropping.
Off the Rails
mar — jun '23 · CAD · C++ · laser cutting
A competition robot that had to collect balls, pull itself onto a metal bar,
and traverse it to drop them into a scoring box. 90-second matches, 12 balls,
and it had to start inside a 12-inch cube.
The lift is a four-bar through a two-stage reduction — a 6-tooth gear into a
36, then a 6-tooth sprocket chained to a 12. I added two laser-cut parts of my
own: fingers to pick the balls up and a slider to travel along the bar.
Eight iterations are in the report. The big two: the lift started above 12
inches, fixed by shortening the c-channel from 20 holes to 15; and the shafts
were physically twisting under load, fixed by dropping the reduction from 18:1
to 12:1.
report
photos
Coin Sorter
oct '22 — jan '23 · Fusion 360 · no electronics
Sorts pennies, nickels, quarters and loonies with nothing but geometry: coins
roll down a ramp whose gap widens as it goes, so each one drops through where
the opening first exceeds its diameter. On test day it got 18 pennies, 15
quarters, 10 nickels and 10 loonies dumped in at once.
Almost every problem was flow, not sorting. I narrowed the ramp so coins went
single file, added a beam at the entry sized for one coin, a small drop to
bleed off speed, tape where they stuck, and glue so it stopped walking across
the table. Best run: one jam, under five mis-sorted.
report
photos
RoboRinger
mar — jun '22 · SolidWorks · C++ · fully autonomous
My first real robot. No driver: it had to collect four rings from the corners
of a 3×4 tile field and bring them to the centre, going for whichever ring's
light switched on.
I gave myself a limit of one motor for the collector, which forced it to be
passive — an L-shaped piece with two plates hanging off a shaft. Drive into a
ring and the plates swing up to let it in; back out and they drop and hold it.
The one-ring test surfaced nearly everything: ultrasonic thresholds, touchy
light sensors, rubber bands and bolt tension. The four-ring test found one new
problem — it reversed too far between corners.
report
photos