Diego
Rodriguez.
Mechanical engineer drawn to physical products that have to work in the place they're used — a teaching otoscope in a vet lab, a rover in the Utah desert, a CO₂ alert in a hibernation cold room. I treat user testing as a design tool, not a checkbox; most of what I ship was shaped by something I learned holding the prototype.
University of Wisconsin–Madison
Open to Minneapolis–Saint Paul
Selected Works — 04 Projects
Veterinary Video Otoscope Housing.
Redesigned a flimsy training prototype into a durable, weighted teaching tool for UW–Madison veterinary labs — approaching the handfeel of the Welch Allyn clinical instrument (≈ 0.87 lb) that students will use in practice. Six production units delivered across four prototype iterations.


- 1Supplemental LED light
- 23D-printed otoscope head
- 3Bebird wireless camera module
- 4Disposable speculum
- 5Supplemental light battery
- 6Machined knurled steel handle
- 7USB-C charging extension w/ rotating insert
- 8Machined threaded end cap
Plastic prototype felt nothing like a clinical otoscope.
Faculty wanted students to feel a real otoscope — weight, grip, balance — while seeing live video. The Welch Allyn reference weighs ~0.87 lb; the existing BME prototype weighed 0.31 lb, with a plastic split-shell housing, no charging access, and a beam-splitter optical path that bulked out the head.
Pivoted to a sourced camera and a stock steel handle.
Replaced the team's first attempt (a custom ESP32 + beam splitter) with the compact Bebird camera. Used knurled steel dumbbell handles — hollowed on the lathe, threads preserved — as the housing. Designed a 3D-printed head and a rotating insert that lets the cable spin while the end cap threads on.
A 1.1 lb knurled instrument shipping in lab.
Four iterations — CAD and bench throughout, with cadaver testing on the near-final build. Six production units at ≈ $180 each. Diameter and length match the Welch Allyn; weight lands 0.23 lb over target — faculty accepted the trade for grip durability. Supplemental LED added after cadaver testing revealed a brightness gap CAD couldn’t.
Use a knurled steel dumbbell handle as the housing base.
Stock parts gave us the clinical grip texture, the weight, and reusable threads — without custom machining the most ergonomically important surface.


A rotating 3D-printed insert that decouples cable from cap.
The charging cable had to pass through the end cap. The end cap had to rotate to thread. Those two facts together would have ruined the cable on every reassembly.



Canine cadaver testing exposed a lighting problem CAD couldn’t.
The Bebird camera’s built-in light was bright enough on a human ear. Inside a real canine ear canal, the geometry blocked ambient light and the image went dark. We added a supplemental LED and battery — with no extra internal space, no obstruction of the camera path, and no compromise to grip diameter.
I selected the LED and a battery that fit alongside the existing charging cable, routed wires around the camera’s field of view, and packaged the additional system without growing the device. The clinical handfeel had to survive.


- 4 prototype iterations — CAD & bench throughout; cadaver on the third
- Handle diameter 30 mm — matches Welch Allyn
- Device weight 1.1 lb — 0.23 lb over the 0.87 lb target; faculty accepted the added grip mass
- Supplemental LED added after cadaver testing
- External charging integrated through the end cap
- 6 production units · 40–50 students per lab
Committing to the stock dumbbell handle locked in the geometry — and the mass. A thinner-walled custom steel sleeve (or a deeper lathe bore) could have hit the 0.87 lb target on the nose; I'd run that study earlier next time, before sourcing the handle stock.
I'd also pull the cadaver test forward by a full iteration. The LED gap we found was the kind of thing only a real ear canal reveals — and we caught it late enough that the supplemental LED had to be packaged into a head that wasn't designed for it.
Wisconsin Robotics Swerve-Drive System.
Designed an integrated tube-and-gearbox connection for the swerve modules on Wisconsin Robotics’ ~50 lb URC competition rover. Eliminated module flex, raised the swerve motor above terrain, and enabled reliable in-place turning. The completed rover placed 12th of 34 teams at the University Rover Challenge.


The tube–gearbox interface was the weakest link.
A clamp-style connection — the obvious first approach — would flex under load and stack up alignment error: the module wobbles, the steering motor sits low enough to take hits on climbs, and in-place turning gets unreliable. The joint had to be stiff enough to survive competition.
Integrate the shaft receiver into the gearbox housing.
Sketched clamp and integrated concepts. Picked the integrated version, modified the CAD, ran EES on the connecting shaft across three materials against a SF > 1.8 target, prototyped in 3D print, and presented the design to the drivetrain team.
6061 aluminum, SF 2.08, 12th at URC.
Installed on every swerve module of the competition rover. In-place turning held. Modules stopped wobbling. The motor stayed clean. The team finished 12th of 34 at the University Rover Challenge.


Build the shaft receiver directly into the gearbox housing.
Replacing the clamp bracket with integrated geometry removed the stack-up that was causing the flex — and simplified the bolt pattern in the process.
Picking the connecting shaft material.
Used EES to evaluate the shaft under combined rover weight, motor torque, impact, and shear loading. Compared three candidate materials against a Von Mises safety-factor criterion (target > 1.8).
| Material | Safety Factor | Decision |
|---|---|---|
| 6061 Aluminum | 2.08 | Selected — met SF target, lowest weight + cost |
| 4130 Steel | 3.45 | Stronger — but heavier, more expensive |
| Titanium | 6.59 | Highest strength — cost-prohibitive |
TargetSF ≥ 1.80
Selected6061 Al · SF 2.08


