[Tony Goacher] has worked with a lot of cheap brushless DC motor controllers built in China. They can be very cost-effective, but sometimes limited in performance or capability, particularly when it comes to low-speed operation. Thus, he’s been working on a project to make cheap controllers more capable.
The prime problems [Tony] has faced are jerkiness, throttle deadspots, and inconsistent torque delivery at low speeds. This is especially the case when running brushless motors on heavier vehicles, where the greater inertia can compound any minor problems to the point things become undriveable. [Tony]’s solution has been to create a signal interceptor that lives in between a throttle and the cheap motor controller to change their overall behavior.
The demo vehicle for this build is TrakTrike, a sort of bicycle-half-track hybrid that [Tony] built for EMF Camp 2022. After blowing up some nicer controllers, [Tony] specced some cheaper parts from AliExpress. Only, the low-speed control was terrible, and the dual motor controllers didn’t respond identically to throttle and would cause the vehicle to steer or crab, making driving difficult. This was fixed by dropping in an Arduino Nano after the throttle, and before the two motor controllers. It allows calibrating the throttle output from the Arduino to eliminate dead spots, while also tuning the throttle output to left and right motors individually so they respond more similarly. There are also custom acceleration and deceleration curves that make the controllers respond more smoothly, and a precise crawling speed for consistent low-speed maneuvering.
Just by doing some fancy throttle smoothing and control, [Tony] was able to greatly improve the usability of these cheap controllers, for the price of an Arduino Nano and little more. Files are on GitHub for those eager to attempt the hack themselves. There are other ways to go about this of course, like diving into field-oriented control, if you’re so inclined. Alternatively, speculate on how you’d tackle this engineering challenge down in the comments.







