My Projects

Custom Active Mountain Bike Shock (Current)

I am currently working on building a custom active mountain bike shock.

What started as a simple 3D-printed shock body to test-fit on my mountain bike has sparked into an active, electronically-controlled damping system controlled by a micro neural network. The basic shock design (August 2024) is shown below, along with the 3D-printed part test-fitted to my 2018 Rocky Mountain Altitude A50.

The idea for the active shock is to have an ESP-32 module tied to a NEMA8 stepper motor, which adjusts a damping valve (NEMA8 actuated needle) based on inputs from an IMU along with Bluetooth signals from a pressure sensor (which effectively measures shock compression from the damping oil pressure) – same idea as a lockout valve on a shock, but instead of manual controls, it has active controls based on both hard-coded cases and predictive scenarios derived from shock compression (BLE pressure sensor / module) and position/velocity/acceleration (IMU). Below is a rough sketch of the main components.

Looking forward, while I have some demanding tasks ahead of me before this project is finished (Finalize PCB schematic and design in Altium, CFD for sizing damping oil flow rates, Vibrational Control and Enclosures), I hope to have a working and fully-functional prototype by January 2027.

Rail Hauler & Rail Speeder – MECH 223 Design Course

Working with a team of 6 throughout the span of my MECH 223 Design Course, our team went through various stages of prototyping, simulation, and design to build a successful Rail Hauler capable of carrying 5+ kg with a BOM of <$25.

While speed, carrying capacity, size, weight, # of motors, and # of batteries were all considered in determination of a final score, one of my main contributions was through a script in Python which calculates the expected score of the vehicle based on its predicted parameters.

See the script below for the full python script, later implemented to a MATLAB script that clearly compared expected weighted scores to determine how many motors our team would use in the competition (write-up and graphs shown in the document attached above).

MECH 223 Cost-to-Point Analysis