// HARDWARE · 2025–2026
ELECTRIC RC CAR.
A 3D-printed BLE-controlled RC car: motor selection from first principles, a buck-converter power architecture and MicroPython fail-safes.
// SPEC
ROLE
Electronics, power architecture and firmware
WITH
4-person team
ORG
Imperial College London
TOOLS
SimScale, ESP32, DRV8833, Fusion 360, MicroPython
SKILLS
Firmware, CFD, Power electronics
// SHOWCASE
DEMO LINK — NOT SET- ▢ MEDIA SLOT 01image or video — add in the owner console
- ▢ MEDIA SLOT 02image or video — add in the owner console
§ 01
CONTEXT
A tight-track racing challenge with a hard constraint: design and build the vehicle ourselves, from chassis to firmware.
§ 02
OBJECTIVES
- 01Hit a target speed with an appropriate drivetrain
- 02Deliver reliable power to motors, servo and microcontroller
- 03Control the car over Bluetooth with safe failure behaviour
- 04Fit a tight-radius track layout
§ 03
PROCESS
4 V 2000 mAh 2S LiPo after rejecting a 9 V alkaline for inadequate current delivery. Power ran through an LM2596 buck converter, giving regulated 5 V to the ESP32 and steering servo while the DRV8833 driver fed the drive motors. I programmed BLE control in MicroPython, translating Bluefruit commands into PWM motor and servo control.
We iterated multiple CAD chassis and body designs, used SimScale CFD to compare body geometries and airflow paths, and researched Ackermann-style steering for the tight track.
§ 04
DECISIONS
◆ DECISION LOG
Regulated 5 V rather than driving the ESP32 from the battery directly; fail-safe firmware behaviour for connection loss, conflicting commands and unexpected errors rather than assuming a clean signal.
§ 05
CHALLENGES
▲ FAILURE / RISK
The car drove successfully in testing but failed during the final challenge. Subsystems had each been validated in isolation — motors, servo, PWM, BLE, power delivery — but full-system reliability testing came too late to catch the interaction failure.
§ 06
OUTCOMES
● RESULT
A working BLE-controlled 3D-printed vehicle, and a very concrete lesson about when integration testing has to start.
§ 07
REFLECTION
✎ NOTE TO SELF
Test the whole system early, even when the whole system is ugly. Component-level confidence is not system-level confidence.