FRC Team 2489 Competition Robot
Mechanical & CAD team lead. I designed the robot's A-frame reinforcements, intake funnel, belly pan, and sensor mount, and co-redesigned a failing elevator drive.

- What it is
- A competition robot for the FIRST Robotics Competition (FRC), a high school league where teams design, build, and program robots for a new game each year.
- My role
- Mechanical & CAD Team Lead. My own designs: the A-frame reinforcements, the intake funnel, the wooden belly pan, the IR sensor that detects when a game piece is in position in the shooter, and the polycarbonate plates that protect the electronics. Shared 50/50 with a teammate: the elevator drive redesign, the elevator modifications, and electronics layout. I also led fabrication.
- Tools
- Fusion 360, Aluminum cutting, CNC routing: wood first, then polycarbonate, Drill press, Band saw, Table saw, Drill, Ratchet, Multimeter, Scoring tools, Center punch, Set square, Crimper (electronics)
- Timeframe
- 2024–2025 season
01 The problem
The 2025 FRC game, REEFSCAPE, asked robots to pick up coral (4-inch PVC pipes) and place it on a reef with four scoring levels, where higher levels score more. Robots also had to knock algae (16-inch rubber balls) off the reef and score it in the processor or the net. Each match starts with 15 seconds of autonomous driving, then 2 minutes 15 seconds of driver control, and ends with robots climbing cages on the barge. Our robot was built to be an efficient back-and-forth scoring machine: it scored coral on levels 2, 3, and 4, including an autonomous level 4 score during the autonomous period. It wasn't built to handle algae or to climb. We designed around a minimal budget, since after registration fees we had little funding and few sponsors, and we were a very small team.
02 Design
I designed five parts of the robot on my own in Fusion 360: the A-frame reinforcements, the intake funnel, the wooden belly pan, the IR sensor that tells the robot when a game piece is in position in the shooter, and the polycarbonate plates that protect the electronics. I split the elevator drive redesign, the elevator modifications, and the electronics layout 50/50 with a teammate. Those are marked Shared design, parts I didn’t design are marked Team design, and vendor parts like motors are marked Off-the-shelf.
The A-frame came from a problem: the elevator was only bolted at its base, so its top swayed whenever it started or stopped quickly. The intake funnel bolts onto the A-frame so it comes off for servicing, and it feeds coral straight into the shooter. An infrared beam-break sensor on top of the shooter makes intake automatic: the coral slides in, the shooter pulls it forward, and it stops in the right spot the moment it breaks the beam.
Full robot





Drag to rotate, pinch or scroll to zoom. On a phone, “View in your space” shows it in AR.
- A-frame reinforcements The elevator was only bolted to an aluminum piece at its very bottom. When it started and stopped quickly, the top swayed, stressing that joint and throwing its mass around. The A-frame supports the elevator and adds rigidity to the chassis, so we could move the elevator freely while the robot was driving.
- Intake funnel Takes coral from the human player and slides it forward into the shooter's spinning silicone wheels, which grab it and pull it in. It bolts onto the A-frame, so it comes off easily for servicing.
- Belly pan The floor panel holding the battery, robot control electronics, CAN bus, the elevator's limit switch, and the Limelight camera electronics. Wood because it was available and easy to mount things to and rearrange.
- IR game-piece sensor An infrared beam-break sensor on top of the shooter. It reads 0 until coral breaks the beam, then the shooter stops pulling the coral in. The robot manages intake on its own, so the drivers don't have to judge how far forward the coral goes.
- Electronics guards A polycarbonate sheet over the electronics. The game had flying and falling PVC game pieces, and this keeps them from dropping into the belly pan and damaging the electronics.
- Electronics layout (Shared design)Laid out by the wire length each part needed: robot control next to the elevator drive, the battery on the other side, the radio on the frame, and a plastic energy chain carrying wiring up the elevator to the shooter motors and IR sensor.
- Elevator drive (Shared design)The original drive ran motor → chain → chain → elevator, and the chain kept skipping sprocket teeth under carriage load. A teammate and I replaced it with motor → gearbox → elevator, which stopped the failures and let us run the motor at 4.5× the output.
- Elevator (Shared design)Lifts the carriage that holds the shooter: a chain turns an axle that pulls the pulleys and raises the whole assembly. We changed how it's driven (see Elevator drive).
- Shooter (Team design)Pulls in the coral, holds it while the elevator rises, then shoots it onto the reef.
The 3D view couldn’t load here. These images show the same design.










03 The numbers
| Quantity | Value | How I got it |
|---|---|---|
| Elevator motor output, chain drive vs. gear drive | 4.5× | The motor output setting (0 = off, 1 = full power) went from 0.2 with the chain drive to 0.9 with the gear drive: 0.9 ÷ 0.2 = 4.5. These are the commanded output settings, not measured speeds. 0.2 was our testing speed, and the chain skipped even there, so we never ran it faster. |
| Coral scored per match, chain drive vs. gear drive | 1 → 13–20 | At 0.2 with the chain drive, we were lucky to score a single L2 coral in a whole match. At 0.9 with the gear drive, we reliably scored 3–5 on L4 and 5–7 on L3, and often 5–8 on L2: 13–20 coral per match. |
04 Build





05 What failed and what I changed
The first elevator drive ran motor → chain → chain → elevator. Under carriage load, the chain skipped teeth on the sprockets, even at our 0.2 testing speed. The skipping wore teeth off the sprockets, and the sudden catches twisted steel drive axles. The elevator would jump up an inch, then fall back down an inch.
The chain also went slack, because we couldn't fit the exact number of chain links for the distance. We tried to build a spring chain tensioner like the ones in car engines, but there wasn't room for a spring strong enough.
A teammate and I split the redesign 50/50 and replaced the chain with a gearbox: motor → gearbox → elevator. That eliminated the skipping and let us raise the motor output from 0.2 to 0.9 of full power, 4.5× higher. In matches, that took us from being lucky to score one L2 coral per game to reliably scoring 3–5 on L4 and 5–7 on L3, and often 5–8 on L2.

The original chain drive. Skipping wore teeth off the sprockets, and the sudden catches twisted steel axles. 
The gear drive that replaced it. (Shared design)
06 Result
We placed 5th of 48 teams at the 2025 Contra Costa Regional.
