Matthew Choy

01 · projects

Previous Projects

Robots and mechanisms I've built since 2022. Most have a full engineering report linked if you want the details. The CNC machine I'm building now is on the home page.

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.

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.

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.

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.

Keep Going