LaxBot: a robotic training partner for lacrosse
Problem: Lacrosse players lacked a robotic training partner that could intelligently aim passes.
Solution: I created LaxBot, a lacrosse training robot powered by computer vision and dual-motor control.
I created LaxBot, the world’s first lacrosse training robot. It’s like a pitching machine or a tennis serving machine, but designed specifically for lacrosse and powered by computer vision algorithms to intelligently aim at the user.
This project showcased my skills in CAD, embedded systems controls, design for manufacture, circuit design, and 3D printing, while also demonstrating my software development abilities through a custom iOS app built in native Swift and a specialized YOLO model trained to detect lacrosse sticks.
The robot was based on a modified standard pitching machine with dual-motor control systems for horizontal and vertical aiming, enabling LaxBot to calculate trajectories and lead moving players with accurate passes.
My project earned the coveted UCSB CNSI Innovation Grant ($3,000), which is typically reserved for graduate students. I also competed in UCSB’s New Venture startup competition, where I learned how to develop a viable business model.
Finally, through this project, I was able to hone my leadership abilities as I directed a team of four mechanical engineers to successfully execute my plans and design specifications.
3D-Printed Strain Wave Drive



Problem: LaxBot needed a low backlash, high torque drive compatible with stepper motors.
Solution: I modified and 3D-printed a strain wave (harmonic) drive for low speed, high torque output.
A fully 3D-printed strain wave drive (brand name harmonic drive) used for low speed, high torque output
from a Nema23 stepper motor. It provides 2 Nm of holding torque at 2A current. The drive has low backlash,
making it ideal for robotics applications.
Printed in PLA and PETG, it was designed for the original LaxBot prototype but was later
scrapped in favor of off-the-shelf components.
LaxBot Modal Analysis


Problem: Excessive vibrations from the pitching machine used for LaxBot caused blurry video feeds and unreliable computer vision detections.
Solution: I performed modal frequency analysis using Fusion to identify vibration modes and inform dampening strategies.
The flywheel-based pitching machine used in LaxBot introduced excessive vibrations, which caused the
live video feed to be blurry. This prevented our computer vision model from reliably detecting users
and objects.
To better inform our vibration dampening decisions, we used Fusion to run a modal frequency analysis.
We utilized a simplified CAD model of our system to improve simulation efficiency, focusing on maintaining
correct weights and materials for each part.
We found that at the mode closest to our operating frequency, 8000 rpm or 133 Hz, the camera experienced
only slight vibrations compared to other parts of the system. However, at certain modes such as 69 Hz,
there was significant vibration in the phone, indicating that our pitching machine should accelerate
quickly past that speed when spinning up to its operating velocity.
LaxBot New Venture Competition


Problem: Developing a viable business model and go-to-market strategy for LaxBot.
Solution: I competed in UCSB's New Venture Competition, where I conducted customer interviews and refined our strategy.
I competed in UCSB's startup competition, the New Venture Competition, with my project LaxBot.
I developed a compelling business model and go-to-market strategy. I interviewed potential customers
to collect data and inform decisions such as ideal pricing and product features. I also met with investors
and mentors in the Santa Barbara community to get feedback on product strategy and business model.
VESC Brushless Drift Cart Conversion

Problem: A broken Razor drift cart needed a reliable brushless motor control system for improved performance.
Solution: I installed a 1000W brushless hub motor with VESC controller and integrated a real-time speedometer using UART.
I modified a drift cart by installing a 1000W brushless hub motor. I rewired the hall sensors in the stator for accurate velocity detection. I used a VESC brushless speed controller to apply proper voltage and current limits based on the Ryobi 40V 4Ah batteries used to power the cart. VESC is an open-source speed controller software tool that allows for easy and reliable tuning of high-power brushless motor systems. Additionally, I used UART to communicate from my VESC to an ESP32 in order to display the cart's speed and current draw in real time.
An Open Source Lego Robotics System
Problem: I needed an easy-to-integrate, cheap, and high torque servo system for my Lego robotics camp, Kev-Bots.
Solution: I developed an open source Lego robotics system based on ESP32 with 3D printed mounts and Bluetooth control.
I created this Lego robotics system for my robotics camp, Kev-Bots. It is based on the ESP32, a
microcontroller with built in WiFi and Bluetooth capabilities. I built all of my code on top of the
Dabble Game Controller ESP32 library from STEMpedia. I used Fusion to 3D model mounting hardware for
generic servos that can be easily found on Amazon. Although these motors may not be the cheapest option,
they were what I had on hand, and they are very plug-and-play with no extra setup needed (in the future,
I plan to model mounts for basic DC motors). I also found models for Lego compatible gears. I 3D printed
all of these components on my Bambu Labs P1S. All of the other components I used can easily be found on
Amazon. They included a USB battery bank to power the ESP32 and a 4 x AA battery bank to power the
servos. I also soldered together connector cables using Dupont jumper wires. The final result is a
system of parts to easily integrate high torque servo motors into Lego projects, which are controlled
by a Bluetooth controller app for iOS and Android. All of the files can be found on my GitHub.
Die Tracking System



Problem: In the social game Die, players throw a die over 40 feet in the air and often can’t tell if it hit the table, making it hard to score.
Solution: I designed a custom PCB smaller than a die that fits in a mold and can be cast in resin, enabling accurate mid-air tracking.
In the social game Die—popular at UCSB—players throw a die over 40 feet into the air and try to land it on a table. It can be difficult to see where the die lands and whether it hits the table, making scoring unreliable. To solve this, I designed a custom PCB smaller than a die that fits inside a standard dice mold. It can be cast in clear resin for added durability and to match the original size and weight. The PCB includes IR LEDs for mid-air tracking with 150 fps PS3eye cameras and uses supercapacitors for up to two minutes of power. I designed the board in KiCad, fabricated it with PCBWay, and implemented tracking software using Python and OpenCV.
To Do: