[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.

Why not simply use a mechanical gearbox? No need to deal with chinese chabuduotronics.
A mechanical gearbox doesnt very motor speed, it varies gear ratio. Apples and oranges buddy.
Damn autocorrect.
very should have been vary.
It’s called a transmission and literally varies the engine speed by using ratios by design. A controller with low speed response issues will perform better with a lower gear ratio and be cooler on the windings to boot.
And don’t call me buddy pal.
Okay slopoke.
If you apply current to a motor without a speed controller (assuming its a motor that can run without a controller) your rotational speed will be relatively constant. If you rely on gearing alone, unless you have a system capable of minute and gradual changes across the entire desired speed range (CVT) you will have a system that jumps uncomfortably from one rotational speed to another.
A speed controller controls speed, gearing controls the drive ratio. Each has its place but in all honesty you can usually get away without the multigear transmission easier and more effectively than you can get away without speed control.
PS unless you post under multiple nicks I never called you buddy dumbass.
Go watch South Park you’ll get the reference, “guy”. It’s a running gag. No insult intended.
The whole point is to not drive a motor wide open and use gearing as a speed control alone, rather, keep a bandwidth the motor is comfortable in and gearing to allow for the torque to effectively be applied for the speed required.
Think a transmission in a motorcycle or a bike.
It is more complicated and would be a bulkier solution which is fair, but it works. In this case the motor has poor slow rpm control and throttle response.
the solution applied was software control. It could have also been hardware.
The reason combustion engines need gearboxes is they are only confortable working in a shallow band, say 700 (starting without load) via 1500 (minimum with load) to 4000 (redlining) rpm.
Some Electric motors, especially brushless DC, are confortable running at near-zero RPM, thus no need for a (mechanical) gearbox, but they do need a competent speed controller.
Other types of electric motors alsohave great torque near zero rpm, but they use different controllers (from just add more power to something like a Ward-Leonard control system) and others, like simple AC motors, don’t like to run in anything but one speed.
Stalling electric motors depends entirely on the details.
A good first approximation of a stalled brushed DC motor is a dead short.
Don’t try to run those at low RPM, the smoke is almost guaranteed to get out.
A brushless motor will stand up better, but no RPM, no cooling, in most cases.
A fixed ratio gear box isn’t heavy or expensive.
Also:
IIVQ What kind of awful POS IC engines are you driving?
Power at 1500, 4k redline?
Terrible tiny diesel with no balls?
Something French?
@JC I’m pretty sure it predates South-Park, even if they made it a thing that is widely known.
I think they had the gag in a very old movie before that, and who knows where they got it from.
And come to think of it, didn’t they have a version of it in the movie ‘platoon’ too? or was it another one of those classic Vietnam movies?
Just adds mechanical complexity and weight.
China chabuduotronics are very cheap. Custom gearbox is rather expensive.
Even with only one motor theise controler suck. I bypassed the current limiting circuit and fan cool one of them than installed a Cycle Analyst V3 and it’s howesome.
EVs do have gearboxes but they are single speed and reductional. I knew the motor had enough slow speed torque to get it going. The problem was the slow speed handling of the ESC itself. There is about an 8:1 reduction on the sprocket drive.
My thought was why we’re the original controllers burning up? Was the power output not a match for the motor? When I installed an extra battery on my ebike and I connected a battery balancer even though I wouldn’t go over 20 amps I would get close enough so I ended up getting a 30 amp just for this reason I don’t want to burn up my balancer.
I have to be honest I have no idea. I used the VESC75100 software to change some parameters and they just stopped working, so it may have been operator error. Second lot blew up while I was driving along so I assume it was a power issue, though I have no evidence to support this.
Akso the vehicle type is quite heavy. It should be less of a problem on a bike or scooter.
I would assume this a nice workaround to the costlier side of a sensored esc and brushless motor setup? I’ve pretty much given up on running any brushless motor sensor less for lower rpm control where torque delivery is paramount.
Not to disparage this one here. But maybe ask the next best farmer, how he modified his machines? Because he certainly did. At least around these parts, German speaking europe. Maybe less so in US, Canada, who knows, because everything’s bigger there.
Nevermind. First read, then comment.
That’s an interesting comment, what did you think you were commenting on?
“ next best farmer”
I’m genuinely curious, next best farmer type solutions to a problem always interest me, but I have no idea what problem you thought you were talking about.
GTF out, FA reader.
We don’t like your kind around these parts!
Now that you have admitted reading the FA you should be banned from commenting on this.
In fact:
HAD feature request.
HAD should block all comments from anybody who’s been on the page long enough to read it.
That would also unfairly eliminate people who just read through the comments looking for someone to troll, though. /s
The timer can know if the story is visible and keep track.
Somewhere on my list: Take Pi Pico, some MOSFETs etc. and bang DC power voltage to the motor windings. As little other stuff as possible. And then repeat it as solar power inverter and more.
It’s using brushless motors, applying DC to the motor would just result in smoke. Building a high power brushless motor controller isn’t a simple matter.
By switching on and off DC with accurate frequency (and amplitude) the AC needed for motor windings is created. Most controllers and inverters do it in such way.
Most, but at high power the difference between square and sine matters.
I don’t think it gets to be called an inverter without trying to make a sine wave…
RC circuit and PWM.
Simple attenuated sawtooth.
As the power goes up, it becomes worthwhile to do a better job.
Gets complicated fast once you start adding braking resistors.
Available off shelf at usual industrial sources.
Very cheap if chinesium and not lots of power.
Big difference between Hobby King ESC, 3d printer controller and Siemens inverter.
This kind of project calls for latter (or Alibaba equivalent), IMHO.
Many params to sort though.
what i found works really really well and doesn’t require all this garbage is get a good pot for throttle control with a LINEAR taper. Yeah most of the chinese garbage uses audio pots for speed control so you get a crappy curve, spend a whopping .89 at mouser or digikey and so far for myself anyway it has solved the issue without all this extra junk.
Definitely not the throttle. I’m using hall effect based sensor and this worked well with VESC clones.
Hell yeah cool stuff.
I am so looking forward to asking you more about this project at EMF camp!