Open-source BLDC motor controller developed by Cornell Electric Vehicles (CEV) for the Shell Eco-marathon Urban Concept competition.
CEV_MCont_V1.1 is the mixed-signal revision of our motor controller architecture. It combines microcontroller-based commutation control with hardware deadtime circuitry, reducing firmware complexity while maintaining precise switching timing.
The power stage and power distribution system are identical to CEV_MCont_V1.0, while the gate-drive control architecture has been redesigned.
This repository is part of a larger framework of motor controllers that explore three approaches to BLDC control:
- Analog implementation
- Firmware implementation (V1.0)
- Mixed-signal implementation (V1.1)
These controllers were designed, built, and validated for the Shell Eco-marathon Americas competition.
- Mixed-signal deadtime generation
- Simplified firmware architecture
- External gate drivers
- High-current three-phase inverter
- RP2040 microcontroller control
- Sensored trapezoidal commutation
- Designed for high-efficiency electric vehicles
The motor controller drives a permanent-magnet synchronous motor (PMSM) using six-step trapezoidal commutation.
Motor position is determined using hall sensors embedded in the motor. The microcontroller determines the commutation state and produces PWM signals that drive the inverter.
Unlike the V1.0 design, deadtime is generated by analog circuitry instead of firmware timing, greatly simplifying the control software.
Throttle Input
│
▼
RP2040 Microcontroller
├─ Speed Control
├─ Trapezoidal Commutation
└─ PWM Generation
│
▼
Mixed-Signal Deadtime Circuit
│
▼
External Gate Drivers
│
▼
3-Phase MOSFET Inverter
│
▼
BLDC Motor
The mixed-signal deadtime circuit ensures that both MOSFETs in a half-bridge can never conduct simultaneously.
In previous revisions, deadtime was generated entirely in firmware using RP2040 PIO timing.
In V1.1, deadtime is implemented using analog logic and passive components, offloading nanosecond timing from the microcontroller.
Advantages of this approach:
- simpler firmware
- deterministic deadtime independent of MCU timing
- reduced risk of shoot-through due to firmware bugs
- easier portability to other microcontrollers
The deadtime circuit delays gate transitions so that the outgoing MOSFET is fully turned off before the complementary device turns on.
The power section is identical to the CEV_MCont_V1.0 design.
Key characteristics:
| Parameter | Value |
|---|---|
| Bus voltage | 48 V nominal |
| Max bus voltage | 60 V |
| Continuous current | ~110 A (with heatsink) |
| Peak current | ~160 A |
Each phase uses a half-bridge MOSFET configuration driven by external gate drivers.
Low-RDS(on) MOSFETs were selected to minimize conduction losses and support high current operation.
The board includes four voltage domains:
| Rail | Purpose |
|---|---|
| VBUS | Motor phase drive |
| 15 V | Gate driver supply |
| 5 V | Hall sensor supply |
| 3.3 V | Microcontroller supply |
The supply system is designed to tolerate failures in the gate drive circuitry without cascading faults into the logic supplies.
The controller uses sensored trapezoidal commutation.
Three hall sensors determine rotor position and select the correct commutation state.
At any time:
- one phase is driven with PWM
- one phase is connected to ground
- one phase is floating
This control strategy is efficient, robust, and well suited for the Eco-marathon drivetrain.
hardware/
schematic/
pcb/
bom/
firmware/
src/
drivers/
docs/
design-decisions.md
power-stage-design.md
bringup.md
This repository is part of a family of motor controller designs:
| Controller | Control Method |
|---|---|
| CEV_MCont_V0.7 | Analog gate driver (DRV8353) |
| CEV_MCont_V1.0 | Firmware deadtime using RP2040 PIO |
| CEV_MCont_V1.1 | Mixed-signal deadtime circuit |
These designs allow teams to explore different tradeoffs between:
- firmware complexity
- hardware complexity
- flexibility
- reliability.
This project is released under the MIT License.
Developed by Cornell Electric Vehicles (CEV) for the Shell Eco-marathon Urban Concept competition.
The goal of open-sourcing these designs is to help other teams build efficient electric drivetrains and accelerate innovation in ultra-efficient vehicles.