The self-made brains of a car

As part of UTSM's Prototype Powertrain team, I helped to implement a 22V motor controller unit , enabling a successful technical inspection for the Prototype car at the 2024 and 2025 Shell Eco-Marathon Americas Competitions. In comparison to previous years, the design for this car's motor controller was entirely new. Due to competition regulations, motor control units must be fully self-designed.

Collaborated alongside Andrew Radke and Maya Edie-Maxsom in the Prototype Powertrain team.

Tech Stack:
C++

Layout planning

In the inital planning stages, a previous iteration of the motor controller PCB was used to create a model for how our motor controller would work. The choice to use a PCB was made on the basis that the system needed to be small to fit inside a one-passenger racecar, and because it would be able to supply high power. Using a combination of encoders, drivers, an Arduino microcontroller, and other components, I started work on the motor controller by designing the PCB layout using Altium Designer.

Material Sourcing

A big challenge when planning our PCB design was ensuring that it could actually be ordered (ie. the components were available). When transitioning from the initial layout design to the PCB schematic and planning, we had to translate the generic components (like diodes) to actual part numbers that could be readily sourced. Furthermore, it was important to ensure our design cost much less than the $500 budget provisioned for the Prototype Powertrain divison if we needed multiple design iterations.

Redesign of PCB

As we further progressed with the design of the PCB, we realized that with the high voltage that we were dealing with (as high as 44V at times), the components we were using would not be able to sustain such high voltage. The decision was taken to split the PCB into 2 main sections: one responsible for power conversion (which would handle the high voltage) and the other part which would contain the rest of the components. This would streamline the design process and allow for the isolation of issues during testing.

Iterative Development

Over the 2 years working on the motor controller PCB, significant improvements were made with the design and functionality based on iterative development cycles. In 2025, a new PCB design was used focuing on optimizing the layout and components used in order to improve reliability and debuggability. The new design also focused on improving the efficiency of the motor through software. All motor controllers were controlled by microcontrollers running C++ code that managed the 3 phases of the motor via encoders and drivers.