The redesign did its job at competition — alignment tightened, the modules stopped wobbling, and the rover turned in place — but I largely confirmed that by eye. Next time I'd validate it with numbers: before-and-after wobble or deflection measurements at the module, so the improvement is quantified rather than just observed.
I'd also run FEA on the integrated tube-and-gearbox extension, especially around the bolt holes and the shaft receiver. The EES hand-analysis sized the connecting shaft, but it didn't capture the local stresses where the receiver meets the housing — and I'd want to confirm the simpler geometry didn't trade the clamp's flex for a new stress concentration.
Two-Stage Gear Reducer + ML Optimization.
A 4.5:1 reverted reducer designed by hand to AGMA / Buckingham — then re-evaluated against 2,500 candidates by a Random Forest surrogate I built. Found a feasible variant 12% lighter — at the cost of fatigue-life margin (SF_gear 1.31 → 1.22).





Design a 4.5:1 reducer that meets strength, fatigue, and manufacturing.
Team brief: hit reduction ratio, meet 99.9% reliability, balance reliability against weight and manufacturability, produce ready-to-fab CAD and drawings.
Hand-analyzed shafts and gears. Then automated the sweep.
Sized shafts (EES) and gears (AGMA + Buckingham). Selected 1045 HR steel shafts and AISI 4140 gears. Then converted the EES design into a Python analytical model and trained a Random Forest surrogate to predict performance.
Baseline shipped. Then found 12% lighter still feasible.
Baseline met every spec. Surrogate-driven sweep across 2,500 candidates surfaced a variant at 6.34 kg (vs. 7.19 kg baseline), holding SF_shaft ≥ 1.5 and SF_gear ≥ 1.2.
Hand-analyzed shafts and gears.
Performed shaft force, bending, and torsional analysis in EES; sized minimum shaft diameters from fatigue and stress criteria; sized gears using AGMA and Buckingham; selected materials by strength, fatigue life, and manufacturability; validated the assembly in SolidWorks.
Baseline result. 1045 HR steel shafts (7 / 9 / 10 mm) and AISI 4140 normalized gears (35 mm pinion, 22.5 mm gear face widths). Minimum safety factors of 1.58 (shaft) and 1.31 (gear). Manufacturing-ready CAD and drawings produced.

Sweep the design space, train a surrogate.
Converted the EES design into a Python analytical model, performed an automated sweep across 2,500 candidate reducers, and trained a Random Forest surrogate to predict performance from the five geometric inputs (d_in, d_co, d_out, b_p, b_g) without re-running the full analysis on every candidate.
Result: 12% lighter, still inside spec.
| Design | Mass | SF Shaft | SF Gear |
|---|---|---|---|
| Baseline | 7.19 kg | 1.58 | 1.31 |
| Optimized | 6.34 kg | 1.58 | 1.22 |
The surrogate replaced a per-design analytical evaluation with a near-instant prediction — fast enough to sweep 2,500 candidates in seconds instead of hours. The trade-off is explicit: gear safety factor dropped from 1.31 → 1.22, closer to the 1.20 constraint, so the optimized variant has less fatigue-life margin than the baseline. Both stay inside the spec; the baseline is the safer ship.
Baseline7.19 kg · SF 1.31
Optimized6.34 kg · SF 1.22 · –12%
- Converted EES design → Python analytical model
- Swept 2,500 candidate designs
- Surrogate cut per-design eval ~1000× — enabling the 2,500 sweep
- Found a feasible design 12% lighter
- Held shaft / gear constraints (gear margin tightened)
- Demonstrated ML for engineering design eval
The optimization chased mass and safety factor, but it didn't know what a machinist knows. Next time I'd make it manufacturing-aware — folding in machining tolerances, assembly clearances, and cost so the "optimal" design is one you can actually cut and assemble, not just one that's light on paper.
I'd also treat the Random Forest as what it is: a fast surrogate, not final proof. Before recommending the lighter variant, I'd validate it with an independent check — a direct analytical or FEA pass on the winning design — so the speed of the sweep never gets mistaken for confidence in the result.
CO₂ Alert System for Hibernation Research.
A noninvasive CO₂ monitoring enclosure that alerts researchers when hibernating ground squirrels re-enter interbout euthermia. Delivered under budget, working in cold storage.


Researchers had no way to know when squirrels woke.
Manual monitoring was inefficient — animals were housed remotely in dark, refrigerated habitats. Any sensor system had to be noninvasive and survive the cold without disturbing hibernation.
Acrylic enclosure with a mesh-guarded CO₂ sensor.
Modeled the enclosure, lid, sensor placement, and air pump in SolidWorks. Selected acrylic and the wire mesh guard. Load-tested the mesh under 1 lb (≈ 3× squirrel weight). Wired the Arduino threshold-and-email logic.
9.84 s avg. alert. $149.20 / unit against a $300 budget.
Delivered working prototype to Dr. Sprenger, Dr. Sajdak, and Fauna Bio. Threshold tested at 5,000 ppm across 10 trials. Mesh held its load with no visible stress.
Alert latency averaged 9.84 seconds across 10 trials.
From CO₂ threshold crossing to email-in-inbox — measured under the actual refrigerated condition the system would operate in.


This was my first full client project, and the packaging shows it. I'd give the electronics a dedicated external enclosure — most likely 3D-printed — rather than leaving them on the prototype, and add real protection for the exposed tubing so it holds up to handling in the cold room.
I'd also test more inside the refrigerated habitat instead of approximating it, and rethink the air pump entirely — a quieter, lower-power version, or a passive design with no pump at all, would be gentler on the animals and simpler to maintain. With the engineering I've picked up since, it's a project I'd genuinely like to take another pass at.