CarsonChiumento

Engineering Portfolio

RoleDynamometer &
validation lead
TimelineDec 2025 – Present
WhereGainesville, FL
ToolsANSYS
MATLAB
SolidWorks
StatusIn design & build

Regenerative dynamometer for in-hub motor testing

Gator Motorsports — University of Florida

SolidWorks render of the dynamometer: two in-hub motor assemblies mounted back-to-back on triangular pedestal brackets bolted to a baseplate, joined by two couplings with an in-line torque transducer between them.

The stand the rest of this work sizes. Facing two in-hub motors back-to-back through one transducer lets the rig load a motor with another motor rather than a brake, which is what makes it regenerative.

SolidWorks design study on the adapter plate: the triangular plate with its cylindrical boss above a results table of 35 scenarios sweeping outside diameter and base thickness, with scenario 30 marked optimal in green.

The plate moved from aluminium to steel for a better balance of stiffness against inertia. This study then settled the two dimensions that choice leaves open: outside diameter and base thickness. Displacement, not mass, was the binding constraint.

ANSYS static structural result on the adapter plate: the meshed triangular plate and cylindrical boss contoured by equivalent von Mises stress, with a legend running from 51.5 MPa down to near zero.

Verification rather than exploration. With the dimensions settled, this confirmed the plate carries the 500 N·m load case to a 2× safety factor before anything was cut.

% --- System equivalent stiffness (series) ---
inv_k = (1/k_a1) + (1/k_c1) + (1/k_t) + (1/k_c2) + (1/k_a2);
k_sys = 1 / inv_k;

% --- System total inertia (sum) ---
j_sys = j_a1 + j_c1 + j_t + j_c2 + j_a2;

% --- Natural Frequency (Hz) ---
fn = (1 / (2*pi)) * sqrt(k_sys / j_sys);

The leading seven of the ranked builds. Each is symmetric, so the adapter and coupling columns stand for a matched pair: adapter · coupling · transducer · coupling · adapter.

#AdapterCouplingTransducerk (N·m/rad)J (kg·m²)fn (Hz)
13 Hole, 0.240, 4140 HTHBK_MBC_1000HBK_T22_500 (0.3)1040330.00761588.26
26 Hole, 0.350, 6061T6RW_BK1_500HBK_T110_500 (0.03)1248970.01330487.72
33 Hole, 0.240, 4140 HTRW_LP1S_500HBK_T22_500 (0.3)745990.00813481.96
46 Hole, 0.350, 6061T6RW_BK1_500HBK_T40B_500 (0.05)1219600.01340480.15
56 Hole, 0.350, 6061T6RW_BK1_500HBK_T40Lite_500 (0.08)1219600.01340480.15
66 Hole, 0.350, 6061T6RW_BK1_500HBK_T12HP_500 (0.02)1148240.01450447.87
73 Hole, 0.240, 4140 HTRW_LP1S_700HBK_T22_500 (0.3)950790.01213445.50

Stiffness and inertia anywhere in the driveline contaminate the transient torque reading, so components could not be chosen one at a time. Ranking whole builds on first natural frequency folds both into a single number. That is why rank 2 loses despite being 20% stiffer than rank 1: it carries 75% more inertia. Pushing that first mode high enough is what lets the rig run dynamic tests at all.

RoleMechatronics
engineering intern
TimelineMay 2026 – Present
WhereDaytona Beach, FL
ToolsSolidWorks
StatusBuilt into hardware

Aerial & ground platform redesign

Docking Robotics

SolidWorks render of the redesigned drone motor arm: an olive-coloured arm with rows of lightening slots along its web and a triangulated truss at the root, bolted through a grey plate to a red baseplate.

Longer arms carry the props further from the centre of mass for stability, and raising them stops the camera module blocking lift while giving it the clearance it needs. The arms are 3D printed, so infill and cutout pattern were tuned together for strength-to-weight.

SolidWorks render of the articulating landing cradle: a circular landing platform carried on a scissor linkage above a yellow deck plate, driven by an actuator, mounted to base brackets on rails.

The cradle that lets the aerial platform dock with the ground platform.

RoleIn-hub motor
design engineer
TimelineJan 2025 – Present
WhereGainesville, FL
ToolsSiemens NX
MATLAB
SolidWorks
StatusReleased for FEA

Parametric modeling of the in-hub gear set

Gator Motorsports — University of Florida

Siemens NX Part Navigator showing the User Expressions list that drives a parametric gear profile, with module, tooth number and pressure angle as inputs, beside the generated tooth geometry in the viewport.

The tooth counts were still moving while the set was being sized, and a gear redrawn by hand every time they change is a gear drawn wrong eventually. Inputs hold numbers, every other row is a formula referencing them, so a new set gets typed in rather than modelled again.

for z3 = max_z3-40:1:max_z3 %search for ring gears that are right near the max it can be

    if z3>135 %Don't let ring gear get too big for interpolation tables
        continue
    end

    for z1 = 12:1:20 %search for sun gears right near minimum
        ⋮
        %check if hunting ratio, nice to have
        gcd_mesh1 = gcd(z2,z1) == 1;
        gcd_mesh2 = gcd(z3,z2p) == 1;
        hunting_ratio = gcd_mesh1 && gcd_mesh2;

What fed those numbers. The search itself was not mine. It was already sweeping every gear combination against AGMA bending and contact limits, but slowly enough to be awkward to iterate on. Feasible sets only ever land where the ring gear is near its package limit and the sun near its minimum, so the sweep was bounded to that corner rather than the whole space. The hunting-ratio check went in alongside it: coprime meshes let every tooth eventually meet every other, so wear spreads instead of repeating the same pairings.

RoleSole designer
TimelineMarch 2026
WhereGainesville, FL
ToolsArduino IDE
StatusValidated in test

Autonomous abort sequencing — a five-state fail-safe controller

University of Florida

The Arduino test bench: a breadboard carrying status LEDs, a buzzer, a potentiometer, an IR receiver and a joystick, wired to an Arduino board, with a micro servo, a DC fan, an IR remote and a stepper motor with its driver arranged around it.

Built as the end-of-term project for an electrical engineering class. A five-state machine, exercised on this bench by injecting the lost-link, thermal and geofence faults it exists to catch, with all eight subsystems logged.