I wanted an ESC I actually understood — not a black box. So I designed my own: a three‑phase MOSFET bridge with careful high‑current traces, accurate shunt sensing, and a telemetry header to speak directly to my STM32F405RGT6 flight controller. Building it was a lesson in respecting power.
image.png
Early prototypes overheated and blew fuses; motors made the current sense line sing with noise; and timing mismatches produced twitchy spins and a couple of scary bench runs. Each failure taught something: move the power paths closer, add vias and bulk capacitance, rethink gate drive layout, and treat the shunt like a delicate instrument — shield it, filter it, sample it at the right moment.
On the firmware side, getting deterministic motor commutation and low‑latency DShot felt like tuning an instrument. I wrote calibration routines for shunt scaling and pole detection, added soft‑start and over‑current cutouts, and watched the ESC go from jittery to buttery smooth. A few flyaways and unsynchronized motor incidents pushed me to harden arm/disarm logic and telemetry reporting — safety first.
You can view the detailed settings in betaflight by following this link - betaflight-firmware
Now the ESC is the partner the flight controller deserves: predictable, transparent, and tunable. It gave me the control I wanted for advanced timing tweaks and opened the door to future FOC and CAN telemetry. The repo contains the high‑current layout review, schematics and notes — if you build one, expect to iterate, learn, and come away with something that really flies.