Engineering

Firmware & Software

Python

My Python work lives at the boundary between software and physical engineering - building simulation frameworks, optimization algorithms, and analysis tooling that directly inform hardware decisions. I use Python where rapid iteration on mathematical models matters: getting geometry or dynamics right in code before committing to physical changes.

Skill area
Firmware & Software
Capabilities
SimulationNumerical MethodsOptimization AlgorithmsData AnalysisScripting

Suspension geometry simulation framework - Arcimoto MLM

The core Python work on the Arcimoto Mean Lean Machine project was building a generalized suspension geometry simulation framework from scratch. The MLM is a tilting three-wheel EV where the suspension geometry directly governs lean dynamics and tire contact behavior - getting it wrong means the vehicle doesn't handle correctly. No off-the-shelf tool fit the specific kinematic configuration, so I built one.

The framework took suspension hardpoint coordinates as inputs and computed kinematic outputs - camber gain, roll center height, scrub radius, and related parameters - across a full range of suspension travel and lean angles. This let me rapidly evaluate how changing any hardpoint affected the full set of geometric outputs, which is the analysis that drives actual design decisions.

Evolutionary optimization algorithm

Once the simulation framework was established, I implemented an evolutionary optimization algorithm on top of it to search the suspension hardpoint design space automatically. The optimizer ran many generations of candidate geometries, evaluated each against the target kinematic behavior, and converged on hardpoint configurations that hit the design targets - a process that would have taken orders of magnitude longer by hand.

This work directly produced the hardpoint changes that went into the MLM redesign. The before/after data from the physical vehicle confirms that the simulated improvements translated to measured real-world performance changes.

Scripting and hardware-adjacent tooling

Beyond the MLM, I use Python for hardware-adjacent scripting: parsing serial logs from embedded devices, automating test sequences, processing sensor data from field deployments, and building quick analysis scripts during bring-up and debug cycles. Python's combination of fast iteration and good numerical library support (NumPy, SciPy, Matplotlib) makes it the right tool for the engineering analysis layer that sits between raw hardware and higher-level decisions.

Projects where this skill was applied